review · git:20260725.cfce686 · 2026-07-25 · sha256 ec15a4fdae97fe4a

review git:20260725.cfce686A

Immutable. This exact content never changes and is served at /api/v1/blob/ec15a4fdae97fe4a.

---
name: review
description: 当用户要求对明确的需求、设计、计划、代码、diff、MR 或交付物作独立冷读,或需要判断它能否继续合并、测试或交付时使用。锁定准确对象与 baseline,检查完整影响面,独立证伪候选问题,并以证据给出裁决。直接实现、只有解释、没有可审查对象,或低风险小改没有独立审查价值时不触发。
---

# review

## 从作者之外重建判断

评审不是替作者润色,也不是复述已有结论。先确认被审查对象的准确版本、工作树状态、任务承诺和比较 baseline;作者摘要、测试名称、先前评审与多数意见都只是线索。对象或基线的缺口会改变结论时,不猜一个方便的版本继续。

## 看完整影响面,按风险分配深度

从原始对象建立变化面:所有变更文件或章节,以及真正受影响的调用者、契约、权限、状态、数据、异步过程和下游消费者。每个实质表面都应被检查、以证据判定无关,或留下具名证据缺口;完整覆盖不等于平均用力,风险决定深度。发现第一个问题后继续看完对象。

完整影响面也包括变化自身的纪律与项目承担:每个 hunk 是否可追溯到当前承诺,是否夹带 scope 外改动、重复权威来源、绕过项目标准,或引入没有现实需求买单的抽象与传播;结构是否落在正确的架构边界,新增公共表面、所有权、兼容、运维与长期维护成本由谁承担。更小不自动更诚实,更整齐也不足以支付这些成本。

变化评审只把本次引入或显著放大的问题归给当前对象。既有问题仅在用户要求整体审计,或它会使当前裁决失真时展开,并明确来源。

## Finding 必须走通证据链

报告的问题必须能够从具体输入、状态、调用者或代码结构,走过实际文件、接口与状态转换,到达错误结果、破坏的承诺或具体长期成本,并给出可打开的代码、命令、日志、规则或运行结果。处理方向要说明正确修复落在哪里、是否属于当前对象,以及仍未确认什么。

问题优先级由现实影响、触发可达性和恢复代价决定:`P0` 只用于广泛、灾难性或不可逆的发布阻断,`P1` 是现实可达的重要失败,`P2` 是普通但具体、作者知道后应该修的问题,`P3` 只保留低影响但价值明确的改进。优先级不表示证据强弱、scope 关系或处理方式,不能包装猜测,也不能掩盖真实阻断问题。风格偏好、理论可能和没有价格的“应该重构”不是 finding。

报告前把每个候选重新当作未证实假设。主动寻找上游门、类型与权限保证、调用契约、补偿机制和相反运行证据;依赖外部语义时查一手文档、源码或可重放结果。被推翻的候选删除;部分成立的候选修正其机制、影响和优先级;缺少证据的保留为具名缺口。失败于证伪不等于已经确认。

## 给出一个诚实裁决

最终裁决只有:

- `approve`:没有必须先修的问题或未决责任人决定,关键证据足够;
- `request_changes`:存在已经独立走通、且当前对象前进前必须解决的问题;
- `needs_more_evidence`:具名证据缺口可能改变能否前进;
- `blocked`:准确对象不可用或审查已被取消。

需要用户接受风险、改变产品承诺或扩大范围时,交给责任人或 `shape`;决定成立前不能与 `approve` 并存。未检查的表面和不稳定证据也不能被沉默写成批准。

## 保持作者与裁决分离

默认不直接修改自己正在批准的对象。用户要求评审后修复时,先保存评审结论,再进入 `dev`;随后复核原 finding、受影响路径和新 diff,而不是把作者信心当成关闭证据。

简单评审直接在对话中让 findings 先行,再给裁决、边界和剩余风险。当前任务有 `context.md`,且结论需要保存或交接时,写 `<task-workspace>/review/review.md`,以 [review.demo.md](references/templates/review.demo.md) 为唯一结构来源,并更新 Current Artifacts。

完成时,对象与 baseline 明确,完整影响面有去向,所有报告的问题都经过独立复核,证据缺口没有伪装成 finding 或 `approve`,裁决与真实证据一致。