6aspec 2.0.0-dev.28 → 2.0.0-dev.29

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.
@@ -2,146 +2,205 @@
2
2
 
3
3
  Phase 4: 任务拆解与排期
4
4
 
5
+ > **阶段定位**:Tasks 的目标是把 `design.md` 的技术蓝图落成“可执行的原子任务”。
6
+ > - **里程碑(Milestone)**:用于组织任务与依赖关系、前置暴露风险(集成/迁移/兼容等)。里程碑不是任务。
7
+ > - **任务(TASK)**:原子可交付单元;可独立完成;输入/输出明确;验收标准清晰;建议工作量 0.5-3 人日。
8
+ > - **边界承接**:
9
+ > - API/回调/事件的**具体出入参字段清单**在 Tasks 阶段落地(Design 只写契约语义要点)。
10
+ > - **修改存量表**的 ALTER/索引/脚本/校验 SQL 在 Tasks 阶段落地(Design 只写语义与迁移策略)。
11
+ > - **新增表**若 Design 已给 DDL,Tasks 负责把 DDL/脚本落实为可执行变更与回滚方案。
12
+
5
13
  **输入**:`/6aspec:brown:tasks` 后可选需求名称。
6
14
 
7
- **步骤**
15
+ ---
16
+
17
+ ## 步骤
8
18
 
9
19
  1. **选择需求并检查状态**
10
20
 
11
21
  - 读取 `6aspecdoc/brown/<name>/status.json`
12
22
  - 确认 `phases.design` 为 "done"
13
- - 如果未完成 Phase 3,提示先运行 `/6aspec:brown:design`
23
+ - 若未完成 Design,提示先运行 `/6aspec:brown:design`
14
24
 
15
25
  2. **读取前置文档**
16
26
 
17
27
  根据 `flowDepth` 读取不同的前置文档:
18
28
 
19
29
  **轻量级流程**:
20
- - `6aspecdoc/brown/<name>/artifacts/design.md`
30
+ - `6aspecdoc/brown/<name>/artifacts/proposal.md`
21
31
  - `6aspecdoc/brown/<name>/artifacts/specs.md`
32
+ - `6aspecdoc/brown/<name>/artifacts/design.md`
33
+ - `6aspecdoc/brown/<name>/explore-summary.md` - 探索摘要(如果存在)
22
34
 
23
35
  **标准级/完整级流程**:
24
- - `6aspecdoc/brown/<name>/artifacts/design.md`
36
+ - `6aspecdoc/brown/<name>/artifacts/proposal.md`
37
+ - `6aspecdoc/brown/<name>/artifacts/understanding.md`
38
+ - `6aspecdoc/brown/<name>/artifacts/impact-analysis.md`
25
39
  - `6aspecdoc/brown/<name>/artifacts/specs.md`
40
+ - `6aspecdoc/brown/<name>/artifacts/design.md`
26
41
 
27
- 3. **原子任务拆解**
42
+ 3. **原子任务拆解(以里程碑组织)**
28
43
 
29
- 按以下维度拆解任务:
44
+ 先基于 `design.md` 梳理里程碑,再在每个里程碑下拆成原子任务。
30
45
 
31
46
  **拆解原则**:
32
- - 可以独立完成
33
- - 有明确的输入和输出
34
- - 有清晰的验收标准
35
- - 预估工作量在 0.5-3 人日
47
+ - 可以独立完成(必要依赖明确)
48
+ - 有明确的输入与输出
49
+ - 有清晰的验收标准(可对齐 Specs 的 AC / Scenarios)
50
+ - 预估工作量在 0.5-3 人日(超过则继续拆分)
36
51
 
37
- **拆解维度**:
38
- - 按技术层次:数据层业务层表现层测试
52
+ **拆解维度**(可组合使用):
53
+ - 按交付里程碑:契约与集成数据变更迁移/兼容/回滚核心链路 → 集成联调与观测 → 测试与发布准备
39
54
  - 按功能模块:模块A → 模块B → 模块C
