review-fix-address-bots

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Review, Fix, and Address Bots

审查、修复与处理机器人

Execute these phases in order. The primary agent alone owns judgment, edits, commands that mutate the workspace, validation, Git, PR changes, and bot replies.
按顺序执行以下阶段。主Agent独自负责判断、编辑、修改工作区的命令、验证、Git操作、PR变更以及机器人回复。

Invariants

不变规则

  • Reviewers are advisory and strictly read-only. They may inspect files, diffs, history, tests, and existing output, but must not modify files or Git/PR state; run tests, builds, package scripts, generators, or arbitrary repository commands; or delegate implementation.
  • Include this boundary in every reviewer prompt: “Operate in read-only mode. You are advisory only. Never modify the workspace or Git/PR state, and never commit or push. Return findings and critique to the primary agent, who makes the final decision.”
  • Preserve unrelated user changes. Never use reset, automatic stashing, broad staging, history rewriting, or checkpoint commits to clear a dirty tree.
  • Logging is observational. If it fails, report the failure and continue the safe workflow; never change code, judgment, Git/PR state, or loop limits for telemetry.
  • Treat
    scripts/review-run-log.mjs
    as an opaque executable. Never read its source during this workflow. Invoke its documented commands and use
    templates
    ,
    --help
    , and the Markdown references; inspect or change its source only when the user explicitly asks to debug or modify the helper.
  • 审查者仅提供建议,且严格处于只读模式。他们可以检查文件、差异、历史记录、测试和现有输出,但不得修改文件或Git/PR状态;不得运行测试、构建、包脚本、生成器或任意仓库命令;也不得委托实现工作。
  • 在每个审查者的提示中都要包含此边界说明:“以只读模式运行。你仅提供建议。绝不要修改工作区或Git/PR状态,也不要提交或推送。将发现的问题和反馈提交给主Agent,由其做出最终决策。”
  • 保留用户的无关变更。绝不要使用重置、自动暂存、大范围暂存、重写历史记录或检查点提交来清理脏工作树。
  • 日志仅用于观测。如果日志记录失败,报告失败并继续执行安全工作流;绝不要为了遥测而更改代码、判断、Git/PR状态或循环限制。
  • scripts/review-run-log.mjs
    视为不透明可执行文件。在此工作流期间绝不要读取其源代码。调用其文档化的命令并使用
    templates
    --help
    和Markdown参考资料;仅当用户明确要求调试或修改该辅助工具时,才检查或更改其源代码。

1. Prepare the integrated target

