specwf 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +96 -59
  2. package/bin/cli.d.ts +2 -0
  3. package/bin/cli.js +4425 -0
  4. package/bin/specwf.js +4424 -1
  5. package/dist/cli.js +3821 -1462
  6. package/package.json +2 -1
  7. package/dist/templates/agents/archiver.md +0 -112
  8. package/dist/templates/agents/executor.md +0 -125
  9. package/dist/templates/agents/planner.md +0 -114
  10. package/dist/templates/agents/researcher.md +0 -104
  11. package/dist/templates/agents/reviewer.md +0 -98
  12. package/dist/templates/agents/verifier.md +0 -129
  13. package/dist/templates/artifacts/context.md +0 -151
  14. package/dist/templates/artifacts/design.md +0 -224
  15. package/dist/templates/artifacts/goal-review.md +0 -95
  16. package/dist/templates/artifacts/project.yml +0 -117
  17. package/dist/templates/artifacts/proposal.md +0 -124
  18. package/dist/templates/artifacts/quality-review.md +0 -131
  19. package/dist/templates/artifacts/research.md +0 -127
  20. package/dist/templates/artifacts/spec-review.md +0 -84
  21. package/dist/templates/artifacts/state.md +0 -158
  22. package/dist/templates/artifacts/summary.md +0 -129
  23. package/dist/templates/artifacts/tasks.md +0 -109
  24. package/dist/templates/artifacts/verification.md +0 -113
  25. package/dist/templates/commands/adhoc.md +0 -38
  26. package/dist/templates/commands/apply.md +0 -20
  27. package/dist/templates/commands/archive.md +0 -21
  28. package/dist/templates/commands/continue.md +0 -27
  29. package/dist/templates/commands/discuss.md +0 -24
  30. package/dist/templates/commands/grill.md +0 -24
  31. package/dist/templates/commands/init.md +0 -37
  32. package/dist/templates/commands/milestone.md +0 -27
  33. package/dist/templates/commands/plan.md +0 -22
  34. package/dist/templates/commands/research-phase.md +0 -20
  35. package/dist/templates/commands/research.md +0 -24
  36. package/dist/templates/commands/review.md +0 -20
  37. package/dist/templates/commands/roadmap.md +0 -23
  38. package/dist/templates/commands/ship.md +0 -36
  39. package/dist/templates/commands/split.md +0 -16
  40. package/dist/templates/commands/verify.md +0 -22
  41. package/dist/templates/skills/adhoc.md +0 -53
  42. package/dist/templates/skills/apply.md +0 -134
  43. package/dist/templates/skills/archive.md +0 -109
  44. package/dist/templates/skills/continue.md +0 -97
  45. package/dist/templates/skills/discuss.md +0 -95
  46. package/dist/templates/skills/grill.md +0 -90
  47. package/dist/templates/skills/init.md +0 -116
  48. package/dist/templates/skills/milestone.md +0 -36
  49. package/dist/templates/skills/plan.md +0 -144
  50. package/dist/templates/skills/research-phase.md +0 -66
  51. package/dist/templates/skills/research.md +0 -76
  52. package/dist/templates/skills/review.md +0 -148
  53. package/dist/templates/skills/roadmap.md +0 -104
  54. package/dist/templates/skills/ship.md +0 -94
  55. package/dist/templates/skills/split.md +0 -96
  56. package/dist/templates/skills/verify.md +0 -147