40
55
  - 按依赖关系:前置任务 → 核心任务 → 后置任务
56
+ - 按横切能力:Integration / Migration / Compatibility / Observability / Security
41
57
 
42
- 4. **任务命名**
58
+ 4. **任务命名与元信息**
43
59
 
44
60
  使用规范:`TASK-<序号>-<简短描述>`
45
61
 
46
62
  示例:
47
- - TASK-001-database-fields
48
- - TASK-002-entity-classes
49
- - TASK-003-domain-service-logic
63
+ - `TASK-001-contract-and-idempotency`
64
+ - `TASK-010-db-migration-scripts`
65
+ - `TASK-020-external-callback-handler`
66
+
67
+ 每个任务必须标注:
68
+ - 所属里程碑
69
+ - 涉及能力标签(DB/BE/FE/QA/Integration/Migration/Observability)
50
70
 
51
- 5. **创建任务文档**
71
+ 5. **创建任务文档(TASK-*.md)**
52
72
 
53
73
  为每个任务创建 `6aspecdoc/brown/<name>/tasks/TASK-<序号>.md`:
74
+
54
75
  ```markdown
55
76
  # TASK-<序号>: <任务名称>
56
77
 
57
78
  > **任务ID**: TASK-<序号>
79
+ > **所属里程碑**: <M0/M1/...>
80
+ > **涉及能力**: DB / BE / FE / QA / Integration / Migration / Observability
58
81
  > **状态**: 📋 待开始
59
82
  > **优先级**: 🔴 P0 / 🟡 P1
60
- > **预估工作量**: X人日
83
+ > **预估工作量**: X 人日
61
84
  > **负责人**: 待分配
62
85
 
63
86
  ## 任务概述
64
- ### 任务描述
65
- ### 目标
66
- ### 涉及文件
87
+ - **任务描述**:<一句话说明要交付什么>
88
+ - **目标**:<完成后可验证的目标>
67
89
 
68
90
  ## 依赖关系
69
- ### 前置依赖
70
- ### 后置任务
91
+ - **前置依赖**:<TASK-xxx>
92
+ - **后置任务**:<TASK-yyy>
71
93
 
72
94
  ## 输入
95
+ - specs.md:<引用相关 Capability/Requirement/AC/Scenario>
96
+ - design.md:<引用相关模块/边界/事件流/集成/迁移策略>
97
+
73
98
  ## 输出
99
+ - <代码/脚本/配置/文档/验证产物>
100
+
74
101
  ## 详细步骤
102
+ 1. ...
103
+ 2. ...
104
+
75
105
  ## 验收标准
106
+ - 与 Specs 对齐的 AC/Scenario 覆盖:<列出 ACx / Sx>
107
+ - 可观测性:<是否需要处理记录、trace、日志等可查证输出>
108
+
109
+ ## 契约与接口出入参(如适用)
110
+ > 用于落地 API/回调/事件的具体字段清单与口径(Design 不展开字段清单)。
111
+ - **接口/回调/事件名称**:<...>
112
+ - **请求字段**:<字段名/含义/必填/兼容策略>
113
+ - **响应字段**:<字段名/含义/必填/兼容策略>
114
+ - **错误语义**:<错误码/错误类型>
115
+ - **幂等语义**:<幂等键/重复请求处理规则>
116
+
117
+ ## 数据库变更(如适用)
118
+ - **新增表**:<若已有 DDL,注明复用;若需补充,写出最终 DDL 与回滚要点>
119
+ - **修改存量表**:<ALTER/索引/回滚脚本任务拆分点>
120
+ - **校验 SQL**:<关键校验点>
121
+
122
+ ## 迁移 / 兼容 / 回滚(如适用)
123
+ - **迁移/回填策略**:<步骤与边界>
124
+ - **兼容性策略**:<行为/数据/集成兼容>
125
+ - **灰度/开关验证**:<需要验证的开关点>
126
+ - **回滚策略**:<回滚影响与限制>
127
+
76
128
  ## 风险与注意事项
129
+ - <风险1>
130
+ - <风险2>
131
+
77
132
  ## 参考资料
133
+ - <链接或文件路径>
78
134
  ```
