用途:在归档变更前,校验代码实现是否与变更工件(规格、任务、设计)匹配,覆盖完整性、正确性、一致性三个维度。
主要能力与流程:若未提供变更名,运行 openspec list --json 获取可用变更,用 AskUserQuestion 让用户选择,展示含实现任务的变更并标记任务未完成的为“(In Progress)”,不得猜测或自动选择。随后运行 openspec status --change "<name>" --json 了解 schema 与已有工件,再用 openspec instructions apply --change "<name>" --json 获取变更目录与 contextFiles 并读取工件。
校验维度:完整性检查 tasks.md 复选框(- [ ] 与 - [x])统计完成数,并对 delta specs 中“### Requirement:”逐条在代码库搜索实现证据;正确性将需求映射到实现,检查“#### Scenario:”场景是否被代码处理与测试覆盖;一致性检查 design.md 中的决策是否被遵循,以及代码模式(文件命名、目录结构、编码风格)是否一致。
报告:含汇总记分卡表格,问题按 CRITICAL、WARNING、SUGGESTION 分组,代码引用格式如 file.ts:123,每条给出可执行建议。结论分三种:存在 CRITICAL 须修复后归档;仅 WARNING 可归档但需注意改进;全部通过即可归档。
限制与降级:仅存在 tasks.md 时只校验任务完成,跳过规格与设计检查;任务加规格时校验完整性与正确性,跳过设计;工件齐全才校验三个维度,并须说明跳过了哪些检查及原因。判断不确定时优先 SUGGESTION 而非 WARNING,WARNING 而非 CRITICAL。