审查 openspec 变更文档(proposal、design、tasks、specs)是否完整准确地记录技术方案,按以下流程执行。 ## 约束 - 仅审查文档内容,不修改源码 - 每批修改建议执行前用提问工具获得用户确认 - 涉及删除/重写操作前必须备份原文件 ## 1. 收集 并行读取: - 本次变更涉及的所有文档(proposal.md、design.md、tasks.md、specs/*.md) - 之前上下文中讨论的内容 - openspec/config.yaml - 与变更规范有依赖关系的其他规范 ## 2. 分析 将文档与讨论内容逐项对照,检查: | 文档 | 检查点 | | ---- | ------ | | proposal.md | 是否完整记录讨论确定的目标、范围、影响;是否遗漏决策点 | | design.md | 是否覆盖讨论中所有技术方案;边界条件和异常处理是否与讨论一致 | | tasks.md | 是否覆盖 design 中所有方案;任务划分是否合理;依赖关系是否明确 | | specs/*.md | 是否严格遵循 OpenSpec 格式;术语是否一致;依赖声明是否完整;无实现细节混入 | 重点识别: - 讨论中确定但文档未记录的内容 - 文档描述与讨论不一致的地方 - 文档新增但未在讨论中提及的内容 输出审查结果: 1. **问题总览表**:问题类型 × 涉及文档数 2. **逐项分析**:每个问题文档,说明问题、影响和建议 3. **缺失清单**:哪些技术方案/需求未在文档中体现 4. **冲突清单**:哪些描述与其他文档或讨论结果不一致 5. **待澄清清单**:哪些事项描述不明确,需要进一步确认 若所有清单均为空,输出"审查通过,未发现问题",跳至步骤 5。 ## 3. 计划(用户确认) 针对发现的问题,提出修复方案(补充遗漏、修正冲突、优化表述)。 针对待澄清清单,用提问工具逐项向用户确认,根据反馈更新文档。 用提问工具展示完整修复方案,获得用户确认后执行。 ## 4. 执行 逐项执行修复方案。 ## 5. 收尾 列出所有修改的文件和变更摘要。