antithesis-triage

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Antithesis Bug Triage

Antithesis Bug分类处理

Use the
agent-browser
skill to read and triage Antithesis test reports.
使用
agent-browser
技能读取并分类处理Antithesis测试报告。

Gathering user input

收集用户输入

Before starting, collect the following from the user:
  1. Report URL or Tenant ID (required) — A full triage report URL like
    https://TENANT.antithesis.com/...
    or just the tenant name. If neither is provided, ask the user.
  2. What they want to know — Are they investigating a specific failure? Getting a general overview? Comparing runs? This determines which workflow to follow.
开始前,请从用户处收集以下信息:
  1. 报告URL或租户ID(必填)——完整的分类报告URL,例如
    https://TENANT.antithesis.com/...
    ,或仅租户名称。如果两者都未提供,请询问用户。
  2. 用户需求——他们是在调查特定失败情况?还是需要整体概览?或是比较不同运行结果?这将决定采用哪种工作流程。

Reference files

参考文件

Each reference file contains the selectors and query file paths for a specific task. Read the relevant file before performing that task.
PageWhen to read
references/setup-auth.md
Always — read first to set up the browser session
references/run-discovery.md
User wants to find or browse recent runs (no specific URL)
references/run-metadata.md
Need run title, date, or the Explore Logs link
references/properties.md
Checking property pass/fail status, filtering properties
references/environment.md
Checking which Docker images were used
references/findings.md
Viewing behavioral diffs between runs
references/utilization.md
Checking test hours or behavior discovery rate
references/logs.md
Investigating logs for a specific property example
每个参考文件包含特定任务的选择器和查询文件路径。执行任务前请先阅读相关文件。
页面文件阅读时机
references/setup-auth.md
必须优先阅读——用于设置浏览器会话
references/run-discovery.md
用户需要查找或浏览近期运行结果(无特定URL时)
references/run-metadata.md
需要获取运行标题、日期或“浏览日志”链接时
references/properties.md
检查属性的通过/失败状态、筛选属性时
references/environment.md
检查使用了哪些Docker镜像时
references/findings.md
查看不同运行结果间的行为差异时
references/utilization.md
检查测试时长或行为发现率时
references/logs.md
调查特定属性示例的日志时

Query files

查询文件

Reference files contain references to queries. Queries are stored in the assets directory, organized by the page they are relevant to.
Use the following command pattern to evaluate a query file from the skill root:
cat assets/report/run-metadata.js \
  | agent-browser eval --session-name "$SESSION" --stdin
Do not run report queries in parallel with
agent-browser open
, hash-route navigation, or any other command that can replace the page. Wait until the target page is settled before starting
eval
calls. On a single browser session, run report queries sequentially; property scripts mutate tab and expansion state and will interfere with each other if you launch them in parallel.
参考文件包含对查询的引用。查询文件存储在assets目录中,按相关页面分类组织。
使用以下命令格式从技能根目录执行查询文件:
cat assets/report/run-metadata.js \
  | agent-browser eval --session-name "$SESSION" --stdin
请勿将报告查询与
agent-browser open
、哈希路由导航或其他可能替换页面的命令并行运行。请等待目标页面加载完成后再启动
eval
调用。在单个浏览器会话中,请按顺序运行报告查询;属性脚本会修改标签页和展开状态,如果并行运行会互相干扰。

Page Loading Checks

页面加载检查