1. 准备集成目标

  1. Read repository instructions and applicable implementation skills. Record branch, status, target, remotes, upstream, PR state, and the initial dirty-state ownership boundary. Require a named non-target branch before pushing; never rename it or push the default branch without explicit authorization.
  2. Use the user's review prompt. If a requested custom prompt is unavailable, stop for it. Only when none was requested, read references/review-guidelines.md.
  3. Resolve this skill's directory and run
    node <skill-dir>/scripts/review-run-log.mjs templates
    for canonical payloads, then
    start
    with the resolved cohort and limits before review work. Keep its
    logPath
    in
    .context
    ; append material transitions and every reviewer invocation. Read references/run-logging.md only if the helper rejects a record, logging needs extension, or telemetry behavior must be diagnosed.
  4. Inspect committed, staged, unstaged, and relevant untracked changes together. Prefer Conductor's workspace diff; otherwise inspect the merge-base-to-HEAD diff,
    git diff HEAD
    ,
    git status --short
    , and relevant untracked files. Exclude unrelated user work from the implementation.
  5. Resolve the PR's actual base branch and repository remote; without a PR use repository configuration. Fetch that base explicitly, record its ref and SHA, and do not use
    git pull
    . If the fetched SHA is not an ancestor of
    HEAD
    , integrate it before formal review with an explicit merge by default. Rebase only when required or requested, and never rewrite published history without authorization.
  6. Do not let pre-existing staged changes enter a merge commit. If dirty work makes integration unsafe, stop. Resolve conflicts from both branches' intent, surrounding code, and tests; request input for material product, UX, public API, or architecture choices. The integrated tree, conflict resolutions included, is the review target. If integration happens after review starts, invalidate every report and rerun the cohort.
  7. Before the first push, resolve authority to create a PR if none exists and the bot phase requires one. Stop before the remote mutation when authority is absent.
  1. 读取仓库说明和适用的实现技能。记录分支、状态、目标、远程仓库、上游仓库、PR状态以及初始脏状态所有权边界。推送前需要指定非目标分支;未经明确授权,绝不要重命名分支或推送默认分支。
  2. 使用用户提供的审查提示。如果请求的自定义提示不可用,暂停等待该提示。仅当未请求任何自定义提示时,才读取references/review-guidelines.md
  3. 解析此技能的目录,运行
    node <skill-dir>/scripts/review-run-log.mjs templates
    获取标准负载,然后在开始审查工作前,使用解析后的群组和限制条件运行
    start
    命令。将其
    logPath
    保存在
    .context
    中;记录重要状态转换和每次审查者调用。仅当辅助工具拒绝记录、日志需要扩展或必须诊断遥测行为时,才读取references/run-logging.md
  4. 一并检查已提交、已暂存、未暂存以及相关的未跟踪变更。优先使用Conductor的工作区差异;否则检查merge-base到HEAD的差异、
    git diff HEAD
    git status --short
    以及相关未跟踪文件。在实现过程中排除用户的无关工作。
  5. 解析PR的实际基准分支和仓库远程;如果没有PR,则使用仓库配置。显式拉取该基准分支,记录其引用和SHA,不要使用
    git pull
    。如果拉取的SHA不是HEAD的祖先,默认通过显式合并在正式审查前集成该分支。仅在要求或请求时才进行变基,且未经授权绝不要重写已发布的历史记录。
  6. 不要让预先存在的暂存变更进入合并提交。如果脏工作区导致集成不安全,暂停执行。根据两个分支的意图、周边代码和测试解决冲突;对于重要的产品、UX、公共API或架构选择,请求用户输入。集成后的工作树(包括冲突解决方案)即为审查目标。如果在审查开始后才进行集成,需作废所有报告并重新运行审查群组。
  7. 在首次推送前,如果不存在PR且机器人阶段需要创建PR,需确认创建PR的权限。当权限不足时,在远程变更前暂停执行。

Reviewer sessions

审查者会话

Use the reviewer count, model mix, and reasoning levels explicitly requested by the user. Otherwise use this default cohort for every initial and remediation pass:
Reviewer IDModelReasoning
sol-1
gpt-5.6-sol
high
terra-1
gpt-5.6-terra
xhigh
luna-1
gpt-5.6-luna
max
luna-2
gpt-5.6-luna
xhigh
luna-3
gpt-5.6-luna
xhigh
For a count from one through five, use that order. For another explicit mix, assign stable IDs from model tier plus one-based ordinal. Ask for a mix when a count above five is otherwise underspecified. Normalize task names from
sol-1
to
sol_1
for deterministic discovery. Keep the raw review prompt, target fingerprint, role boundary, and service tier identical across the cohort; use each reviewer's assigned reasoning level. Queue over concurrency limits without editing the target.
使用用户明确请求的审查者数量、模型组合和推理级别。否则,在每次初始审查和修复审查中使用以下默认群组:
审查者ID模型推理级别
sol-1
gpt-5.6-sol
high
terra-1
gpt-5.6-terra
xhigh
luna-1
gpt-5.6-luna
max
luna-2
gpt-5.6-luna
xhigh
luna-3
gpt-5.6-luna
xhigh
如果数量为1到5,按上述顺序使用。对于其他明确的组合,从模型层级加基于1的序号分配稳定ID。当数量超过5且未明确指定组合时,请求用户提供组合。将任务名称从
sol-1
标准化为
sol_1
以实现确定性识别。在整个群组中保持原始审查提示、目标指纹、角色边界和服务层级一致;使用每个审查者分配的推理级别。在并发限制下排队,不要修改目标。