79
135
 
80
- 6. **创建任务总览**
136
+ 6. **创建任务总览(按里程碑)**
81
137
 
82
138
  创建 `6aspecdoc/brown/<name>/artifacts/tasks-overview.md`:
139
+
83
140
  ```markdown
84
141
  # Phase 4: 任务拆解与排期
85
142
 
86
143
  > **需求**: <name>
87
- > **阶段**: Phase 4 - 任务拆解
144
+ > **阶段**: Phase 4 - Tasks
88
145
  > **状态**: ✅ 已完成
89
146
  > **完成时间**: <timestamp>
90
147
 
91
- ## 任务列表
148
+ ## 里程碑与任务列表
149
+
150
+ ### M0: 契约与集成准备(Integration/Contract)
151
+ - [ ] [TASK-001: 对齐回调/事件幂等语义与处理记录(含验收点)](../tasks/TASK-001.md)
152
+ - [ ] [TASK-002: 外部系统集成联调前置(认证/失败语义/对账点)](../tasks/TASK-002.md)
92
153
 
93
- ### 阶段 1: 数据层
94
- - [ ] TASK-001: 数据库字段配置
95
- - [ ] TASK-002: 实体类字段添加
154
+ ### M1: 数据变更准备(DB Change)
155
+ - [ ] [TASK-010: 新增表 DDL 落地与回滚方案(如适用)](../tasks/TASK-010.md)
156
+ - [ ] [TASK-011: 存量表 ALTER/索引/脚本任务拆分(如适用)](../tasks/TASK-011.md)
96
157
 
97
- ### 阶段 2: 业务层
98
- - [ ] TASK-003: 领域服务逻辑实现
99
- - [ ] TASK-004: 应用服务逻辑实现
158
+ ### M2: 迁移 / 兼容 / 回滚(Migration/Compatibility)
159
+ - [ ] [TASK-020: 数据回填/迁移脚本与校验 SQL](../tasks/TASK-020.md)
160
+ - [ ] [TASK-021: 兼容策略与灰度/开关验证清单](../tasks/TASK-021.md)
100
161
 
101
- ### 阶段 3: 表现层
102
- - [ ] TASK-005: API 接口更新
103
- - [ ] TASK-006: 前端 UI 开发
162
+ ### M3: 核心链路实现(Core Flow)
163
+ - [ ] [TASK-030: 核心业务逻辑实现(对齐 AC/Scenario)](../tasks/TASK-030.md)
164
+ - [ ] [TASK-031: 定时任务/事件消费/回调处理实现(如适用)](../tasks/TASK-031.md)
104
165
 
105
- ### 阶段 4: 测试
106
- - [ ] TASK-007: 单元测试
107
- - [ ] TASK-008: 集成测试
166
+ ### M4: 集成联调与可观测性(Integration & Observability)
167
+ - [ ] [TASK-040: 集成联调与异常路径验证(重试/乱序/重复)](../tasks/TASK-040.md)
168
+ - [ ] [TASK-041: 可观测性补齐(处理记录可查、日志/指标/追踪要点)](../tasks/TASK-041.md)
108
169
 
109
- ## 依赖关系图
170
+ ### M5: 测试与发布准备(Validation & Release)
171
+ - [ ] [TASK-050: 回归与验证矩阵落地(覆盖关键 AC/Scenario)](../tasks/TASK-050.md)
172
+ - [ ] [TASK-051: 发布检查清单(灰度/回滚演练要点)](../tasks/TASK-051.md)
173
+
174
+ ## 依赖关系图(示例)
110
175
 
111
176
  ```mermaid
112
177
  graph TD
