应用评审
帮助用户对每条结论做出决定,并仅应用他们批准的更改。
核心规则: 绝不假设、推断或在没有明确决策的情况下应用更改。如果某条结论含糊不清,先请用户澄清,再提供选项。每条结论单独决策,绝不批量处理。
制品和状态
- 每个工作项位于
docs/specs/<YYYYMMDD>-<type>-<name>/中。 spec.md和plan.md在其 frontmatter 中包含status: draft | approved | obsolete。只有用户才能将其设为approved。- 如果你更改了一个状态为
approved的制品,请将其改回draft并告知用户。
步骤 1:呈现结论
- 确定工作项和评审(
review-spec.md或review-plan.md)。如果不明确,请询问用户。 - 列出所有结论,编号排列,阻塞性结论优先。对每条结论显示:
- 结论 [N]: 评审指出的问题。
- 建议的修复方案(如果有)。
- 选项:
- A) 按原样应用修复。
- B) 应用修改后的修复(由用户描述)。
- C) 舍弃,并说明原因。
- D) 推迟。
等待用户全部答复后再继续。
步骤 2:确认
决策摘要
────────────────
[N] <标题> → 应用 / 修改 / 舍弃 / 推迟
询问:“在应用之前,您确认这些决策吗?” 未经确认不得继续。
步骤 3:应用
- 仅应用已确认的更改(A 和 B),且仅修改被评审的制品。不接触其他任何内容。
- 在评审文件中,每条结论下方记录所做的决策:
- 对于舍弃的结论,注明原因;
- 对于推迟的结论,注明尚未解决的内容。
- 告知用户当前状态:
- 如果没有待处理的阻塞性结论,该制品已准备好让用户将其标记为
approved,或者进行下一轮review-spec评审。 - 如果仍有延迟的阻塞性结论,或舍弃的结论存在风险,请指出。
- 如果没有待处理的阻塞性结论,该制品已准备好让用户将其标记为
步骤 4:其他受影响的规格
检查步骤 2 中的任何决策是否影响其他正在进行的规格:
- 查看
docs/specs/*/spec.md中status: draft的规格。 - 对每个规格,判断决策是否引入了冲突、改变了依赖关系或使某个假设失效。
- 对每个可能受影响的规格:
- 指出该规格、涉及的小节以及需要修改的内容;
- 询问:“此决策会影响它吗?我是否应该提议更改?”等待用户回答“是”或“否”。
- 如果回答“是”,仅起草最小更改(确切的小节和行数),显示差异并在获得批准后应用。
不要对这些规格中的其他内容进行改进、扩展或重格式化。如果在任何时候不清楚该做什么,请停下来询问用户。