Packet

数据包

Do not send this skill, any reference, helper commands, run-log details, or the primary conversation to a reviewer. Give every reviewer the same self-contained packet containing only the review task: raw user prompt (or default criteria), target SHA and workspace fingerprint, relevant scope/diff or paths, conflict summary if applicable, read-only boundary, and required finding format (file, minimal line range, severity, scenario, rationale). Exclude other reviewers' findings, the primary's conclusions, remediation decisions, and telemetry instructions.
不要将此技能、任何参考资料、辅助工具命令、运行日志详细信息或主对话发送给审查者。为每个审查者提供相同的独立数据包,仅包含审查任务:原始用户提示(或默认标准)、目标SHA和工作区指纹、相关范围/差异或路径(如有)、冲突摘要(如有)、只读边界以及要求的发现结果格式(文件、最小行范围、严重性、场景、理由)。排除其他审查者的发现结果、主Agent的结论、修复决策和遥测指令。

Launch and verify

启动与验证

Launch every initial reviewer with
fork_turns: "none"
, its self-contained packet, and the requested model and reasoning level; do not fork the primary conversation. Require the runtime to expose the exact applied controls and a stable resumable handle. Verify applied settings from runtime evidence, not requested arguments alone.
Launch concurrently where the runtime permits. Never use an ephemeral reviewer. A failed control verification blocks editing and finishes
blocked
; never treat requested arguments alone as verification. Record
reviewer_session_started
as soon as a handle is available and
reviewer_session_controls_verified
only after persisted verification. Record completed-task
durationMs
only when the runtime exposes it.
使用
fork_turns: "none"
、独立数据包以及请求的模型和推理级别启动每个初始审查者;不要分叉主对话。要求运行时暴露确切应用的控制措施和稳定的可恢复句柄。仅根据运行时证据验证应用的设置,而非仅依赖请求的参数。
在运行时允许的情况下并发启动。绝不要使用临时审查者。如果控制验证失败,阻止编辑并标记为
blocked
;绝不要仅将请求的参数视为验证依据。一旦获取到句柄,立即记录
reviewer_session_started
;仅在持久化验证完成后记录
reviewer_session_controls_verified
。仅当运行时暴露时,记录完成任务的
durationMs

Observe, recover, and clear stalled workers

观测、恢复与清理停滞的工作进程

After each bounded wait (30 seconds by default), run the cohort watcher. It is a maximum polling interval, not a runtime floor: handle completions immediately.
bash
node scripts/review-run-log.mjs inspect-reviewers \
  --log "$REVIEW_RUN_LOG" \
  --stale-after-ms 120000 \
  --soft-deadline-ms 600000 \
  --hard-deadline-ms 1200000 \
  --record
The soft deadline is a warning. The hard deadline begins at the current
task_started
(or session start when absent). Before classifying a reviewer as failed, inspect its exact persisted session.
active
,
stalled
, and one
in_progress
result are not failures. The watcher does not interrupt workers.
For a hard-exceeded reviewer, immediately inspect the exact session once more. If it remains non-terminal, call
agents.interrupt_agent
with the inspection's
nativeHandle
, never its persisted
sessionId
; confirm with
agents.list_agents
that it stopped; then append
reviewer_session_cancelled
with reviewer ID, persisted session ID, native handle, phase, reason, and deadline. Never use a broad kill, interrupt another reviewer, or probe an initial review with a follow-up. One fresh initial retry may use a distinct task name such as
sol_1_retry_1
, but retains reviewer ID
sol-1
; a second hard deadline finishes
partial
or
blocked
. A hard-exceeded continuity session follows the full-cohort restart rule after clearing the exact handle.
For a missing or unreadable result, inspect the exact session before retrying:
bash
node scripts/review-run-log.mjs inspect-native-session --log "$REVIEW_RUN_LOG" --reviewer-id "$REVIEWER_ID" --stale-after-ms 120000
The recovered result must match exactly one reviewer handle, repository, applied controls, and completed final-answer event. Use its recovered answer but never log the review body. Retry only after inspection says
unavailable
and follow the hard-deadline cleanup above. Keep raw results outside the run log; record only concise observations and outcomes.
在每次有限等待(默认30秒)后,运行群组监控程序。这是最大轮询间隔,而非运行时下限:立即处理完成的任务。
bash
node scripts/review-run-log.mjs inspect-reviewers \
  --log "$REVIEW_RUN_LOG" \
  --stale-after-ms 120000 \
  --soft-deadline-ms 600000 \
  --hard-deadline-ms 1200000 \
  --record
