Convergence Findings
【免费下载链接】spec-kit💫 Toolkit to help you get started with Spec-Driven Development项目地址: https://gitcode.com/GitHub_Trending/sp/spec-kit
| ID | Gap Type | Severity | Source | Evidence | Remaining Work |
|---|---|---|---|---|---|
| F1 | missing | HIGH | FR-008 | Example: no append-only guard detected in path/to/module.py when writing tasks.md | Add append-only enforcement |
随后是**汇总指标**:检查了多少需求/验收标准、多少 plan 决策、多少宪法原则(或标注 "skipped — template")、按 gap type 分组的发现数、按严重度分组的发现数。 ### 5.7 追加收敛任务或报告收敛(Step 7, Two Outcomes) **若有可操作发现(`tasks_appended` 结果)**,按追加契约在 `tasks.md` 末尾追加: 1. 扫描所有既有任务 ID,取最大值 `M`;确定下一个阶段号 `N`(现有最高阶段号 + 1); 2. 写一个新章节标题 `## Phase N: Convergence`; 3. 为每条可操作发现输出一条清单项,CRITICAL/HIGH 优先排序,分配零填充 ID `T{M+1:03d}, T{M+2:03d}, …`: ```markdown - [ ] T042 <imperative description> per <source-ref> (<gap-type>)其中<source-ref>把任务回溯到其来源:如FR-003、SC-002、US1/AC2、plan: storage decision、Constitution II;<gap-type>为四种类型之一。 4. 宪法规违任务必须最先输出并描述为CRITICAL;永不复用或重新编号既有 ID;若已存在之前的 Convergence 阶段,在其下方新增一个独立编号的阶段,不触碰旧阶段。
若无可操作发现(converged结果):
- 完全不修改
tasks.md——不留空阶段标题; - 报告固定结论:"✅ Converged — the implementation satisfies the spec, plan, and tasks.",并附上检查数量的汇总。
5.8 下一步交接(Step 8, Handoff)
tasks_appended:说明追加了多少任务、挂在哪个阶段下,建议运行/speckit.implement完成它们,并提示后续 converge 运行会发现更少(或零个)剩余项;converged:建议进入评审/开 PR,本特性的规定范围内不再需要额外的 implement 轮次。
5.9 after_converge 钩子(Step 9)
产出结果后,按第 3 节的同款规则检查hooks.after_converge。这里有一条独特的顺序要求:必须先与会话内报告收敛结果(converged或tasks_appended),再列出钩子,让用户能据此决定是否运行可选的后续命令。
6. 源码级机制:占位符与脚本解析
converge.md 模板正文中的__SPECKIT_COMMAND_IMPLEMENT__、__SPECKIT_COMMAND_TASKS__等占位符,在specify init为具体 agent 生成命令文件时会被替换为实际调用形式。核心实现在 src/specify_cli/integrations/base.py 的resolve_command_refs():
re.sub( r"__SPECKIT_COMMAND_([A-Z][A-Z0-9_]*)__", lambda m: prefix + "speckit" + separator + m.group(1).lower().replace("_", separator), content, )【免费下载链接】spec-kit💫 Toolkit to help you get started with Spec-Driven Development项目地址: https://gitcode.com/GitHub_Trending/sp/spec-kit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考