113
- TASK-001 --> TASK-002
114
- TASK-002 --> TASK-003
115
- TASK-003 --> TASK-004
116
- TASK-004 --> TASK-005
117
- TASK-005 --> TASK-006
118
- TASK-006 --> TASK-007
119
- TASK-007 --> TASK-008
178
+ TASK001 --> TASK010
179
+ TASK010 --> TASK020
180
+ TASK020 --> TASK030
181
+ TASK030 --> TASK040
182
+ TASK040 --> TASK050
120
183
  ```
121
184
 
122
185
  ## 工作量统计
123
186
 
124
- | 阶段 | 任务数 | 预估工时 |
187
+ | 里程碑 | 任务数 | 预估工时 |
125
188
  |------|--------|----------|
126
- | 数据层 | 2 | 1.5人日 |
127
- | 业务层 | 2 | 4人日 |
128
- | 表现层 | 2 | 5人日 |
129
- | 测试 | 2 | 4人日 |
130
- | **总计** | **8** | **14.5人日** |
131
-
132
- ## 关键里程碑
133
-
134
- - 里程碑 1: 数据层完成(TASK-001, TASK-002)
135
- - 里程碑 2: 业务层完成(TASK-003, TASK-004)
136
- - 里程碑 3: 表现层完成(TASK-005, TASK-006)
137
- - 里程碑 4: 测试完成(TASK-007, TASK-008)
189
+ | M0 | <n> | <x> 人日 |
190
+ | M1 | <n> | <x> 人日 |
191
+ | M2 | <n> | <x> 人日 |
192
+ | M3 | <n> | <x> 人日 |
193
+ | M4 | <n> | <x> 人日 |
194
+ | M5 | <n> | <x> 人日 |
195
+ | **总计** | **<n>** | **<x> 人日** |
138
196
 
139
197
  ## 风险清单
140
198
 
141
199
  | 风险 | 影响 | 应对措施 |
142
200
  |------|------|----------|
143
- | 历史数据迁移失败 | 高 | 提前备份,准备回滚方案 |
144
- | API 不兼容 | | 版本控制,灰度发布 |
201
+ | 历史数据迁移/回填失败 | 高 | 提前准备校验 SQL 与回滚方案;灰度验证 |
202
+ | 外部回调乱序/重复投递 | | 明确幂等键与业务语义;补齐处理记录与对账点 |
203
+ | 集成不兼容/调用方影响 | 中 | 明确兼容策略与灰度开关;联调用例覆盖 |
145
204
 
146
205
  ## 下一步
147
206
 
@@ -151,21 +210,72 @@ Phase 4: 任务拆解与排期
151
210
  7. **更新状态**
152
211
 
153
212
  更新 `6aspecdoc/brown/<name>/status.json`:
213
+
214
+ **轻量级流程**:
215
+ ```json
216
+ {
217
+ "status": "implement_pending",
218
+ "flowDepth": "lightweight",
219
+ "phases": {
220
+ "proposal": "done",
221
+ "specs": "done",
222
+ "design": "done",
223
+ "tasks": "done",
224
+ "implement": "pending"
225
+ },
226
+ "artifacts": ["proposal.md", "specs.md", "design.md", "tasks-overview.md"],
227
+ "tasks": {
228
+ "total": <N>,
229
+ "completed": 0,
230
+ "pending": <N>
231
+ }
232
+ }
233
+ ```
234
+
235
+ **标准级流程**:
236
+ ```json
237
+ {
238
+ "status": "implement_pending",
239
+ "flowDepth": "standard",
240
+ "phases": {
241
+ "understand": "done",
242
+ "impact": "done",
243
+ "proposal": "done",
244
+ "specs": "done",
245
+ "design": "done",
246
+ "tasks": "done",
247
+ "implement": "pending"
248
+ },
249
+ "artifacts": ["understanding.md", "impact-analysis.md", "proposal.md", "specs.md", "design.md", "tasks-overview.md"],
250
+ "tasks": {
251
+ "total": <N>,
252
+ "completed": 0,
253
+ "pending": <N>
254
+ }
255
+ }
256
+ ```
257
+
258
+ **完整级流程**:
154
259
  ```json