软期限是警告。硬期限从当前的
task_started
(或会话开始时间,如果不存在
task_started
)开始。在将审查者归类为失败之前,检查其确切的持久化会话。
active
stalled
和一个
in_progress
结果不属于失败。监控程序不会中断工作进程。
对于超出硬期限的审查者,立即再次检查其确切会话。如果仍处于非终端状态,使用检查得到的
nativeHandle
调用
agents.interrupt_agent
,绝不要使用其持久化的
sessionId
;通过
agents.list_agents
确认已停止;然后记录
reviewer_session_cancelled
,包含审查者ID、持久化会话ID、原生句柄、阶段、原因和期限。绝不要使用大范围终止、中断其他审查者或用后续审查探查初始审查。可以进行一次全新的初始重试,使用不同的任务名称(如
sol_1_retry_1
),但保留审查者ID
sol-1
;第二次超出硬期限则标记为
partial
blocked
。超出硬期限的连续性会话在清理确切句柄后遵循全群组重启规则。
对于缺失或无法读取的结果,在重试前检查确切会话:
bash
node scripts/review-run-log.mjs inspect-native-session --log "$REVIEW_RUN_LOG" --reviewer-id "$REVIEWER_ID" --stale-after-ms 120000
恢复的结果必须与一个审查者句柄、仓库、应用的控制措施和已完成的最终回答事件完全匹配。使用恢复的答案,但绝不要记录审查内容。仅在检查结果显示
unavailable
后重试,并遵循上述硬期限清理规则。将原始结果保存在运行日志之外;仅记录简洁的观测结果和结果。

Preserve session continuity

保持会话连续性

Before fixes, create a gitignored
.context/reviewer-sessions.json
ledger with stable reviewer ID, requested/applied controls, reviewer handle, initial fingerprint, and continuity state. Never store credentials, prompts, or review bodies. Before editing, resume every initial session with its original controls and read-only boundary; require only
SESSION_CONTINUITY_OK
. Record a completed-task duration when available. If any handshake fails, discard every report and restart the full cohort once against the unchanged target; a second failure blocks editing. Remediation uses only these verified handles.
在修复之前,创建一个被Git忽略的
.context/reviewer-sessions.json
分类账,包含稳定的审查者ID、请求/应用的控制措施、审查者句柄、初始指纹和连续性状态。绝不要存储凭据、提示或审查内容。在编辑之前,使用原始控制措施和只读边界恢复每个初始会话;仅要求
SESSION_CONTINUITY_OK
。当可用时记录完成任务的时长。如果任何握手失败,作废所有报告并针对未更改的目标重启一次全群组;第二次失败则阻止编辑。修复阶段仅使用这些已验证的句柄。

2. Run independent initial reviews

