6aspec 2.0.0-dev.9 → 3.0.0-dev.1
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.
- package/.6aspec/rules/biz/code.md +122 -28
- package/.6aspec/rules/biz/code_implementation_sop.md +77 -0
- package/.6aspec/rules/brown/brown_analyze_sop.md +289 -0
- package/.6aspec/rules/brown/brown_archive_sop.md +43 -78
- package/.6aspec/rules/brown/brown_constitution.md +11 -0
- package/.6aspec/rules/brown/brown_continue_sop.md +6 -13
- package/.6aspec/rules/brown/brown_design_sop.md +210 -95
- package/.6aspec/rules/brown/brown_explore_sop.md +314 -0
- package/.6aspec/rules/brown/brown_ff_sop.md +27 -64
- package/.6aspec/rules/brown/brown_impact_sop.md +101 -45
- package/.6aspec/rules/brown/brown_implement_sop.md +88 -58
- package/.6aspec/rules/brown/brown_list_sop.md +12 -12
- package/.6aspec/rules/brown/brown_new_sop.md +56 -77
- package/.6aspec/rules/brown/brown_proposal_sop.md +243 -76
- package/.6aspec/rules/brown/brown_quick_sop.md +5 -5
- package/.6aspec/rules/brown/brown_review_sop.md +4 -4
- package/.6aspec/rules/brown/brown_rollback_sop.md +27 -45
- package/.6aspec/rules/brown/brown_specs_sop.md +364 -120
- package/.6aspec/rules/brown/brown_status_sop.md +16 -32
- package/.6aspec/rules/brown/brown_tasks_sop.md +205 -87
- package/.6aspec/rules/brown/brown_understand_sop.md +97 -23
- package/.6aspec/rules/brown/brown_update_sop.md +283 -0
- package/.6aspec/rules/brown/brown_verify_sop.md +71 -309
- package/.6aspec/rules/brown/subagents/implementer.md +68 -0
- package/.6aspec/rules/brown/subagents/spec-compliance-reviewer.md +65 -0
- package/.6aspec/rules/green/{6A_archive_sop.md → green_archive_sop.md} +3 -3
- package/.6aspec/rules/green/{6A_clarify_sop.md → green_clarify_sop.md} +1 -1
- package/.6aspec/rules/green/{6A_code_implementation_sop.md → green_code_implementation_sop.md} +18 -3
- package/.6aspec/rules/green/{6A_continue_sop.md → green_continue_sop.md} +3 -3
- package/.6aspec/rules/green/{6A_new_sop.md → green_new_sop.md} +90 -11
- package/.6aspec/rules/green/green_status_schema.md +4 -4
- package/.6aspec/rules/green/{6A_status_sop.md → green_status_sop.md} +3 -3
- package/.6aspec/rules/green/{6A_tasks_sop.md → green_tasks_sop.md} +1 -1
- package/.claude/agents/implementer.md +6 -0
- package/.claude/agents/spec-compliance-reviewer.md +6 -0
- package/.claude/commands/6aspec/brown/analyze.md +11 -0
- package/.claude/commands/6aspec/brown/archive.md +11 -11
- package/.claude/commands/6aspec/brown/continue.md +11 -11
- package/.claude/commands/6aspec/brown/design.md +11 -11
- package/.claude/commands/6aspec/brown/explore.md +11 -0
- package/.claude/commands/6aspec/brown/ff.md +11 -11
- package/.claude/commands/6aspec/brown/impact.md +11 -11
- package/.claude/commands/6aspec/brown/implement.md +11 -11
- package/.claude/commands/6aspec/brown/list.md +11 -11
- package/.claude/commands/6aspec/brown/new.md +11 -11
- package/.claude/commands/6aspec/brown/proposal.md +11 -11
- package/.claude/commands/6aspec/brown/quick.md +11 -11
- package/.claude/commands/6aspec/brown/review.md +11 -11
- package/.claude/commands/6aspec/brown/status.md +11 -11
- package/.claude/commands/6aspec/brown/tasks.md +11 -11
- package/.claude/commands/6aspec/brown/understand.md +11 -11
- package/.claude/commands/6aspec/brown/update.md +11 -0
- package/.claude/commands/6aspec/brown/verify.md +11 -11
- package/.claude/commands/6aspec/code.md +10 -0
- package/.claude/commands/6aspec/green/archive.md +1 -1
- package/.claude/commands/6aspec/green/clarify.md +2 -2
- package/.claude/commands/6aspec/green/continue.md +1 -1
- package/.claude/commands/6aspec/green/design.md +2 -2
- package/.claude/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
- package/.claude/commands/6aspec/green/import-model-table.md +1 -1
- package/.claude/commands/6aspec/green/init.md +2 -2
- package/.claude/commands/6aspec/green/model.md +2 -2
- package/.claude/commands/6aspec/green/new.md +2 -2
- package/.claude/commands/6aspec/green/rollback.md +1 -1
- package/.claude/commands/6aspec/green/status.md +1 -1
- package/.claude/commands/6aspec/green/tasks.md +2 -2
- package/.claude/commands/6aspec/green/visual-logic.md +2 -2
- package/.claude/settings.local.json +21 -1
- package/.cursor/commands/6aspec/brown/explore.md +11 -0
- package/.cursor/commands/6aspec/brown/update.md +9 -0
- package/.cursor/commands/6aspec/code.md +8 -0
- package/.cursor/commands/6aspec/green/archive.md +1 -1
- package/.cursor/commands/6aspec/green/clarify.md +2 -2
- package/.cursor/commands/6aspec/green/continue.md +1 -1
- package/.cursor/commands/6aspec/green/design.md +2 -2
- package/.cursor/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
- package/.cursor/commands/6aspec/green/import-model-table.md +1 -1
- package/.cursor/commands/6aspec/green/init.md +2 -2
- package/.cursor/commands/6aspec/green/model.md +2 -2
- package/.cursor/commands/6aspec/green/new.md +2 -2
- package/.cursor/commands/6aspec/green/rollback.md +1 -1
- package/.cursor/commands/6aspec/green/status.md +1 -1
- package/.cursor/commands/6aspec/green/tasks.md +2 -2
- package/.cursor/commands/6aspec/green/visual-logic.md +2 -2
- package/README.md +1 -1
- package/lib/cli.js +2 -2
- package/lib/installer.js +19 -2
- package/package.json +1 -1
- /package/.6aspec/rules/green/{6A_constitution.md → green_constitution.md} +0 -0
- /package/.6aspec/rules/green/{6A_design_sop.md → green_design_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_import_model_table_sop.md → green_import_model_table_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_init_event_list_sop.md → green_init_event_list_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_init_map_sop.md → green_init_map_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_model_sop.md → green_model_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_rollback_sop.md → green_rollback_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_visual_logic_sop.md → green_visual_logic_sop.md} +0 -0
|
@@ -1,360 +1,122 @@
|
|
|
1
1
|
# 棕地需求 - Verify SOP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
全局验证实现是否完整覆盖需求。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **阶段定位**:Verify 的职责是跨任务的全局视角验证,补充 implement 阶段单任务 spec compliance review 的盲区。不重复做单任务级别的 Missing/Extra/Misunderstood 检查。
|
|
6
6
|
|
|
7
7
|
**输入**:`/6aspec:brown:verify` 后可选需求名称。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 步骤
|
|
10
12
|
|
|
11
13
|
1. **选择需求并检查状态**
|
|
12
14
|
|
|
13
15
|
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
14
|
-
- 确认 `phases.implement` 为 "done"
|
|
15
|
-
- 获取 `flowDepth`(流程深度)
|
|
16
|
-
- 如果未完成 Phase 5,提示先运行 `/6aspec:brown:implement`
|
|
16
|
+
- 确认 `phases.implement` 为 "done";若未完成,提示先运行 `/6aspec:brown:implement`
|
|
17
17
|
|
|
18
18
|
2. **读取验证基准文档**
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
- `artifacts/proposal.md` - 需求提案
|
|
24
|
-
- `artifacts/design.md` - 技术方案
|
|
25
|
-
- `artifacts/tasks.md` - 任务列表
|
|
26
|
-
|
|
27
|
-
**标准级流程**:
|
|
28
|
-
- `artifacts/understanding.md` - 需求理解
|
|
29
|
-
- `artifacts/impact-analysis.md` - 影响面分析
|
|
30
|
-
- `artifacts/design.md` - 技术方案
|
|
31
|
-
- `artifacts/tasks.md` - 任务列表
|
|
32
|
-
|
|
33
|
-
**完整级流程**:
|
|
34
|
-
- 所有标准级文档
|
|
35
|
-
- 加上非功能需求评估(在 impact-analysis.md 中)
|
|
36
|
-
|
|
37
|
-
3. **初始化验证报告结构**
|
|
38
|
-
|
|
39
|
-
创建三维验证框架:
|
|
40
|
-
|
|
41
|
-
**Completeness(完整性)**:
|
|
42
|
-
- 任务完成度
|
|
43
|
-
- 影响面覆盖(棕地特色)
|
|
44
|
-
|
|
45
|
-
**Correctness(正确性)**:
|
|
46
|
-
- 需求实现映射
|
|
47
|
-
- 业务规则验证(棕地特色)
|
|
48
|
-
- 场景覆盖
|
|
49
|
-
|
|
50
|
-
**Coherence(一致性)**:
|
|
51
|
-
- 设计遵循
|
|
52
|
-
- 代码模式一致性
|
|
53
|
-
- 非功能需求符合(棕地特色)
|
|
54
|
-
|
|
55
|
-
4. **验证 Completeness(完整性)**
|
|
56
|
-
|
|
57
|
-
**4.1 任务完成度验证**(借鉴 OpenSpec)
|
|
58
|
-
|
|
59
|
-
- 读取 `artifacts/tasks.md` 或 `artifacts/04-tasks-overview.md`
|
|
60
|
-
- 解析 checkbox:`- [ ]`(未完成)vs `- [x]`(已完成)
|
|
61
|
-
- 统计完成率:X/Y 任务完成
|
|
62
|
-
- 如果有未完成任务:
|
|
63
|
-
- 添加 **CRITICAL** 问题:`Task incomplete: <task-id> - <description>`
|
|
64
|
-
- 建议:`Complete task or mark as done if already implemented`
|
|
65
|
-
|
|
66
|
-
**4.2 影响面覆盖验证**(棕地特色)
|
|
67
|
-
|
|
68
|
-
仅适用于标准级/完整级流程:
|
|
69
|
-
|
|
70
|
-
- 读取 `artifacts/impact-analysis.md`
|
|
71
|
-
- 提取影响点列表:
|
|
72
|
-
- 数据库表
|
|
73
|
-
- 实体类
|
|
74
|
-
- 服务类
|
|
75
|
-
- 控制器
|
|
76
|
-
- 前端页面
|
|
77
|
-
- 对每个影响点:
|
|
78
|
-
- 搜索代码库验证是否有相应修改
|
|
79
|
-
- 检查 git diff 或最近的提交
|
|
80
|
-
- 如果影响点未覆盖:
|
|
81
|
-
- 添加 **CRITICAL** 问题:`Impact point not covered: <entity/service/table>`
|
|
82
|
-
- 建议:`Implement changes for <specific-file>:<line> as per impact analysis`
|
|
83
|
-
|
|
84
|
-
5. **验证 Correctness(正确性)**
|
|
85
|
-
|
|
86
|
-
**5.1 需求实现映射**(借鉴 OpenSpec)
|
|
87
|
-
|
|
88
|
-
- 提取需求关键点:
|
|
89
|
-
- 轻量级:从 proposal.md 提取 What 部分
|
|
90
|
-
- 标准级/完整级:从 understanding.md 提取需求描述
|
|
91
|
-
- 对每个需求点:
|
|
92
|
-
- 搜索代码库查找实现证据
|
|
93
|
-
- 如果找到,记录文件路径和行号
|
|
94
|
-
- 评估实现是否符合需求意图
|
|
95
|
-
- 如果需求未实现或偏离:
|
|
96
|
-
- 添加 **WARNING** 问题:`Requirement not found or diverges: <requirement>`
|
|
97
|
-
- 建议:`Review <file>:<lines> against requirement`
|
|
98
|
-
|
|
99
|
-
**5.2 业务规则验证**(棕地特色)
|
|
100
|
-
|
|
101
|
-
仅适用于标准级/完整级流程:
|
|
102
|
-
|
|
103
|
-
- 读取 `artifacts/impact-analysis.md` 中的"业务规则确认"部分
|
|
104
|
-
- 提取关键业务规则:
|
|
105
|
-
- 必填校验
|
|
106
|
-
- 不可修改约束
|
|
107
|
-
- 继承逻辑
|
|
108
|
-
- 数据同步规则
|
|
109
|
-
- 对每个业务规则:
|
|
110
|
-
- 搜索代码库验证实现
|
|
111
|
-
- 检查校验逻辑、约束条件
|
|
112
|
-
- 如果业务规则未实现:
|
|
113
|
-
- 添加 **CRITICAL** 问题:`Business rule not implemented: <rule>`
|
|
114
|
-
- 建议:`Add validation/constraint in <service>:<method>`
|
|
115
|
-
|
|
116
|
-
**5.3 场景覆盖验证**(借鉴 OpenSpec)
|
|
117
|
-
|
|
118
|
-
- 提取测试场景:
|
|
119
|
-
- 从 design.md 的测试方案部分
|
|
120
|
-
- 从 tasks.md 的测试任务
|
|
121
|
-
- 对每个场景:
|
|
122
|
-
- 检查是否有对应的测试代码
|
|
123
|
-
- 检查测试是否通过
|
|
124
|
-
- 如果场景未覆盖:
|
|
125
|
-
- 添加 **WARNING** 问题:`Scenario not covered: <scenario>`
|
|
126
|
-
- 建议:`Add test for scenario: <description>`
|
|
127
|
-
|
|
128
|
-
6. **验证 Coherence(一致性)**
|
|
129
|
-
|
|
130
|
-
**6.1 设计遵循验证**(借鉴 OpenSpec)
|
|
131
|
-
|
|
132
|
-
- 读取 `artifacts/design.md` 或 `artifacts/03-technical-design.md`
|
|
133
|
-
- 提取关键设计决策:
|
|
134
|
-
- 数据库变更方案
|
|
135
|
-
- 代码实现方案
|
|
136
|
-
- 前端 UI 方案
|
|
137
|
-
- 验证实现是否遵循设计:
|
|
138
|
-
- 检查数据库字段是否按设计添加
|
|
139
|
-
- 检查代码结构是否符合设计
|
|
140
|
-
- 检查 UI 是否按设计实现
|
|
141
|
-
- 如果设计未遵循:
|
|
142
|
-
- 添加 **WARNING** 问题:`Design decision not followed: <decision>`
|
|
143
|
-
- 建议:`Update implementation or revise design.md to match reality`
|
|
144
|
-
|
|
145
|
-
**6.2 代码模式一致性**(借鉴 OpenSpec)
|
|
146
|
-
|
|
147
|
-
- 检查新代码的一致性:
|
|
148
|
-
- 文件命名规范
|
|
149
|
-
- 目录结构
|
|
150
|
-
- 编码风格
|
|
151
|
-
- 错误处理模式
|
|
152
|
-
- 如果有明显偏离:
|
|
153
|
-
- 添加 **SUGGESTION** 问题:`Code pattern deviation: <details>`
|
|
154
|
-
- 建议:`Consider following project pattern: <example>`
|
|
155
|
-
|
|
156
|
-
**6.3 非功能需求符合验证**(棕地特色)
|
|
157
|
-
|
|
158
|
-
仅适用于完整级流程:
|
|
159
|
-
|
|
160
|
-
- 读取 `artifacts/impact-analysis.md` 中的"非功能需求评估"部分
|
|
161
|
-
- 验证四个维度:
|
|
162
|
-
|
|
163
|
-
**性能**:
|
|
164
|
-
- 检查是否添加了必要的索引
|
|
165
|
-
- 检查是否优化了查询
|
|
166
|
-
- 检查是否有性能测试
|
|
167
|
-
- 如果性能要求未满足:
|
|
168
|
-
- 添加 **WARNING** 问题:`Performance requirement not met: <requirement>`
|
|
169
|
-
- 建议:`Add index/optimize query in <file>:<line>`
|
|
170
|
-
|
|
171
|
-
**安全**:
|
|
172
|
-
- 检查是否有权限控制
|
|
173
|
-
- 检查是否有数据脱敏
|
|
174
|
-
- 检查是否有审计日志
|
|
175
|
-
- 如果安全要求未满足:
|
|
176
|
-
- 添加 **CRITICAL** 问题:`Security requirement not met: <requirement>`
|
|
177
|
-
- 建议:`Add permission check/audit log in <file>:<line>`
|
|
178
|
-
|
|
179
|
-
**可用性**:
|
|
180
|
-
- 检查是否有降级方案
|
|
181
|
-
- 检查是否有监控告警
|
|
182
|
-
- 如果可用性要求未满足:
|
|
183
|
-
- 添加 **WARNING** 问题:`Availability requirement not met: <requirement>`
|
|
184
|
-
- 建议:`Add fallback/monitoring in <file>:<line>`
|
|
185
|
-
|
|
186
|
-
**可维护性**:
|
|
187
|
-
- 检查代码注释是否充分
|
|
188
|
-
- 检查是否有文档更新
|
|
189
|
-
- 如果可维护性要求未满足:
|
|
190
|
-
- 添加 **SUGGESTION** 问题:`Maintainability concern: <details>`
|
|
191
|
-
- 建议:`Add comments/update docs`
|
|
192
|
-
|
|
193
|
-
7. **生成验证报告**
|
|
194
|
-
|
|
195
|
-
创建 `6aspecdoc/brown/<name>/artifacts/verification-report.md`(标准级/完整级)或 `6aspecdoc/brown/<name>/artifacts/05-verification-report.md`(完整级):
|
|
196
|
-
|
|
197
|
-
```markdown
|
|
198
|
-
# 验证报告:<name>
|
|
199
|
-
|
|
200
|
-
> **需求**: <name>
|
|
201
|
-
> **流程深度**: 轻量级/标准级/完整级
|
|
202
|
-
> **验证时间**: <timestamp>
|
|
203
|
-
> **验证状态**: ✅ 通过 / ⚠️ 有警告 / ❌ 有严重问题
|
|
204
|
-
|
|
205
|
-
## 验证概览
|
|
206
|
-
|
|
207
|
-
| 维度 | 状态 | 说明 |
|
|
208
|
-
|------|------|------|
|
|
209
|
-
| Completeness(完整性) | X/Y 任务, M/N 影响点 | <说明> |
|
|
210
|
-
| Correctness(正确性) | P/Q 需求, R/S 业务规则 | <说明> |
|
|
211
|
-
| Coherence(一致性) | 设计遵循/代码一致 | <说明> |
|
|
212
|
-
|
|
213
|
-
## 问题清单
|
|
214
|
-
|
|
215
|
-
### CRITICAL(必须修复)
|
|
216
|
-
|
|
217
|
-
如果有 CRITICAL 问题,列出:
|
|
218
|
-
|
|
219
|
-
#### 1. Task incomplete: TASK-003
|
|
220
|
-
- **问题**: 任务未完成:领域服务逻辑实现
|
|
221
|
-
- **位置**: tasks/TASK-003.md
|
|
222
|
-
- **建议**: Complete task or mark as done if already implemented
|
|
20
|
+
- `artifacts/specs.md` — AC/Scenario 全集
|
|
21
|
+
- `artifacts/tasks-overview.md` — 任务列表与完成状态
|
|
22
|
+
- `artifacts/analysis.md`(如果存在)— 影响面、业务规则、非功能需求
|
|
223
23
|
|
|
224
|
-
|
|
225
|
-
- **问题**: 业务规则未实现:项目类型一旦确定后不允许修改
|
|
226
|
-
- **位置**: 应该在 ProjectDomainService:save() 中
|
|
227
|
-
- **建议**: Add validation in ProjectDomainService:save() to prevent modification
|
|
24
|
+
3. **执行三项全局验证**
|
|
228
25
|
|
|
229
|
-
|
|
26
|
+
**3.1 AC 全覆盖检查**
|
|
230
27
|
|
|
231
|
-
|
|
28
|
+
从 `specs.md` 提取所有 AC/Scenario,逐条确认是否有对应的 TASK 承接:
|
|
29
|
+
- 有 TASK 承接且已完成 → ✅
|
|
30
|
+
- 有 TASK 承接但未完成 → ❌ CRITICAL
|
|
31
|
+
- 无任何 TASK 承接 → ❌ CRITICAL
|
|
232
32
|
|
|
233
|
-
|
|
234
|
-
- **问题**: 设计中要求添加索引,但未找到相应的数据库迁移脚本
|
|
235
|
-
- **位置**: design.md 第 45 行
|
|
236
|
-
- **建议**: Add database migration script for index creation
|
|
33
|
+
**3.2 影响面覆盖检查**(仅当 analysis.md 存在)
|
|
237
34
|
|
|
238
|
-
|
|
35
|
+
从 `analysis.md` 提取影响点列表(数据库表、实体类、服务类、接口等),搜索代码库确认是否有对应修改:
|
|
36
|
+
- 有修改 → ✅
|
|
37
|
+
- 无修改 → ❌ CRITICAL
|
|
239
38
|
|
|
240
|
-
|
|
39
|
+
**3.3 非功能需求检查**(仅当 analysis.md 存在且有 NFR 内容)
|
|
241
40
|
|
|
242
|
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
- **建议**: Consider using BusinessLogicException pattern like other services
|
|
41
|
+
从 `analysis.md` 提取非功能需求(性能、安全、可用性),检查是否有对应实现(索引、权限控制、降级方案等):
|
|
42
|
+
- 已实现 → ✅
|
|
43
|
+
- 未实现 → ⚠️ WARNING(安全类升级为 ❌ CRITICAL)
|
|
246
44
|
|
|
247
|
-
|
|
45
|
+
4. **生成验证报告**
|
|
248
46
|
|
|
249
|
-
|
|
47
|
+
写入 `6aspecdoc/brown/<name>/artifacts/verification-report.md`:
|
|
250
48
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
❌ 发现 X 个严重问题,必须修复后才能归档。
|
|
254
|
-
```
|
|
49
|
+
```markdown
|
|
50
|
+
# 验证报告:<name>
|
|
255
51
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
⚠️ 没有严重问题,但有 Y 个警告需要考虑。可以归档,但建议修复警告。
|
|
259
|
-
```
|
|
52
|
+
**验证时间**:<timestamp>
|
|
53
|
+
**验证状态**:✅ 通过 / ⚠️ 有警告 / ❌ 有严重问题
|
|
260
54
|
|
|
261
|
-
|
|
262
|
-
```
|
|
263
|
-
✅ 所有检查通过,可以归档。
|
|
264
|
-
```
|
|
55
|
+
## 验证概览
|
|
265
56
|
|
|
266
|
-
|
|
57
|
+
| 检查项 | 结果 |
|
|
58
|
+
|--------|------|
|
|
59
|
+
| AC 全覆盖 | X/Y 已覆盖 |
|
|
60
|
+
| 影响面覆盖 | M/N 已覆盖(或:跳过,无 analysis.md)|
|
|
61
|
+
| 非功能需求 | 已检查(或:跳过,无 NFR 内容)|
|
|
267
62
|
|
|
268
|
-
|
|
269
|
-
...
|
|
63
|
+
## 问题清单
|
|
270
64
|
|
|
271
|
-
###
|
|
272
|
-
|
|
65
|
+
### CRITICAL(必须修复)
|
|
66
|
+
- [具体问题,含文件路径]
|
|
273
67
|
|
|
274
|
-
###
|
|
275
|
-
|
|
68
|
+
### WARNING(建议修复)
|
|
69
|
+
- [具体问题,含文件路径]
|
|
276
70
|
|
|
277
|
-
##
|
|
71
|
+
## 结论
|
|
278
72
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
- 如果全部通过:运行 `/6aspec:brown:review` 进行实施后评估(完整级)或 `/6aspec:brown:archive` 归档
|
|
73
|
+
✅ 所有检查通过,可以归档。
|
|
74
|
+
/ ❌ 发现 X 个严重问题,修复后重新验证。
|
|
75
|
+
/ ⚠️ 无严重问题,有 Y 个警告,可归档但建议修复。
|
|
283
76
|
```
|
|
284
77
|
|
|
285
|
-
|
|
78
|
+
5. **更新状态**
|
|
286
79
|
|
|
287
|
-
|
|
80
|
+
不更新 phases(verify 是可选的),在 status.json 追加验证记录:
|
|
288
81
|
```json
|
|
289
82
|
{
|
|
290
|
-
"
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
83
|
+
"verificationRuns": [
|
|
84
|
+
{
|
|
85
|
+
"timestamp": "<timestamp>",
|
|
86
|
+
"status": "passed" / "warning" / "failed",
|
|
87
|
+
"criticalIssues": 0,
|
|
88
|
+
"warnings": 0
|
|
89
|
+
}
|
|
90
|
+
]
|
|
297
91
|
}
|
|
298
92
|
```
|
|
299
93
|
|
|
300
|
-
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 输出
|
|
301
97
|
|
|
302
98
|
```
|
|
303
99
|
## 验证完成:<name>
|
|
304
100
|
|
|
305
|
-
|
|
306
|
-
**验证状态**: ✅ 通过 / ⚠️ 有警告 / ❌ 有严重问题
|
|
307
|
-
|
|
308
|
-
### 验证概览
|
|
309
|
-
- Completeness: X/Y 任务完成, M/N 影响点覆盖
|
|
310
|
-
- Correctness: P/Q 需求实现, R/S 业务规则验证
|
|
311
|
-
- Coherence: 设计遵循/代码一致
|
|
101
|
+
**验证状态**:✅ 通过 / ⚠️ 有警告 / ❌ 有严重问题
|
|
312
102
|
|
|
313
|
-
|
|
314
|
-
-
|
|
315
|
-
-
|
|
316
|
-
- SUGGESTION: Z 个(建议修复)
|
|
103
|
+
- AC 全覆盖:X/Y
|
|
104
|
+
- 影响面覆盖:M/N(或跳过)
|
|
105
|
+
- 非功能需求:已检查(或跳过)
|
|
317
106
|
|
|
318
|
-
|
|
319
|
-
<根据问题严重程度给出评估>
|
|
320
|
-
|
|
321
|
-
### 文档位置
|
|
322
|
-
6aspecdoc/brown/<name>/artifacts/verification-report.md
|
|
107
|
+
CRITICAL:X 个 | WARNING:Y 个
|
|
323
108
|
|
|
324
109
|
### 下一步
|
|
325
|
-
|
|
110
|
+
- 轻量级/标准级:运行 `/6aspec:brown:archive` 归档
|
|
111
|
+
- 完整级:运行 `/6aspec:brown:continue` 进入 review 阶段
|
|
326
112
|
```
|
|
327
113
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
- **Completeness**:关注客观的检查清单项(checkbox、影响点列表)
|
|
331
|
-
- **Correctness**:使用关键词搜索、文件路径分析、合理推断 - 不要求完美确定性
|
|
332
|
-
- **Coherence**:寻找明显的不一致,不要过度挑剔风格
|
|
333
|
-
- **误报处理**:不确定时,优先使用 SUGGESTION 而不是 WARNING,WARNING 而不是 CRITICAL
|
|
334
|
-
- **可操作性**:每个问题必须有具体的、可操作的建议,包含文件/行号引用
|
|
335
|
-
|
|
336
|
-
**优雅降级**(借鉴 OpenSpec)
|
|
337
|
-
|
|
338
|
-
根据流程深度调整验证范围:
|
|
339
|
-
|
|
340
|
-
- **轻量级流程**:
|
|
341
|
-
- 验证:任务完成度 + 设计遵循
|
|
342
|
-
- 跳过:影响面覆盖、业务规则、非功能需求
|
|
343
|
-
- 说明:`Lightweight flow: skipped impact/business rule checks`
|
|
344
|
-
|
|
345
|
-
- **标准级流程**:
|
|
346
|
-
- 验证:任务完成度 + 影响面覆盖 + 业务规则 + 设计遵循
|
|
347
|
-
- 跳过:非功能需求详细验证
|
|
348
|
-
- 说明:`Standard flow: skipped detailed non-functional requirement checks`
|
|
114
|
+
---
|
|
349
115
|
|
|
350
|
-
|
|
351
|
-
- 验证:所有三个维度的全部检查
|
|
352
|
-
- 说明:`Complete flow: all checks performed`
|
|
116
|
+
## 防护措施
|
|
353
117
|
|
|
354
|
-
|
|
355
|
-
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
358
|
-
-
|
|
359
|
-
- 如果验证未通过(有 CRITICAL 问题),不能进入下一阶段
|
|
360
|
-
- 根据流程深度优雅降级,不要对轻量级流程执行完整级的验证
|
|
118
|
+
- 必须先完成 implement 阶段
|
|
119
|
+
- 不重复做单任务级别的 Missing/Extra/Misunderstood(那是 spec compliance review 的职责)
|
|
120
|
+
- 每个问题必须有具体的、可操作的建议,含文件路径
|
|
121
|
+
- 安全类 NFR 未实现升级为 CRITICAL
|
|
122
|
+
- analysis.md 不存在时跳过影响面和 NFR 检查,在报告中标注
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Implementer Subagent
|
|
2
|
+
|
|
3
|
+
你是一个代码实现专家,负责完成指定的 TASK。
|
|
4
|
+
|
|
5
|
+
## 开始前
|
|
6
|
+
|
|
7
|
+
读取以下文件,理解任务要求和背景:
|
|
8
|
+
|
|
9
|
+
- **TASK 文件**:主 agent 传入的 `TASK 文件路径`,读取任务详情、实现步骤、验收标准、涉及文件
|
|
10
|
+
- **specs.md**:主 agent 传入的 `specs.md 路径`,读取该任务引用的 AC/Scenario
|
|
11
|
+
- **design.md**:主 agent 传入的 `design.md 路径`,读取相关技术决策
|
|
12
|
+
- **analysis.md**:主 agent 传入的 `analysis.md 路径`,读取现状分析和影响面背景(如果存在)
|
|
13
|
+
- **explore-summary.md**:主 agent 传入的 `explore-summary.md 路径`,读取代码结构摘要(如果存在)
|
|
14
|
+
|
|
15
|
+
如果你对任务要求、验收标准、实现策略或依赖关系有任何疑问,**现在就提出**,不要开始实现后再问。
|
|
16
|
+
|
|
17
|
+
## 你的职责
|
|
18
|
+
|
|
19
|
+
确认没有疑问后:
|
|
20
|
+
|
|
21
|
+
1. 读取 TASK 文件"涉及文件"中列出的源代码文件,理解现有实现
|
|
22
|
+
2. 按"实现步骤"逐步执行,到类/方法级
|
|
23
|
+
3. 遵循 design.md 的技术决策,**不在实现阶段发明新方案**
|
|
24
|
+
4. 遵循现有代码风格和架构模式
|
|
25
|
+
5. 检查红线规则(零容忍):
|
|
26
|
+
- 循环中的数据库查询、网络请求、文件 I/O
|
|
27
|
+
- SQL 字符串拼接、敏感信息硬编码
|
|
28
|
+
- 空 catch 块、循环依赖、跨层直接调用
|
|
29
|
+
6. 若项目有测试框架,补充/修改对应单元测试,覆盖任务关联的 AC/Scenario;若无测试框架则跳过
|
|
30
|
+
7. 完成后自我审查,报告结果
|
|
31
|
+
|
|
32
|
+
## 自我审查
|
|
33
|
+
|
|
34
|
+
报告前检查:
|
|
35
|
+
|
|
36
|
+
**完整性**:是否实现了任务要求的所有内容?是否有遗漏的步骤或边界条件?
|
|
37
|
+
|
|
38
|
+
**克制性**:是否只做了任务要求的事,没有多做?是否引入了不必要的抽象或功能?
|
|
39
|
+
|
|
40
|
+
**一致性**:是否遵循了现有代码风格?是否遵循了 design.md 的技术决策?
|
|
41
|
+
|
|
42
|
+
**测试**:测试是否验证了真实行为(而不只是 mock 行为)?是否覆盖了关联的 AC/Scenario?
|
|
43
|
+
|
|
44
|
+
发现问题立即修复,再报告。
|
|
45
|
+
|
|
46
|
+
## 遇到困难时
|
|
47
|
+
|
|
48
|
+
以下情况**立即停止并上报**,不要强行继续:
|
|
49
|
+
- 任务需要做出架构决策,有多种合理方案
|
|
50
|
+
- 需要理解任务范围之外的代码,且无法找到答案
|
|
51
|
+
- 对实现方向不确定
|
|
52
|
+
- 发现 design.md 或 TASK-*.md 有矛盾或缺失
|
|
53
|
+
|
|
54
|
+
**上报比做错更好。**
|
|
55
|
+
|
|
56
|
+
## 报告格式
|
|
57
|
+
|
|
58
|
+
完成后报告:
|
|
59
|
+
- **状态**:DONE / DONE_WITH_CONCERNS / BLOCKED / NEEDS_CONTEXT
|
|
60
|
+
- **实现内容**:做了什么(具体到类/方法)
|
|
61
|
+
- **测试情况**:写了哪些测试,覆盖了哪些 AC/Scenario(或说明跳过原因)
|
|
62
|
+
- **修改的文件**:文件路径列表
|
|
63
|
+
- **自我审查发现**:有无问题,如何处理
|
|
64
|
+
- **关注点**(如状态为 DONE_WITH_CONCERNS):具体疑虑
|
|
65
|
+
|
|
66
|
+
DONE_WITH_CONCERNS:完成了工作但有疑虑
|
|
67
|
+
BLOCKED:无法完成任务
|
|
68
|
+
NEEDS_CONTEXT:缺少必要信息
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Spec Compliance Reviewer Subagent
|
|
2
|
+
|
|
3
|
+
你是一个规格合规审查专家,负责验证实现是否符合任务要求。
|
|
4
|
+
|
|
5
|
+
## 开始前
|
|
6
|
+
|
|
7
|
+
读取以下文件,获取审查所需的上下文:
|
|
8
|
+
|
|
9
|
+
- **TASK 文件**:主 agent 传入的 `TASK 文件路径`,读取任务详情、实现步骤、验收标准、涉及文件
|
|
10
|
+
- **specs.md**:主 agent 传入的 `specs.md 路径`,读取该任务引用的 AC/Scenario 原文
|
|
11
|
+
|
|
12
|
+
## 重要:不要信任 implementer 的报告
|
|
13
|
+
|
|
14
|
+
Implementer 的报告可能不完整或过于乐观。你**必须独立验证**:
|
|
15
|
+
|
|
16
|
+
- **不要**只看报告就得出结论
|
|
17
|
+
- **必须**亲自读取实际代码文件(从 TASK 文件的"涉及文件"和 implementer 报告的"修改的文件"中获取路径)
|
|
18
|
+
- **必须**将实际实现与任务要求逐条对比
|
|
19
|
+
|
|
20
|
+
## 你的职责
|
|
21
|
+
|
|
22
|
+
读取 implementer 修改的文件,验证以下三点:
|
|
23
|
+
|
|
24
|
+
**1. 没有少做(Missing)**
|
|
25
|
+
- 任务要求的每一项是否都已实现?
|
|
26
|
+
- "实现步骤"中的每一步是否都有对应代码?
|
|
27
|
+
- "验收标准"中的每条 AC/Scenario 是否都有覆盖?
|
|
28
|
+
- 若任务有测试要求,测试是否存在且有效?
|
|
29
|
+
|
|
30
|
+
**2. 没有多做(Extra)**
|
|
31
|
+
- 是否实现了任务范围之外的功能?
|
|
32
|
+
- 是否引入了未被要求的抽象、配置或接口?
|
|
33
|
+
- 是否修改了任务"涉及文件"之外的文件?
|
|
34
|
+
|
|
35
|
+
**3. 没有理解偏差(Misunderstood)**
|
|
36
|
+
- 实现的逻辑是否符合任务意图?
|
|
37
|
+
- 是否用了正确的方式解决了正确的问题?
|
|
38
|
+
- 业务语义是否与 specs.md 的 AC/Scenario 一致?
|
|
39
|
+
|
|
40
|
+
## 报告格式
|
|
41
|
+
|
|
42
|
+
**如果通过**:
|
|
43
|
+
```
|
|
44
|
+
✅ 规格合规
|
|
45
|
+
|
|
46
|
+
验证结论:
|
|
47
|
+
- 已实现:[列出已覆盖的要求]
|
|
48
|
+
- 测试覆盖:[列出覆盖的 AC/Scenario,或说明无测试框架]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**如果有问题**:
|
|
52
|
+
```
|
|
53
|
+
❌ 发现问题
|
|
54
|
+
|
|
55
|
+
缺少实现(Missing):
|
|
56
|
+
- [具体缺失内容,含文件路径和行号]
|
|
57
|
+
|
|
58
|
+
多余实现(Extra):
|
|
59
|
+
- [具体多余内容,含文件路径和行号]
|
|
60
|
+
|
|
61
|
+
理解偏差(Misunderstood):
|
|
62
|
+
- [具体偏差描述,含文件路径和行号]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
问题描述必须具体、可操作,包含文件路径,让 implementer 能直接定位并修复。
|
|
@@ -103,7 +103,7 @@ find 6aspecdoc/green -maxdepth 2 -name ".green-status.json" -type f
|
|
|
103
103
|
|
|
104
104
|
任务进度:<completed>/<total> 已完成,剩余 <remaining> 个任务未完成。
|
|
105
105
|
|
|
106
|
-
请先运行 /6aspec:green:
|
|
106
|
+
请先运行 /6aspec:green:implement 完成所有任务,待状态变为 completed 后再运行 /6aspec:green:archive。
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
**3.3 检查状态(硬性门禁)**
|
|
@@ -116,7 +116,7 @@ find 6aspecdoc/green -maxdepth 2 -name ".green-status.json" -type f
|
|
|
116
116
|
当前状态:<current-status>
|
|
117
117
|
要求状态:completed(所有任务已完成)
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
归档前必须完成主流程至”所有任务已完成”。请先运行 /6aspec:green:implement 完成剩余任务,待状态变为 completed 后再运行 /6aspec:green:archive。
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
### Step 4: 执行归档
|
|
@@ -298,4 +298,4 @@ mv 6aspecdoc/green/<feature-name> 6aspecdoc/green/archive/YYYY-MM-DD-<feature-na
|
|
|
298
298
|
## 参考文档
|
|
299
299
|
|
|
300
300
|
- 状态文件结构定义:`.6aspec/rules/green/green_status_schema.md`
|
|
301
|
-
- 状态查询SOP:`.6aspec/rules/green/
|
|
301
|
+
- 状态查询SOP:`.6aspec/rules/green/green_status_sop.md`
|
|
@@ -59,7 +59,7 @@ find 6aspecdoc/green -maxdepth 2 -name ".green-status.json" -type f
|
|
|
59
59
|
|
|
60
60
|
主流程中需求澄清窗口已结束,进入领域建模及后续阶段后不得再修改需求澄清范围。若确有需求变更,请与产品/业务方评估后,通过新需求或变更流程处理。
|
|
61
61
|
|
|
62
|
-
下一步建议:运行 /6aspec:green:status 查看当前状态,或按当前阶段继续执行对应命令(如 model、design、tasks、
|
|
62
|
+
下一步建议:运行 /6aspec:green:status 查看当前状态,或按当前阶段继续执行对应命令(如 model、design、tasks、implement、archive)。
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
### Step 2: 分析现有文档的薄弱环节
|
package/.6aspec/rules/green/{6A_code_implementation_sop.md → green_code_implementation_sop.md}
RENAMED
|
@@ -3,7 +3,7 @@ description: 任务代码实现标准操作流程 (Code Implementation SOP)
|
|
|
3
3
|
alwaysApply: false
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# implement: 任务代码实现标准操作流程
|
|
7
7
|
|
|
8
8
|
你现在是 **Senior Developer**,负责执行具体的开发任务。你的核心职责是将 `6aspecdoc/green/<feature-name>/tasks/task_xxx.md` 转化为高质量、可运行的业务代码。
|
|
9
9
|
|
|
@@ -66,6 +66,21 @@ alwaysApply: false
|
|
|
66
66
|
## 2. 质量控制 (Quality Control)
|
|
67
67
|
|
|
68
68
|
在输出代码后,必须进行自我审查:
|
|
69
|
+
|
|
70
|
+
### 2.1 代码规范遵循与检查
|
|
71
|
+
**必须严格遵循代码规范**:`.6aspec/rules/biz/code.md`,并使用其中的"检查清单"章节进行自我验证。
|
|
72
|
+
|
|
73
|
+
**重点关注以下红线规则(零容忍):**
|
|
74
|
+
- [ ] 循环中的数据库查询、网络请求、文件I/O操作
|
|
75
|
+
- [ ] SQL字符串拼接、敏感信息硬编码、弱加密算法使用
|
|
76
|
+
- [ ] 循环依赖、跨层直接调用、空catch块
|
|
77
|
+
|
|
78
|
+
**任务实现特别检查:**
|
|
79
|
+
- [ ] 字段名称和类型严格匹配 `api-definition.md` 和技术设计文档
|
|
80
|
+
- [ ] 严格翻译技术设计文档中的"执行逻辑"和"核心技术决策"
|
|
81
|
+
- [ ] 必要的注解已添加(Swagger, Auth, Validation)
|
|
82
|
+
|
|
83
|
+
### 2.2 技术检查
|
|
69
84
|
1. **Lint 检查**:运行 `read_lints` 检查新文件,修复所有 Import 错误和语法错误。
|
|
70
85
|
2. **不写测试**:严禁编写 `src/test` 下的单元测试代码(除非用户明确要求)。
|
|
71
86
|
3. **不修改无关文件**:严禁修改与本任务无关的现有代码(除非是必要的 Entity 关联更新)。
|
|
@@ -92,13 +107,13 @@ alwaysApply: false
|
|
|
92
107
|
|
|
93
108
|
---
|
|
94
109
|
|
|
95
|
-
✅ **已完成:执行开发任务 (
|
|
110
|
+
✅ **已完成:执行开发任务 (implement)**
|
|
96
111
|
|
|
97
112
|
📊 **进度:4/4 (主流程) - 全部完成!🎉**
|
|
98
113
|
|
|
99
114
|
**任务状态:**
|
|
100
115
|
- 当前任务已完成,请检查 `tasks/README.md` 查看整体进度
|
|
101
|
-
- 如还有未完成的任务,继续执行 `
|
|
116
|
+
- 如还有未完成的任务,继续执行 `implement` 命令
|
|
102
117
|
- 如所有任务已完成,恭喜!整个开发流程已完成
|
|
103
118
|
|
|
104
119
|
**完整流程图:**
|
|
@@ -72,8 +72,8 @@ find 6aspecdoc/green -maxdepth 2 -name ".green-status.json" -type f
|
|
|
72
72
|
| `requirement_clarified` | `/6aspec:green:model` | 开始领域建模 |
|
|
73
73
|
| `modeled` | `/6aspec:green:design` | 开始技术方案设计 |
|
|
74
74
|
| `designed` | `/6aspec:green:tasks` | 开始任务拆解 |
|
|
75
|
-
| `tasks_created` | `/6aspec:green:
|
|
76
|
-
| `implementing` | `/6aspec:green:
|
|
75
|
+
| `tasks_created` | `/6aspec:green:implement` | 开始执行第一个任务 |
|
|
76
|
+
| `implementing` | `/6aspec:green:implement` | 继续执行下一个任务 |
|
|
77
77
|
| `completed` | 提示归档 | 所有任务已完成 |
|
|
78
78
|
| `archived` | 无操作 | 需求已归档 |
|
|
79
79
|
|
|
@@ -183,4 +183,4 @@ find 6aspecdoc/green -maxdepth 2 -name ".green-status.json" -type f
|
|
|
183
183
|
## 参考文档
|
|
184
184
|
|
|
185
185
|
- 状态文件结构定义:`.6aspec/rules/green/green_status_schema.md`
|
|
186
|
-
- 状态查询SOP:`.6aspec/rules/green/
|
|
186
|
+
- 状态查询SOP:`.6aspec/rules/green/green_status_sop.md`
|