155
260
  {
156
261
  "status": "implement_pending",
262
+ "flowDepth": "complete",
157
263
  "phases": {
158
264
  "understand": "done",
159
265
  "impact": "done",
266
+ "proposal": "done",
267
+ "specs": "done",
160
268
  "design": "done",
161
269
  "tasks": "done",
162
270
  "implement": "pending",
163
- ...
271
+ "verify": "blocked",
272
+ "review": "blocked"
164
273
  },
274
+ "artifacts": ["understanding.md", "impact-analysis.md", "proposal.md", "specs.md", "design.md", "tasks-overview.md"],
165
275
  "tasks": {
166
- "total": 8,
276
+ "total": <N>,
167
277
  "completed": 0,
168
- "pending": 8
278
+ "pending": <N>
169
279
  }
170
280
  }
171
281
  ```
@@ -177,26 +287,27 @@ Phase 4: 任务拆解与排期
177
287
  - 更新"下一步操作"为 `运行 /6aspec:brown:implement 开始执行任务`
178
288
  - 在"进度概览"中标记 Tasks 阶段为已完成 `[x]`
179
289
 
180
- **输出**
290
+ ---
291
+
292
+ ## 输出
181
293
 
182
294
  ```
183
295
  ## Phase 4 完成:任务拆解
184
296
 
185
297
  **需求**: <name>
186
- **进度**: 4/7 阶段完成
298
+ **进度**: <已完成阶段>/<总阶段>
187
299
 
188
300
  ### 任务统计
189
301
  - 总任务数:<数量>
190
302
  - 预估总工时:<工时>
191
303
 
192
- ### 任务分布
193
- - 数据层:<数量> 个任务
194
- - 业务层:<数量> 个任务
195
- - 表现层:<数量> 个任务
196
- - 测试:<数量> 个任务
197
-
198
- ### 关键里程碑
199
- <列出关键里程碑>
304
+ ### 里程碑分布
305
+ - M0 契约与集成准备:<数量> 个任务
306
+ - M1 数据变更准备:<数量> 个任务
307
+ - M2 迁移/兼容/回滚:<数量> 个任务
308
+ - M3 核心链路实现:<数量> 个任务
309
+ - M4 集成联调与可观测性:<数量> 个任务
310
+ - M5 测试与发布准备:<数量> 个任务
200
311
 
201
312
  ### 文档位置
202
313
  - 6aspecdoc/brown/<name>/artifacts/tasks-overview.md
@@ -207,9 +318,14 @@ Phase 4: 任务拆解与排期
207
318
  - 或运行 `/6aspec:brown:continue` 自动进入下一阶段
208
319
  ```
209
320
 
210
- **防护措施**
211
- - 必须先完成 Phase 3
212
- - 任务必须是原子的、可独立完成的
213
- - 任务依赖关系必须明确
214
- - 验收标准必须具体
215
- - 工作量评估要合理
321
+ ---
322
+
323
+ ## 防护措施
324
+
325
+ - 必须先完成 Design 阶段(`phases.design == done`)
326
+ - 任务必须是原子的、可独立完成的;工作量超过 3 人日必须继续拆分
327
+ - 每个任务必须有明确验收标准,并与 Specs 的 AC/Scenario 可追溯
328
+ - 必须覆盖横切能力:Integration / Migration / Compatibility(如设计中涉及)
329
+ - 需要对外/跨模块契约时:出入参字段清单、幂等语义、错误语义必须在对应任务中落地
330
+ - 涉及数据库变更时:改表 DDL/脚本/回滚/校验 SQL 必须作为任务交付物
331
+ - 用户补充信息时只更新文档,不得自动进入下一阶段
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "6aspec",
3
- "version": "2.0.0-dev.28",
3
+ "version": "2.0.0-dev.29",
4
4
  "description": "6Aspec - 轻量级 spec 驱动开发框架,支持 Cursor 和 Claude Code",
5
5
  "main": "lib/installer.js",
6
6
  "bin": {