2. 运行独立初始审查

  1. Resolve the user-requested cohort or the default above and keep it fixed. Stop if the runtime cannot verify an exact requested/applied model, reasoning level, or persistent handle; never silently substitute.
  2. Give each reviewer the same self-contained raw prompt, integrated target SHA and fingerprint, conflict summary, and role boundary. Do not expose another reviewer's findings or primary-agent conclusions. Require file, minimal line range, severity, scenario, and rationale for every finding.
  3. Fingerprint
    HEAD
    , staged/unstaged diffs, status, and relevant untracked contents. Keep the target unchanged through all initial reports and continuity checks. Launch concurrently where possible and queue the rest unchanged. Apply the launch, watchdog, recovery, and hard-deadline cleanup rules above.
  4. Log each launch, control verification, observation, cancellation, and completed or failed pass using the canonical fields above. Use stable reviewer and finding IDs. Record actual token usage and
    durationMs
    only when exposed.
  5. Apply the continuity protocol above before editing.
  6. Verify the target fingerprint after the handshakes. On unexpected mutation, inspect ownership and rerun the full cohort once against a stable target. Repeated instability is a blocker.
  1. 解析用户请求的群组或上述默认群组并保持固定。如果运行时无法验证确切的请求/应用模型、推理级别或持久句柄,暂停执行;绝不要静默替换。
  2. 为每个审查者提供相同的独立原始提示、集成目标SHA和指纹、冲突摘要以及角色边界。不要暴露其他审查者的发现结果或主Agent的结论。要求每个发现结果包含文件、最小行范围、严重性、场景和理由。
  3. 为HEAD、已暂存/未暂存差异、状态以及相关未跟踪内容生成指纹。在所有初始报告和连续性检查期间保持目标不变。在可能的情况下并发启动,其余任务保持不变排队。应用上述启动、监控、恢复和硬期限清理规则。
  4. 使用上述标准字段记录每次启动、控制验证、观测、取消以及完成或失败的审查。使用稳定的审查者和发现结果ID。仅当暴露时记录实际令牌使用量和
    durationMs
  5. 在编辑之前应用上述连续性协议。
  6. 在握手后验证目标指纹。如果发生意外变更,检查所有权并针对稳定目标重新运行一次全群组。反复出现不稳定则视为阻塞。

3. Verify findings and fix

3. 验证发现结果并修复

  1. Deduplicate by defect while preserving reporting reviewers/models. Independently check every claim against current code, tests, and conventions.
  2. Classify each finding as
    valid
    ,
    duplicate
    ,
    already_fixed_or_stale
    ,
    false_positive
    ,
    out_of_scope_user_change
    , or
    needs_user_decision
    ; log its stable ID and disposition.
  3. Fix every valid in-scope issue, add focused regression coverage when practical, run narrow checks, and self-review the entire resulting diff. Request input rather than inventing material product, UX, public API, or architecture decisions.
  1. 按缺陷去重,同时保留报告的审查者/模型。针对当前代码、测试和规范独立检查每个声明。
  2. 将每个发现结果分类为
    valid
    (有效)、
    duplicate
    (重复)、
    already_fixed_or_stale
    (已修复或过时)、
    false_positive
    (误报)、
    out_of_scope_user_change
    (超出范围的用户变更)或
    needs_user_decision
    (需用户决策);记录其稳定ID和处理结果。
  3. 修复所有有效的范围内问题,在可行时添加针对性的回归覆盖,运行窄范围检查,并自我审查整个生成的差异。对于重要的产品、UX、公共API或架构决策,请求用户输入而非自行决定。

4. Resume reviewers on the fixes

4. 在修复后恢复审查者会话

Resume every continuity-verified session with its original controls and read-only boundary. Never use an ephemeral or replacement session without user authorization.
  1. Freeze and fingerprint the workspace. Give every reviewer the updated diff plus a cumulative ledger of all findings, classifications, evidence, changes or rejection reasons, tests, and prior pushback.
  2. Ask whether root causes are fixed, regressions or related cases remain, a materially simpler bounded solution exists, tests cover the failure, or rejected findings merit reconsideration. Actionable pushback must identify a concrete failure mode, affected code, or demonstrably better bounded alternative.
  3. Judge each response independently. Run at most three remediation rounds, stopping when all reviewers find the fixes adequate or remaining objections have evidence-backed dispositions. Increase scope after valid pushback: focused fix/call sites in round 1, related module boundaries/integration in round 2, and subsystem invariants/design alternatives/coverage gaps in round 3.
  4. Log every pass, including no-finding passes and retries. After each pass, verify the fingerprint. If a reviewer mutated state, the primary agent safely restores only that effect, discards the report, and retries once read-only; a second mutation is a blocker.