Each page type has a dedicated
loading-finished.js
query. Use the matching one before running page-specific queries.
Command pattern:
for _ in $(seq 1 60); do
  if [[ "$(
    cat <loading-query-file> \
      | agent-browser eval --session-name "$SESSION" --stdin
  )" == "true" ]]; then
    break
  fi
  sleep 1
done
If the report page still is not ready after about 60 seconds, inspect the current state before retrying:
cat assets/report/loading-status.js \
  | agent-browser eval --session-name "$SESSION" --stdin
Use these loading checks:
  • Report page:
    assets/report/loading-finished.js
  • Logs page:
    assets/logs/loading-finished.js
  • Runs page:
    assets/runs/loading-finished.js
The report-page loading check returns
true
only when the main report sections have finished loading, including findings, properties, environment, and utilization. The report hydrates asynchronously after the browser
load
event, and findings are often the last section to settle.
Report queries are only valid on the main report view. If you navigate to an internal hash route such as
#/run/.../finding/...
, reopen the original report URL and rerun
assets/report/loading-finished.js
before using report queries again.
每种页面类型都有对应的
loading-finished.js
查询。在运行页面特定查询前,请先使用对应的加载检查查询。
命令格式:
for _ in $(seq 1 60); do
  if [[ "$(
    cat <loading-query-file> \
      | agent-browser eval --session-name "$SESSION" --stdin
  )" == "true" ]]; then
    break
  fi
  sleep 1
done
如果报告页面在约60秒后仍未就绪,请先检查当前状态再重试:
cat assets/report/loading-status.js \
  | agent-browser eval --session-name "$SESSION" --stdin
使用以下加载检查:
  • 报告页面:
    assets/report/loading-finished.js
  • 日志页面:
    assets/logs/loading-finished.js
  • 运行结果页面:
    assets/runs/loading-finished.js
报告页面的加载检查仅在主报告区域(包括问题发现、属性、环境和利用率)全部加载完成后才会返回
true
。报告在浏览器
load
事件后异步加载内容,其中问题发现区域通常是最后加载完成的部分。
报告查询仅在主报告视图中有效。如果您导航到内部哈希路由(如
#/run/.../finding/...
),请重新打开原始报告URL并重新运行
assets/report/loading-finished.js
,然后再使用报告查询。

Recommended workflows

推荐工作流程

Quick overview of a run

运行结果快速概览

  1. Read
    references/setup-auth.md
    — authenticate and open the report
  2. Read
    references/run-metadata.md
    — get the run title and date
  3. Read
    references/properties.md
    — use the all-properties query for totals, then failed/passed/unfound queries only if you need filtered subsets
  4. Summarize: total properties, how many passed/failed/unfound, and flag any failures
  1. 阅读
    references/setup-auth.md
    — 完成认证并打开报告
  2. 阅读
    references/run-metadata.md
    — 获取运行标题和日期
  3. 阅读
    references/properties.md
    — 使用全属性查询获取总数,仅在需要筛选子集时使用失败/通过/未找到的查询
  4. 总结:属性总数、通过/失败/未找到的数量,并标记所有失败项

Investigate a failing property

失败属性调查

  1. Read
    references/setup-auth.md
    — authenticate and open the report
  2. Read
    references/properties.md
    — list properties, filter to failed
  3. Read
    references/logs.md
    — expand failed-property example tables, get log URLs, navigate to logs, find the highlighted assertion event and surrounding context
  4. Report the failure with: property name, assertion text, relevant log lines, and the timeline context
  1. 阅读
    references/setup-auth.md
    — 完成认证并打开报告
  2. 阅读
    references/properties.md
    — 列出所有属性,筛选出失败的属性
  3. 阅读
    references/logs.md
    — 展开失败属性示例表格,获取日志URL,导航到日志页面,找到高亮的断言事件及其上下文
  4. 报告失败信息:属性名称、断言文本、相关日志行和时间线上下文

Find a specific run

查找特定运行结果

  1. Read
    references/setup-auth.md
    — authenticate
  2. Read
    references/run-discovery.md
    — browse the runs page to find the target run
  3. Continue with any of the above workflows once on the report
  1. 阅读
    references/setup-auth.md
    — 完成认证
  2. 阅读
    references/run-discovery.md
    — 浏览运行结果页面找到目标运行结果
  3. 进入报告后,可继续执行上述任一工作流程

General guidance

通用指南

  • Always authenticate first. Every session starts with setup-auth.
  • Don't fabricate selectors. The triage report uses custom web components and non-obvious class names. Always consult the resource page for the correct queries.
  • Keep report queries on the main report view. If you click into a finding-focused hash route, reopen the original report URL before using report queries again.
  • Do not overlap navigation with queries.
    agent-browser eval
    calls can fail with an execution-context-destroyed error if the report is still navigating or hydrating.
  • Logs require full auth. The report page may load with just an
    auth
    token in the URL, but navigating to log pages requires a fully authenticated session.
  • Logs use virtual scrolling. Only ~50-70 rows render at a time. You may need to scroll to find specific entries.
  • Present results clearly. When reporting property statuses, use a table or list. When reporting log findings, include the virtual timestamp, source, and log text.
  • 始终先完成认证。每个会话都从setup-auth开始。
  • 不要自行创建选择器。分类报告使用自定义Web组件和不明显的类名。请始终参考资源页面获取正确的查询。
  • 在主报告视图中运行报告查询。如果您点击进入以问题发现为中心的哈希路由,请重新打开原始报告URL后再使用报告查询。
  • 不要同时进行导航和查询。如果报告仍在导航或加载内容,
    agent-browser eval
    调用可能会因执行上下文销毁而失败。
  • 日志需要完整认证。报告页面可能仅通过URL中的
    auth
    令牌加载,但导航到日志页面需要完全认证的会话。
  • 日志使用虚拟滚动。一次仅渲染约50-70行。您可能需要滚动才能找到特定条目。
  • 清晰呈现结果。报告属性状态时,请使用表格或列表。报告日志发现时,请包含虚拟时间戳、来源和日志文本。