@@ -1,148 +0,0 @@
1
- # 三重审查工作流指引
2
-
3
- ## 概述
4
-
5
- 对 Apply 产出的代码进行三重并行审查:规格审查、质量审查、目标审查。三重审查全部通过后才能进入 verify 阶段。
6
-
7
- Review 由 specwf-reviewer agent 在独立上下文中并行执行。审查结果决定是否需要回 apply 修改。
8
-
9
- ## 前置条件
10
-
11
- - apply 阶段已完成,代码已提交
12
- - delta-specs、design.md、tasks.md、proposal.md 已就位
13
-
14
- ## 执行步骤
15
-
16
- ### 1. 并行启动三重审查
17
-
18
- 一次启动三个 reviewer agent 并行审查:
19
- \`\`\`
20
- task agent: specwf-reviewer × 3(并行)
21
- 1. Spec Review — 规格符合性审查
22
- 2. Quality Review — 代码质量审查
23
- 3. Goal Review — 目标达成审查
24
- \`\`\`
25
-
26
- ### 2. 规格审查(Spec Review)
27
-
28
- **检查项**:
29
- - [ ] delta-specs 中的每个 SHALL 场景在代码中实现
30
- - [ ] delta-specs 中的每个 MUST 约束在代码中遵守
31
- - [ ] 全局 specs/ 中相关的 SHALL/MUST 未被违反
32
- - [ ] GIVEN/WHEN/THEN 场景在测试中覆盖
33
- - [ ] 接口签名与 design.md 一致
34
- - [ ] 异常处理覆盖 spec 中定义的错误场景
35
-
36
- **输出**: \`reviews/spec-review.md\`
37
- \`\`\`markdown
38
- # 规格审查报告
39
-
40
- ## 审查结果:PASS / FAIL / CONDITIONAL_PASS
41
-
42
- ## 通过项
43
- - SHALL-001: ✓ 已实现且测试覆盖
44
- - ...
45
-
46
- ## 未通过项
47
- - SHALL-003: ✗ 未处理输入为空场景
48
- - 严重性: HIGH / MEDIUM / LOW
49
- - 建议: ...
50
-
51
- ## 与全局 specs 冲突
52
- - ...
53
- \`\`\`
54
-
55
- ### 3. 质量审查(Quality Review)
56
-
57
- **检查项**:
58
- - [ ] 明显的 bug 模式(空指针、越界、竞态条件)
59
- - [ ] 安全漏洞(注入、权限缺失、敏感信息泄露)
60
- - [ ] 代码规范(项目约定的代码风格和模式)
61
- - [ ] 测试质量(不是 trivial 测试,覆盖边界条件)
62
- - [ ] 性能问题(不必要的分配、N+1 查询等)
63
- - [ ] 错误处理(错误被吞没、错误信息不明确)
64
-
65
- **输出**: \`reviews/quality-review.md\`
66
- \`\`\`markdown
67
- # 质量审查报告
68
-
69
- ## 审查结果:PASS / FAIL / CONDITIONAL_PASS
70
-
71
- ## Bug 类
72
- - ...
73
-
74
- ## 安全类
75
- - ...
76
-
77
- ## 规范类
78
- - ...
79
-
80
- ## 测试质量
81
- - ...
82
- \`\`\`
83
-
84
- ### 4. 目标审查(Goal Review)
85
-
86
- **检查项**:
87
- - [ ] change proposal.md 中定义的目标已实现
88
- - [ ] tasks.md 中所有 tasks 已完成(无论 type)
89
- - [ ] design.md 中的方案在代码中落地
90
- - [ ] 没有 scope creep(实现了 proposal 外的功能)
91
- - [ ] 测试覆盖满足 change 的测试策略要求
92
-
93
- **输出**: \`reviews/goal-review.md\`
94
- \`\`\`markdown
95
- # 目标审查报告
96
-
97
- ## 审查结果:PASS / FAIL / CONDITIONAL_PASS
98
-
99
- ## 目标达成
100
- - proposal 目标 1: ✓
101
- - ...
102
-
103
- ## 任务完成度
104
- - tasks.md 完成: 7/7
105
-
106
- ## Scope Creep 检查
107
- - 发现 1 处额外实现: ...
108
- \`\`\`
109
-
110
- ### 5. 汇总结果
111
-
112
- 收集所有三份审查报告,根据 gate 配置决定是否进入 verify:
113
-
114
- - **all-pass(默认)**:三份报告都 PASS 才进入 verify
115
- - **severity**:没有 HIGH 严重性问题即可进入 verify
116
- - **report-only**:审查结果仅供参考,不阻止进入 verify
117
-
118
- 任一审查 FAIL 时:
119
- - 记录问题清单
120
- - 回 apply 阶段修复
121
- - 修复后重新审查涉及的部分
122
-
123
- ## 产物
124
-
125
- - \`changes/<change-name>/reviews/spec-review.md\` — 规格审查报告
126
- - \`changes/<change-name>/reviews/quality-review.md\` — 质量审查报告
127
- - \`changes/<change-name>/reviews/goal-review.md\` — 目标审查报告
128
-
129
- ## 验证
130
-
131
- - [ ] 三重审查全部完成
132
- - [ ] gate 条件满足(根据配置)
133
- - [ ] 审查报告写入对应目录
134
- - [ ] FAIL 的问题在回 apply 前修复
135
-
136
- ## 常见陷阱
137
-
138
- - 不要合并审查职责 — 规格/质量/目标是三个独立视角,必须由不同 reviewer(或至少不同上下文)执行
139
- - 不要在审查报告里写模糊的描述 — 每个问题必须有文件/行号引用
140
- - 不要把「风格偏好」作为 FAIL 理由 — 只有违反项目约定的才记录
141
- - 如果条件允许,一次审查只覆盖单个 change 的 diff,不涉及全局代码
142
- - ALL-PASS 模式下,一个 CONDITIONAL_PASS 算 FAIL
143
-
144
- ## 参考
145
-
146
- - GSD Core 的 triple review 机制
147
- - OpenSpec 的 review 模板
148
- - OWASP 代码审查指南(质量审查的安全类参考)
@@ -1,104 +0,0 @@
1
- # 路线图工作流指引
2
-
3
- ## 概述
4
-
5
- 将项目拆分为 Milestone 和 Phase 两个层级。Milestone 是长期里程碑(通常 1-3 个月),Phase 是 Milestone 内的开发阶段(通常 1-2 周)。
6
-
7
- 路线图基于 proposal.md 和 research 产出,输出可执行的阶段规划。
8
-
9
- ## 前置条件
10
-
11
- - 已完成 grill
12
- - (可选)已完成 research —— 调研结果指导技术栈拆分
13
- - 对项目范围有清晰共识
14
-
15
- ## 执行步骤
16
-
17
- ### 1. 定义 Milestone
18
-
19
- 按功能领域或发布节奏划分里程碑。每个 milestone 应有:
20
- - **名称**:简短标识(如 \`M1-core\`)
21
- - **目标**:一个句子描述的里程碑目标
22
- - **范围**:包含和不包含的功能
23
- - **成功标准**:可测量的完成条件
24
- - **预估时长**:1-3 个月
25
-
26
- 示例:
27
- \`\`\`
28
- M1 — Core Infrastructure
29
- 目标:搭建基础 CLI 框架 + spec 管理系统
30
- 范围:init/grill/research/roadmap/.../archive 完整循环
31
- 时长:6 周
32
- \`\`\`
33
-
34
- ### 2. 为每个 Milestone 拆分 Phase
35
-
36
- 每个 milestone 包含 3-8 个 phase:
37
- \`\`\`
38
- <ms-name>
39
- ├── ph.1 基础搭建
40
- ├── ph.2 核心功能 A
41
- ├── ph.3 核心功能 B
42
- ├── ph.4 集成测试
43
- └── ph.5 文档和完善
44
- \`\`\`
45
-
46
- 每个 Phase 定义:
47
- - **名称**(ph.N-<name>)
48
- - **目标**
49
- - **依赖**(依赖的技术或前置 phase)
50
- - **输入**(specs 文件、conventions、设计文档)
51
- - **输出**(代码、specs 更新、文档)
52
- - **预估 Change 数**
53
-
54
- ### 3. 验证里程碑覆盖
55
-
56
- 逐项检查 proposal.md 的「范围」是否被 Milestone 和 Phase 完整覆盖:
57
- - 没有遗漏的功能
58
- - 依赖关系合理
59
- - Phase 之间的依赖不形成循环
60
-
61
- ### 4. 产出 ROADMAP.md
62
-
63
- \`\`\`markdown
64
- # <项目> 路线图
65
-
66
- ## Milestone 概览
67
-
68
- | Milestone | 目标 | Phase 数 | 时长 |
69
- |---|---|---|---|
70
-
71
- ## M1 — <名称>
72
- <Milestone 目标>
73
-
74
- ### Phase 列表
75
-
76
- | Phase | 目标 | 依赖 | 预估 Change 数 |
77
- |---|---|---|---|
78
-
79
- ### ph.1 <名称>
80
- <详细说明>
81
- \`\`\`
82
-
83
- ## 产物
84
-
85
- - \`specwf/ROADMAP.md\` — 完整的路线图文档
86
-
87
- ## 验证
88
-
89
- - [ ] 所有 proposal.md 范围被覆盖
90
- - [ ] Phase 之间的依赖不循环
91
- - [ ] 每个 Phase 有可验证的成功标准
92
- - [ ] 路线图长度合理(3-15 个 Phase 总)
93
-
94
- ## 常见陷阱
95
-
96
- - 不要把 Phase 拆得太细 — 每个 phase 至少能产出可演示的成果
97
- - 第一个 Phase 应该是最小可行路径,不是最复杂的
98
- - 不要忽略集成和文档 phase
99
- - Phase 的先后依赖不要过于乐观 — 列清楚前置条件
100
-
101
- ## 参考
102
-
103
- - GSD Core 的 roadmap 方法
104
- - 产品路线图最佳实践(outcome-focused)
@@ -1,94 +0,0 @@
1
- # 交付工作流指引
2
-
3
- ## 概述
4
-
5
- 将完成的 phase(或其变更集)交付。Ship 分为两级:(1) Ship Phase — 创建 PR + 更新 STATE.md;(2) Ship Milestone — 创建 release tag + 更新 PROJECT.md 版本。
6
-
7
- Ship Phase 在每个 phase 的 change 循环全部完成后触发。Ship Milestone 在 milestone 的所有 phase 完成后触发。
8
-
9
- ## 前置条件
10
-
11
- - 当前 phase 内所有 change 的 verify 已通过(passed 状态)
12
- - archive 已执行
13
-
14
- ## 执行步骤
15
-
16
- ### 1. 检查交付就绪
17
-
18
- - [ ] 所有 change 的 VERIFICATION.md 状态为 passed
19
- - [ ] 所有 change 已 archive(delta-specs 已合并、代码认知已提取)
20
- - [ ] 没有未合并的 delta-spec 冲突
21
- - [ ] 测试通过、构建通过
22
-
23
- ### 2. Ship Phase
24
-
25
- **创建 PR**:
26
- \`\`\`
27
- git checkout -b ship/ph-<phase-name>
28
- git merge --squash <phase-branch>(或逐个 cherry-pick change)
29
- git commit -m "feat(<phase>): <phase 标题>"
30
- git push origin ship/ph-<phase-name>
31
- \`\`\`
32
-
33
- 创建 PR:
34
- - 标题:\`feat(<phase>): <标题>\`
35
- - 正文包含:
36
- - 本 phase 的 scope 概述
37
- - 包含的 change 列表
38
- - 变更统计(文件数、行数)
39
- - 测试覆盖状态
40
- - CHECKLIST(所有 change 已 verify passed、已 archive)
41
-
42
- PR 通过后合并到主分支。
43
-
44
- **更新 STATE.md**:
45
- \`\`\`markdown
46
- # 状态
47
-
48
- ## Phase: <name>
49
- - 状态: ✅ shipped
50
- - PR: #<PR 号>
51
- - Ship 日期: <date>
52
- \`\`\`
53
-
54
- ### 3. Ship Milestone(可选,仅在 milestone 全部完成时)
55
-
56
- 当 milestone 的最后 phase ship 后:
57
-
58
- \`\`\`
59
- git tag v<major>.<minor>.<patch>
60
- git push origin v<major>.<minor>.<patch>
61
- \`\`\`
62
-
63
- 更新 PROJECT.md(或 README.md)的版本号和 changelog。
64
-
65
- ### 4. 通知
66
-
67
- (可选)在项目日志或 release notes 中记录交付内容。
68
-
69
- ## 产物
70
-
71
- - GitHub PR(ship phase)
72
- - \`specwf/STATE.md\`(更新,标记 phase 为 shipped)
73
- - (milestone)git tag + release notes
74
-
75
- ## 验证
76
-
77
- - [ ] PR 已创建且包含完整信息
78
- - [ ] STATE.md 已更新
79
- - [ ] CI 通过
80
- - [ ] (milestone)tag 已创建和推送
81
- - [ ] 主分支代码与 PR 一致
82
-
83
- ## 常见陷阱
84
-
85
- - 不要跳过 PR 直接合并到主分支 — PR 是审计轨迹的一部分
86
- - squash merge 要注意 squash 后的 message 包含所有 change 信息
87
- - 如果发现 CI 失败,不要强行合并 — 修复后重试
88
- - STATE.md 更新使用 \`shipped\` 枚举值,不是自由文本
89
- - Milestone ship 前确认所有 phase 都已 shipped
90
-
91
- ## 参考
92
-
93
- - Conventional Commits 规范(feat 类型)
94
- - GSD Core 的 ship 流程
@@ -1,96 +0,0 @@
1
- # Change 拆分工作流指引
2
-
3
- ## 概述
4
-
5
- 将 Phase 的工作拆分为多个可并行(或有序)执行的 Change。每个 Change 是独立可验证的工作单元,有明确的输入输出和被测试场景覆盖。
6
-
7
- 拆分产出依赖图,支持三种并行策略:串行、依赖图并行、流水线并行。
8
-
9
- ## 前置条件
10
-
11
- - context.md 已完成
12
- - phase 的 scope 和接口边界明确
13
-
14
- ## 执行步骤
15
-
16
- ### 1. 识别独立工作单元
17
-
18
- 从 phase 的 scope 中识别可独立实现和验证的功能单位:
19
- - 每个 change 对应一个完整的功能切面
20
- - 不跨 change 共享未完成的代码(除非依赖图明确)
21
- - 每个 change 有明确的可验证结果
22
-
23
- ### 2. 建立依赖关系
24
-
25
- 绘制 change 之间的依赖图:
26
- \`\`\`
27
- Change A ──→ Change B ──→ Change C
28
-
29
- Change D ──→ Change E
30
- \`\`\`
31
-
32
- 依赖类型:
33
- - **数据依赖**:B 依赖 A 的数据结构
34
- - **接口依赖**:D 依赖 B 的接口
35
- - **顺序依赖**:C 必须在 B 之后(但不需要 B 的产出物)
36
-
37
- ### 3. 为每个 Change 准备 skeleton
38
-
39
- 每个 change 的目录:
40
- \`\`\`
41
- changes/<change-name>/
42
- ├── proposal.md # 当前 change 的需求范围
43
- ├── specs/
44
- │ └── <domain>/
45
- │ └── spec.md # delta-specs(初始空,plan 阶段写)
46
- ├── design.md # (plan 阶段产出)
47
- ├── tasks.md # (plan 阶段产出)
48
- ├── reviews/ # (review 阶段产出)
49
- └── VERIFICATION.md # (verify 阶段产出)
50
- \`\`\`
51
-
52
- proposal.md 内容:
53
- \`\`\`markdown
54
- # Change: <名称>
55
-
56
- ## 目标
57
- ## 范围
58
- ## 依赖(前置 change 列表)
59
- ## 关键接口(输入/输出/副作用)
60
- ## 测试场景清单
61
- \`\`\`
62
-
63
- ### 4. 确认并行策略
64
-
65
- 根据 change 依赖图配置并行策略:
66
-
67
- - **serial**: 所有 change 串行(依赖图全序)
68
- - **dependency-graph**: 无依赖的 change 并行,有依赖的串行(默认推荐)
69
- - **pipeline**: 按依赖深度分层,同层并行、异层流水线
70
-
71
- ## 产物
72
-
73
- - \`changes/<change-name>/proposal.md\` — 每个 change 的定义
74
- - \`changes/<change-name>/specs/\` — 每个 change 的 delta-specs 目录(初始空)
75
- - 依赖图(在 conversation 中记录,不生成独立文件)
76
-
77
- ## 验证
78
-
79
- - [ ] 每个 change 有明确的可验证结果
80
- - [ ] 依赖图无循环
81
- - [ ] 变更范围不重叠
82
- - [ ] 所有 phase scope 被覆盖
83
- - [ ] 依赖关系合理(无缺少的依赖)
84
-
85
- ## 常见陷阱
86
-
87
- - change 太大 → 超出 review 合理范围(建议单个 change ≤ 400 行 diff)
88
- - change 太小 → 上下文切换成本高于并行收益
89
- - 不要「偷渡」未计划的改动到一个 change 中
90
- - 依赖图不要太深(3 层以上意味着拆分粒度需要调整)
91
- - 如果不确定独立程度,宁拆大不拆小
92
-
93
- ## 参考
94
-
95
- - OpenSpec 的 change 结构设计
96
- - GSD Core 的 dependency-graph 并行策略
@@ -1,147 +0,0 @@
1
- # 测试验证工作流指引
2
-
3
- ## 概述
4
-
5
- 在 Review 通过后,对实现进行完整的测试验证。Verify 负责确保代码正确运行、所有场景覆盖,并处理回环路由 —— 根据缺陷类型路由到不同的修复阶段。
6
-
7
- ## 前置条件
8
-
9
- - review 阶段已通过(三重审查全部 PASS 或 gate 条件满足)
10
- - 测试套件完整(包括 RED 阶段写的测试)
11
-
12
- ## 执行步骤
13
-
14
- ### 1. 运行完整测试套件
15
-
16
- \`\`\`
17
- # 运行所有测试
18
- bun run test
19
-
20
- # 运行类型检查
21
- bun run typecheck
22
-
23
- #(可选)运行集成测试
24
- bun run test:integration
25
- \`\`\`
26
-
27
- ### 2. 测试覆盖率分析
28
-
29
- 分析测试覆盖缺口:
30
- - delta-specs 中每个 SHALL/MUST 是否有测试
31
- - 正常路径覆盖
32
- - 边界路径覆盖
33
- - 异常路径覆盖
34
-
35
- ### 3. 人工检查点验证
36
-
37
- 逐项检查 tasks.md 中每个任务的完成标准:
38
- \`\`\`
39
- - [ ] 所有 type:behavior 验证通过
40
- - [ ] 所有非 TDD 任务验证通过
41
- - [ ] 无回归(已有测试通过)
42
- - [ ] 代码未破坏依赖项
43
- \`\`\`
44
-
45
- ### 4. 诊断失败(如有)
46
-
47
- 如果任何测试失败或验证不通过:
48
-
49
- **根因诊断**:
50
- 1. 确定失败是测试问题还是实现问题
51
- 2. 明确缺陷的类型(见下方路由规则)
52
- 3. 在 VERIFICATION.md 中记录根因
53
-
54
- ### 5. 回环路由
55
-
56
- 根据缺陷类型路由到不同阶段:
57
-
58
- \`\`\`
59
- # 路由规则
60
-
61
- ## 计划缺陷 → 回 plan 重设计
62
- 触发条件:
63
- - delta-specs 中的场景在代码中无法实现(设计不合理)
64
- - design.md 的方案有架构缺陷
65
- - 依赖关系在 split 时未正确识别
66
- - 拆分的 tasks 粒度不合理
67
-
68
- 行为:
69
- 1. 标记缺陷类型为 PLAN
70
- 2. 记录问题和修改建议
71
- 3. 输出 \`路由目标: plan\`
72
- 4. 不修代码,回 plan 更新 design.md / tasks.md / delta-specs
73
-
74
- ## 实现缺陷 → 回 apply 重实现
75
- 触发条件:
76
- - 测试失败(实现未满足 delta-spec)
77
- - 代码逻辑错误
78
- - 类型错误
79
- - 性能不达标
80
- - 缺少边界处理
81
-
82
- 行为:
83
- 1. 标记缺陷类型为 IMPLEMENTATION
84
- 2. 记录根因和具体位置(文件+行号)
85
- 3. 输出 \`路由目标: apply\`
86
- 4. 回 apply 修复实现
87
-
88
- ## 规格缺陷 → 标记 spec 待修(回 plan)
89
- 触发条件:
90
- - delta-specs 本身不合理或矛盾
91
- - 现有 specs/ 被违反但 delta-specs 未覆盖
92
- - 场景遗漏(关键路径缺少 spec 定义)
93
- - spec 与需求矛盾
94
-
95
- 行为:
96
- 1. 标记缺陷类型为 SPEC
97
- 2. 记录问题描述和修复建议
98
- 3. 输出 \`路由目标: plan(spec 待修)\`
99
- 4. 在 specs/ 中标记 \`[TODO: FIX SPEC]\`
100
- 5. 回 plan 修正规格
101
- \`\`\`
102
-
103
- ### 6. 产出 VERIFICATION.md
104
-
105
- \`\`\`markdown
106
- # Change: <名称> — 验证报告
107
-
108
- ## 测试结果
109
- - 单元测试: 通过 / 失败(N/N)
110
- - 类型检查: 通过 / 失败
111
- - 集成测试: 通过 / 失败(可选)
112
-
113
- ## 覆盖率
114
- - 正常路径: N/N
115
- - 边界路径: N/N
116
- - 异常路径: N/N
117
-
118
- ## 路由决策
119
- - 状态: passed | replan | reapply
120
- - 路由目标: (通过时不填)
121
- - 缺陷类型: PLAN | IMPLEMENTATION | SPEC
122
- - 根因: ...
123
- \`\`\`
124
-
125
- ## 产物
126
-
127
- - \`changes/<change-name>/VERIFICATION.md\` — 验证报告
128
-
129
- ## 验证
130
-
131
- - [ ] 测试套件全部通过(passed 时)
132
- - [ ] delta-specs SHALL/MUST 全覆盖
133
- - [ ] tasks.md 完成标准全通过
134
- - [ ] VERIFICATION.md 路由决策清晰
135
-
136
- ## 常见陷阱
137
-
138
- - 不要自己修发现的问题 — 路由是给主流程的信号,不是直接在 verify 中修改代码
139
- - 不要混淆缺陷类型 —「这代码写错了」是 IMPLEMENTATION,「这规格就不对」是 SPEC
140
- - 如果多个缺陷属于不同类型,按优先级最高的路由
141
- - 不要只跑单元测试 — 集成测试才能暴露接口交互问题
142
- - 路由前确认缺陷确实可重现,不是测试环境配置问题
143
-
144
- ## 参考
145
-
146
- - GSD Core 的 verify phase 回环机制
147
- - OpenSpec 的 verification 模板