使用原始控制措施和只读边界恢复所有已验证连续性的会话。未经用户授权,绝不要使用临时或替换会话。
  1. 冻结工作区并生成指纹。为每个审查者提供更新后的差异,加上所有发现结果、分类、证据、变更或拒绝理由、测试以及先前反馈的累积分类账。
  2. 询问根本原因是否已修复、是否仍存在回归或相关案例、是否存在更简单的有限解决方案、测试是否覆盖了故障、被拒绝的发现结果是否值得重新考虑。可操作的反馈必须明确具体的故障模式、受影响的代码或明显更优的有限替代方案。
  3. 独立判断每个回复。最多运行三轮修复审查,当所有审查者认为修复足够或剩余异议有证据支持的处理结果时停止。在收到有效反馈后扩大范围:第1轮针对修复/调用点,第2轮针对相关模块边界/集成,第3轮针对子系统不变规则/设计替代方案/覆盖缺口。
  4. 记录每次审查,包括无发现结果的审查和重试。每次审查后验证指纹。如果审查者修改了状态,主Agent仅安全恢复该影响,作废报告并以只读模式重试一次;第二次修改则视为阻塞。

5. Validate, commit, and push

5. 验证、提交与推送

  1. Stage only owned files or hunks and inspect the staged diff.
  2. Resolve final validation in this order: explicit user command; repository/CI instruction; otherwise the changed workspace's scripts using the package manager named by
    packageManager
    or its lockfile. Run
    precommit
    when present, else each available
    lint
    and
    test
    . For non-JavaScript projects use documented CI-equivalent checks; report unavailable coverage instead of inventing commands.
  3. Commit with the repository workflow, then run final validation against the exact post-commit tree before every push. Incorporate intended tool-generated changes and rerun after any mutation. Diagnose branch-caused failures without modifying unrelated work; do not push a failing tree.
  4. Confirm ownership boundaries. Immediately before pushing, record PR number, UTC review-window timestamp, and commit SHA in
    .context
    ; refresh after a failed attempt. Push without renaming the branch and confirm the PR head equals the verified SHA.
  1. 仅暂存自有文件或代码块,并检查暂存差异。
  2. 按以下顺序解决最终验证:用户明确命令;仓库/CI说明;否则使用
    packageManager
    或其锁文件指定的包管理器运行变更后工作区的脚本。如果存在
    precommit
    脚本则运行,否则运行所有可用的
    lint
    test
    。对于非JavaScript项目,使用文档化的CI等效检查;如果覆盖范围不可用则报告,不要自行创建命令。
  3. 按照仓库工作流提交,然后在每次推送前针对确切的提交后工作树运行最终验证。纳入工具生成的预期变更,在任何变更后重新运行。诊断由分支导致的故障,但不要修改无关工作;不要推送失败的工作树。
  4. 确认所有权边界。在推送前立即记录PR编号、UTC审查窗口时间戳和提交SHA到
    .context
    ;推送失败后刷新记录。推送时不要重命名分支,并确认PR头部与已验证的SHA一致。

6. Close the review-bot loop

6. 关闭审查机器人循环

  1. Resolve and read the repository's
    address-review-bots
    skill; do not hard-code another workspace's path. Confirm the PR still targets the recorded branch and SHA and pass the push timestamp when supported.
  2. Wait for every requested bot on that SHA. Missing review or timeout is unknown, not clean; an unexpected head change requires ownership reconciliation.
  3. Classify every substantive observation, fix valid actionable and low-risk cleanup findings, self-review, commit, rerun final validation, and push. Repeat per
    address-review-bots
    until clean, a decision is needed, its loop limit is reached, or checks time out.
  1. 解析并读取仓库的
    address-review-bots
    技能;不要硬编码其他工作区的路径。确认PR仍针对记录的分支和SHA,并在支持时传递推送时间戳。
  2. 等待该SHA上的所有请求机器人完成。缺失审查或超时视为未知状态,而非干净状态;头部意外变更需要协调所有权。
  3. 分类每个实质性观测结果,修复有效的可操作和低风险清理发现结果,自我审查,提交,重新运行最终验证,然后推送。按照
    address-review-bots
    重复执行,直到状态干净、需要决策、达到循环限制或检查超时。

Finish and report

完成与报告

Always attempt
finish
, even for a blocked/failed run, using event-derived reviewers/findings plus actual bot, validation, status, and SHA outcomes. Use
partial
,
blocked
, or
failed
instead of
complete
when the cohort cannot finish. Use
--collect-codex-usage
; collection is per reviewer, so completed sessions still contribute real tokens, cost, and duration when another worker is unavailable. Do not report while any reviewer lacks both tokens and an exact duration. Run
diagnose-codex-usage
, resolve its per-reviewer session/ledger cause (including an allowed relaunch when needed), then run
finish --collect-codex-usage
again. Generate the usage section with
report
only after that gate passes; do not manually calculate or reformat it. Treat model comparisons as one-run observations.
Report the applied cohort/controls, persistent sessions and continuity/retries, log path and derived invocation/round/usage coverage, shared/unique findings and model comparison, base SHA/integration/conflicts, all finding dispositions, remediation rounds and disagreements, validation per push, commits/PR, bot-loop outcomes, and remaining blockers.
report
refuses an incomplete-telemetry cohort, so append its table verbatim only after it succeeds. Do not add pricing or telemetry caveats. Keep
Estimated cost
immediately after
Total
and
Agent time
last; put nothing after it.
无论运行是否阻塞/失败,始终尝试执行
finish
,使用事件派生的审查者/发现结果以及实际的机器人、验证、状态和SHA结果。当群组无法完成时,使用
partial
blocked
failed
代替
complete
。使用
--collect-codex-usage
;收集按审查者进行,因此当其他工作进程不可用时,已完成的会话仍会贡献实际令牌、成本和时长。当任何审查者既无令牌数据也无确切时长时,不要生成报告。运行
diagnose-codex-usage
,解析其每个审查者会话/分类账的原因(包括必要时允许重新启动),然后再次运行
finish --collect-codex-usage
。仅在通过此检查后,使用
report
生成使用情况部分;不要手动计算或重新格式化。将模型比较视为单次运行的观测结果。
报告应用的群组/控制措施、持久会话和连续性/重试、日志路径以及派生的调用/轮次/使用覆盖范围、共享/独特发现结果和模型比较、基准SHA/集成/冲突、所有发现结果的处理结果、修复轮次和分歧、每次推送的验证结果、提交/PR、机器人循环结果以及剩余阻塞因素。
report
会拒绝遥测不完整的群组,因此仅在成功后才直接附加其表格。不要添加定价或遥测警告。将“Estimated cost”(估算成本)放在“Total”(总计)之后,“Agent time”(Agent时间)放在最后;其后不要添加任何内容。

Resources

资源

  • references/review-guidelines.md: default review criteria.
  • references/run-logging.md: logger troubleshooting, extension, and metric semantics.
  • scripts/review-run-log.mjs
    : canonical payloads, append-only log, metrics, and final report.
  • references/review-guidelines.md:默认审查标准。
  • references/run-logging.md:日志工具故障排除、扩展和指标语义。
  • scripts/review-run-log.mjs
    :标准负载、追加式日志、指标和最终报告。