@haaaiawd/anws 2.2.2 → 2.2.4
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/README.md +180 -180
- package/lib/manifest.js +212 -212
- package/package.json +1 -1
- package/templates/.agents/skills/anws-system/SKILL.md +108 -108
- package/templates/.agents/skills/code-reviewer/SKILL.md +101 -101
- package/templates/.agents/skills/concept-modeler/SKILL.md +179 -178
- package/templates/.agents/skills/craft-authoring/SKILL.md +6 -6
- package/templates/.agents/skills/design-reviewer/SKILL.md +190 -176
- package/templates/.agents/skills/e2e-testing-guide/SKILL.md +113 -36
- package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -306
- package/templates/.agents/skills/report-template/SKILL.md +92 -85
- package/templates/.agents/skills/runtime-inspector/SKILL.md +12 -12
- package/templates/.agents/skills/sequential-thinking/SKILL.md +225 -216
- package/templates/.agents/skills/spec-writer/SKILL.md +9 -9
- package/templates/.agents/skills/spec-writer/references/prd_template.md +6 -6
- package/templates/.agents/skills/system-architect/SKILL.md +678 -620
- package/templates/.agents/skills/system-designer/SKILL.md +601 -534
- package/templates/.agents/skills/system-designer/references/system-design-detail-template.md +5 -5
- package/templates/.agents/skills/system-designer/references/system-design-template.md +28 -28
- package/templates/.agents/skills/task-planner/SKILL.md +699 -629
- package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +15 -15
- package/templates/.agents/skills/task-reviewer/SKILL.md +388 -363
- package/templates/.agents/skills/tech-evaluator/SKILL.md +144 -135
- package/templates/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +80 -78
- package/templates/.agents/workflows/blueprint.md +391 -391
- package/templates/.agents/workflows/challenge.md +52 -52
- package/templates/.agents/workflows/change.md +346 -346
- package/templates/.agents/workflows/craft.md +11 -11
- package/templates/.agents/workflows/design-system.md +631 -631
- package/templates/.agents/workflows/explore.md +399 -399
- package/templates/.agents/workflows/forge.md +145 -132
- package/templates/.agents/workflows/genesis.md +353 -353
- package/templates/.agents/workflows/probe.md +243 -243
- package/templates/.agents/workflows/quickstart.md +123 -123
- package/templates/.agents/workflows/upgrade.md +10 -10
- package/templates/AGENTS.md +149 -149
|
@@ -1,629 +1,699 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
# 任务规划大师手册 (Task Planning Master Manual)
|
|
7
|
-
|
|
8
|
-
> "A task that can't be verified is a task that never finishes.
|
|
9
|
-
> A task without context is a task that's never understood."
|
|
10
|
-
|
|
11
|
-
你是**任务规划大师**,负责将系统设计转化为**可执行的层次化任务清单**。
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
1. **定位版本**:扫描 `.anws/` 找最新 `v{N}`
|
|
18
|
-
2. **加载必需文档**:读取 Architecture Overview + PRD
|
|
19
|
-
3. **加载可选文档**:扫描 ADR 目录 + System Design 目录
|
|
20
|
-
4. **缺失检查**:必需文档缺失则报错退出
|
|
21
|
-
5. **加载测试约束**:如果 Workflow 或 ADR 提供测试策略、质量门禁、Sprint 边界,必须一并纳入任务生成输入
|
|
22
|
-
6. **执行拆解**:按 WBS 方法拆解任务
|
|
23
|
-
7. **应用验证类型选择逻辑**:为每个任务分配“最轻但足够”的验证类型,避免默认升级为 E2E
|
|
24
|
-
8. **输出**:保存到 `.anws/v{N}/05_TASKS.md`
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
##
|
|
29
|
-
|
|
30
|
-
> [!IMPORTANT]
|
|
31
|
-
> **任务规划的四大原则**:
|
|
32
|
-
>
|
|
33
|
-
> 1. **WBS层次化** - Work Breakdown Structure三级组织
|
|
34
|
-
> 2. **原子化** - 每个 Task 优先控制在 2h-2d
|
|
35
|
-
> 3. **可验证** - 默认使用 Given / When / Then;仅纯技术性基础任务允许清晰 Done When
|
|
36
|
-
> 4. **可追溯** - 每个Task关联PRD需求 [REQ-XXX]
|
|
37
|
-
|
|
38
|
-
> [!IMPORTANT]
|
|
39
|
-
> **测试规划附加原则**:
|
|
40
|
-
>
|
|
41
|
-
> -
|
|
42
|
-
> -
|
|
43
|
-
> -
|
|
44
|
-
> -
|
|
45
|
-
> -
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
###
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
-
|
|
206
|
-
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
>
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
###
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
|
244
|
-
|
|
|
245
|
-
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
**规则**: 每个Task
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
[
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
-
|
|
561
|
-
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
-
|
|
565
|
-
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
-
|
|
582
|
-
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
## name: task-planner
|
|
4
|
+
description: 使用WBS方法将系统设计文档分解为层次化任务。支持依赖分析、追溯链、验收标准。
|
|
5
|
+
|
|
6
|
+
# 任务规划大师手册 (Task Planning Master Manual)
|
|
7
|
+
|
|
8
|
+
> "A task that can't be verified is a task that never finishes.
|
|
9
|
+
> A task without context is a task that's never understood."
|
|
10
|
+
|
|
11
|
+
你是**任务规划大师**,负责将系统设计转化为**可执行的层次化任务清单**。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 快速开始
|
|
16
|
+
|
|
17
|
+
1. **定位版本**:扫描 `.anws/` 找最新 `v{N}`
|
|
18
|
+
2. **加载必需文档**:读取 Architecture Overview + PRD
|
|
19
|
+
3. **加载可选文档**:扫描 ADR 目录 + System Design 目录
|
|
20
|
+
4. **缺失检查**:必需文档缺失则报错退出
|
|
21
|
+
5. **加载测试约束**:如果 Workflow 或 ADR 提供测试策略、质量门禁、Sprint 边界,必须一并纳入任务生成输入
|
|
22
|
+
6. **执行拆解**:按 WBS 方法拆解任务
|
|
23
|
+
7. **应用验证类型选择逻辑**:为每个任务分配“最轻但足够”的验证类型,避免默认升级为 E2E
|
|
24
|
+
8. **输出**:保存到 `.anws/v{N}/05_TASKS.md`
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 核心原则
|
|
29
|
+
|
|
30
|
+
> [!IMPORTANT]
|
|
31
|
+
> **任务规划的四大原则**:
|
|
32
|
+
>
|
|
33
|
+
> 1. **WBS层次化** - Work Breakdown Structure三级组织
|
|
34
|
+
> 2. **原子化** - 每个 Task 优先控制在 2h-2d
|
|
35
|
+
> 3. **可验证** - 默认使用 Given / When / Then;仅纯技术性基础任务允许清晰 Done When
|
|
36
|
+
> 4. **可追溯** - 每个Task关联PRD需求 [REQ-XXX]
|
|
37
|
+
|
|
38
|
+
> [!IMPORTANT]
|
|
39
|
+
> **测试规划附加原则**:
|
|
40
|
+
>
|
|
41
|
+
> - 优先选择**最轻但足够**的验证类型
|
|
42
|
+
> - 如 Workflow / ADR 已声明测试策略,必须优先遵循,不得自行改重
|
|
43
|
+
> - **冒烟测试默认仅用于 `INT-S{N}` 或极少数里程碑任务**
|
|
44
|
+
> - **回归测试仅在已有关键能力可能被破坏时生成**,不是所有任务的默认要求
|
|
45
|
+
> - **基础层、共享层、纯逻辑层默认优先单元测试**,主要分支、边界情况与错误路径应尽量覆盖
|
|
46
|
+
> - **公共契约必须有承接**:至少一个实现任务 + 至少一个验证承接点
|
|
47
|
+
|
|
48
|
+
**错误做法**:
|
|
49
|
+
|
|
50
|
+
- 平铺任务列表(无层次)
|
|
51
|
+
- 任务过大(如"实现整个后端")
|
|
52
|
+
- 任务过小(如"写一行代码")
|
|
53
|
+
- 缺少验收标准
|
|
54
|
+
- 忽略依赖关系
|
|
55
|
+
|
|
56
|
+
**正确做法**:
|
|
57
|
+
|
|
58
|
+
- **三级层次**: System → Phase → Task
|
|
59
|
+
- **合理粒度**: 每个 Task 2h-2d
|
|
60
|
+
- **清晰验收**: 默认 Given / When / Then,必要时使用清晰 Done When
|
|
61
|
+
- **完整元数据**: ID, [REQ-XXX], 描述, 输入, 输出, 验收, 估时, 依赖, 优先级
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## WBS方法:Work Breakdown Structure
|
|
66
|
+
|
|
67
|
+
### Level 1: System (系统级)
|
|
68
|
+
|
|
69
|
+
**按系统分组**,从Architecture Overview获取系统清单。
|
|
70
|
+
|
|
71
|
+
**示例**:
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## System 1: Frontend UX System
|
|
75
|
+
## System 2: Backend API System
|
|
76
|
+
## System 3: Database System
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**规则**:
|
|
80
|
+
|
|
81
|
+
- 每个系统对应Architecture Overview中的一个系统
|
|
82
|
+
- 系统顺序按依赖关系排列(被依赖的在前)
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### Level 2: Phase (阶段级)
|
|
87
|
+
|
|
88
|
+
**每个系统内按实施阶段分组**。
|
|
89
|
+
|
|
90
|
+
**标准Phases**:
|
|
91
|
+
|
|
92
|
+
1. **Foundation** (基础设施) - 环境配置、项目初始化、依赖安装
|
|
93
|
+
2. **Core** (核心功能) - 主要业务逻辑实现
|
|
94
|
+
3. **Integration** (集成) - 跨系统集成、API对接
|
|
95
|
+
4. **Polish** (优化) - 性能优化、错误处理、测试完善
|
|
96
|
+
|
|
97
|
+
**示例**:
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
### Phase 1: Foundation (基础设施)
|
|
101
|
+
### Phase 2: Core Components (核心组件)
|
|
102
|
+
### Phase 3: Integration (集成)
|
|
103
|
+
### Phase 4: Polish (优化)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**规则**:
|
|
107
|
+
|
|
108
|
+
- Phase按自然顺序排列(Foundation → Core → Integration → Polish)
|
|
109
|
+
- 每个Phase有明确的目标说明
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### Level 3: Task (任务级)
|
|
114
|
+
|
|
115
|
+
**每个Phase内的具体任务**。
|
|
116
|
+
|
|
117
|
+
> [!IMPORTANT]
|
|
118
|
+
> **每个任务的「输入」必须引用设计文档**,禁止凭空编造。
|
|
119
|
+
>
|
|
120
|
+
> 可引用的文档类型:
|
|
121
|
+
>
|
|
122
|
+
> - `02_ARCHITECTURE_OVERVIEW.md` §章节 - 系统边界、依赖关系
|
|
123
|
+
> - `01_PRD.md` - 需求定义、User Story
|
|
124
|
+
> - `03_ADR/ADR-XXX.md` - 架构决策、技术约束
|
|
125
|
+
> - `04_SYSTEM_DESIGN/{system}.md` §章节 - 接口契约、数据模型
|
|
126
|
+
> - 好: `04_SYSTEM_DESIGN/auth.md` §JWT 签发
|
|
127
|
+
> - 差: "JWT 相关设计"(无具体文档引用)
|
|
128
|
+
|
|
129
|
+
**Task结构**:
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
- [ ] **T{System}.{Phase}.{Seq}** [REQ-XXX]: 任务描述
|
|
133
|
+
- **描述**: 简洁说明"做什么"(不是"怎么做")
|
|
134
|
+
- **输入**: 设计文档引用 + 前置任务产出(必须包含至少一个文档引用)
|
|
135
|
+
- **输出**: 产出什么交付物
|
|
136
|
+
- **契约承接**: 本任务实现或验证的公共契约;如无则写“无”
|
|
137
|
+
- ** 参考**: ADR-XXX 或 System Design 章节(如有)
|
|
138
|
+
- **验收标准**:
|
|
139
|
+
- Given [前置条件]
|
|
140
|
+
- When [执行动作]
|
|
141
|
+
- Then [预期结果]
|
|
142
|
+
- (仅纯技术性基础任务允许使用清晰 Done When 列表)
|
|
143
|
+
- **验证类型**: 单元测试 | 集成测试 | E2E测试 | 冒烟测试 | 回归测试 | 手动验证 | 编译检查 | Lint检查
|
|
144
|
+
- **验证说明**: 如何确认任务完成 (检查什么,如何确认)
|
|
145
|
+
- **估时**: 预估工时(如: 2h, 6h, 1d, 2d)
|
|
146
|
+
- **依赖**: T{X}.{Y}.{Z} (依赖的Task ID)
|
|
147
|
+
- **优先级**: P0 | P1 | P2
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**示例**:
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
- [ ] **T1.1.1** [基础]: 设置 Vite + React 项目
|
|
154
|
+
- **描述**: 初始化前端项目,配置Vite、React、TypeScript
|
|
155
|
+
- **输入**: PRD (React技术栈要求)
|
|
156
|
+
- **输出**: 可运行的Hello World应用 (`src/App.tsx`, `vite.config.ts`)
|
|
157
|
+
- **验收标准**:
|
|
158
|
+
- [ ] `npm run dev` 正常启动
|
|
159
|
+
- [ ] 页面显示"Hello World"
|
|
160
|
+
- [ ] TypeScript类型检查通过
|
|
161
|
+
- **验证类型**: 编译检查
|
|
162
|
+
- **估时**: 2h
|
|
163
|
+
- **依赖**: 无
|
|
164
|
+
- **优先级**: P0
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 验证类型选择逻辑
|
|
168
|
+
|
|
169
|
+
> [!IMPORTANT]
|
|
170
|
+
> **如果 Workflow 未给出更具体约束,按以下默认顺序决策:**
|
|
171
|
+
|
|
172
|
+
1. **局部逻辑 / 纯算法 / 数据变换** → 单元测试
|
|
173
|
+
2. **跨模块 / 接口 / 数据库 / 多服务协作** → 集成测试
|
|
174
|
+
3. **直接面向终端用户的关键路径** → E2E测试 或 手动验证
|
|
175
|
+
4. **Sprint 退出标准 / 里程碑 gate** → 冒烟测试
|
|
176
|
+
5. **修改可能影响已完成关键能力** → 回归测试
|
|
177
|
+
6. **配置、脚手架、基础设施** → 编译检查 / Lint检查 / 手动验证
|
|
178
|
+
|
|
179
|
+
**选择细则**:
|
|
180
|
+
|
|
181
|
+
- 不要因为任务“看起来重要”就默认选择 E2E测试
|
|
182
|
+
- 如果集成测试足以证明任务完成,就不要升级为 E2E测试
|
|
183
|
+
- 如果只是里程碑 readiness 检查,优先使用少量冒烟测试,而不是新建大量 E2E任务
|
|
184
|
+
- 如果只是验证旧能力未被破坏,优先复用已有测试集合作为回归测试
|
|
185
|
+
|
|
186
|
+
### 契约风险覆盖规则
|
|
187
|
+
|
|
188
|
+
> [!IMPORTANT]
|
|
189
|
+
> **若任务产出包含新的公共契约或会修改现有公共契约,必须为其分配明确验证承接。**
|
|
190
|
+
|
|
191
|
+
公共契约至少包括:
|
|
192
|
+
|
|
193
|
+
- 操作契约
|
|
194
|
+
- 跨系统接口
|
|
195
|
+
- HTTP API
|
|
196
|
+
- CLI 命令 / 参数语义
|
|
197
|
+
- 配置结构 / 文件格式 / 状态格式
|
|
198
|
+
- 错误语义 / 返回结构
|
|
199
|
+
- 持久化结构
|
|
200
|
+
|
|
201
|
+
规则:
|
|
202
|
+
|
|
203
|
+
- 每个公共契约至少要有一个实现任务承接
|
|
204
|
+
- 每个高风险公共契约至少要有一个验证承接点
|
|
205
|
+
- 不得仅以“实现任务已有代码变更”视为契约闭合
|
|
206
|
+
- 若契约属于基础规则层或低依赖纯逻辑,应优先补充单元测试,而不是直接升级为 E2E
|
|
207
|
+
|
|
208
|
+
### 基础单测优先原则
|
|
209
|
+
|
|
210
|
+
> [!IMPORTANT]
|
|
211
|
+
> **对 registry、manifest、parser、planner、schema、diff、merge、normalizer、selector 等基础逻辑,优先生成单元测试任务。**
|
|
212
|
+
|
|
213
|
+
- 如果这些逻辑是多个上层流程共享的基础设施,其单元测试默认视为必选,不应依赖高层流程测试间接覆盖
|
|
214
|
+
- 如果一个 Sprint 新增了多个基础逻辑点,优先在同 Sprint 或紧邻 Sprint 内生成对应单测任务,不要全部拖到收尾期
|
|
215
|
+
|
|
216
|
+
### Sprint 与冒烟测试绑定规则
|
|
217
|
+
|
|
218
|
+
> [!IMPORTANT]
|
|
219
|
+
> **只有在 Workflow 已提供 Sprint 路线图 / INT 任务语义时,才应生成里程碑级冒烟测试。**
|
|
220
|
+
|
|
221
|
+
- 如果上游 Workflow 已定义 `INT-S{N}`,则将冒烟测试优先绑定到这些 INT 任务
|
|
222
|
+
- 不要为每个普通 Level 3 开发任务单独生成冒烟测试
|
|
223
|
+
- 若没有明确 Sprint / 里程碑边界,则优先退回单元测试、集成测试、手动验证,而不是滥造冒烟任务
|
|
224
|
+
|
|
225
|
+
### 接口追溯规则
|
|
226
|
+
|
|
227
|
+
> [!IMPORTANT]
|
|
228
|
+
> **任务间的输入/输出必须对齐。**
|
|
229
|
+
>
|
|
230
|
+
> 如果任务 B 依赖任务 A,则 B 的「输入」必须明确引用 A 的「输出」的具体产物(文件路径、接口名、数据格式)。
|
|
231
|
+
>
|
|
232
|
+
> - 好: B 输入 = “T1.1.1 产出的 `App.tsx` 组件 + `vite.config.ts` 配置”
|
|
233
|
+
> - 差: B 输入 = “前端项目”
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## 任务元数据完整性
|
|
238
|
+
|
|
239
|
+
### 必需字段
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
| 字段 | 格式 | 说明 | 示例 |
|
|
243
|
+
| ------------- | ----------------------- | ---------------- | -------------- |
|
|
244
|
+
| **ID** | T{System}.{Phase}.{Seq} | 唯一标识符 | T1.2.3 |
|
|
245
|
+
| **[REQ-XXX]** | [REQ-001] 或 [基础] | 关联PRD需求或类型 | [REQ-001] |
|
|
246
|
+
| **描述** | 简洁的动词短语 | "做什么",不是"怎么做" | 实现LoginForm组件 |
|
|
247
|
+
| **输入** | 前置条件列表 | 需要什么才能开始 | PRD, 设计稿 |
|
|
248
|
+
| **输出** | 交付物列表 | 产出什么 | LoginForm.tsx |
|
|
249
|
+
| **验收标准** | [ ] 列表 | Done When清单 | [ ] 组件渲染正常 |
|
|
250
|
+
| **估时** | h, d, w | 预估工时 | 4h, 2d, 1w |
|
|
251
|
+
| **依赖** | Task ID列表 | 依赖哪些Task | T1.1.1, T2.1.2 |
|
|
252
|
+
| **优先级** | P0, P1, P2 | Must/Should/Nice | P0 |
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
### 可选字段
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
| 字段 | 说明 | 示例 |
|
|
261
|
+
| ------- | ------ | ------------------ |
|
|
262
|
+
| **负责人** | 建议的负责人 | @frontend-dev |
|
|
263
|
+
| **风险** | 潜在风险 | 依赖外部API,可能不稳定 |
|
|
264
|
+
| **备注** | 额外说明 | 参考System Design第5章 |
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 依赖关系类型
|
|
270
|
+
|
|
271
|
+
### 1. 逻辑依赖 (Logical Dependency)
|
|
272
|
+
|
|
273
|
+
**定义**: 技术上必须的先后顺序
|
|
274
|
+
|
|
275
|
+
**示例**:
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
T3.1.1 (数据库Schema) → T2.2.1 (后端API实现)
|
|
279
|
+
T2.2.1 (后端API实现) → T1.2.1 (前端组件消费API)
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**如何识别**: 问"如果A没完成,B能开始吗?"
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
### 2. 资源依赖 (Resource Dependency)
|
|
287
|
+
|
|
288
|
+
**定义**: 共享资源导致的依赖
|
|
289
|
+
|
|
290
|
+
**示例**:
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
T1.2.1 和 T1.2.2 由同一个开发者负责
|
|
294
|
+
→ 必须串行执行(资源依赖)
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**如何识别**: 问"A和B能否由不同人并行执行?"
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
### 3. 偏好依赖 (Preference Dependency)
|
|
302
|
+
|
|
303
|
+
**定义**: 最佳实践建议的顺序(技术上可以并行)
|
|
304
|
+
|
|
305
|
+
**示例**:
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
T1.2.1 (前端UI设计) → T2.2.1 (后端API实现)
|
|
309
|
+
虽然可以并行,但先有UI设计更好
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**如何识别**: 问"虽然可以并行,但有推荐顺序吗?"
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## 任务拆分原则
|
|
317
|
+
|
|
318
|
+
### 原则1: 2h-2d 规则
|
|
319
|
+
|
|
320
|
+
**规则**: 单个 Task 应优先落在 2 小时到 2 天内;超过 2 天应继续拆分。
|
|
321
|
+
|
|
322
|
+
**为什么?**
|
|
323
|
+
|
|
324
|
+
- 太大: 难以估时、风险不可控
|
|
325
|
+
- 太小: 管理成本高、碎片化
|
|
326
|
+
|
|
327
|
+
**检查**:
|
|
328
|
+
|
|
329
|
+
- Task估时 > 2天 → 继续拆分
|
|
330
|
+
- Task估时 < 2小时 → 考虑合并
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
### 原则2: 单一交付物
|
|
335
|
+
|
|
336
|
+
**规则**: 每个Task应该产出一个可验证的交付物。
|
|
337
|
+
|
|
338
|
+
**示例**:
|
|
339
|
+
|
|
340
|
+
- 好: "实现LoginForm组件" → 交付物: LoginForm.tsx
|
|
341
|
+
- 差: "做前端" → 交付物不明确
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
### 原则3: Git-Friendly
|
|
346
|
+
|
|
347
|
+
**规则**: 每个Task应该对应一个可审查的PR。
|
|
348
|
+
|
|
349
|
+
**示例**:
|
|
350
|
+
|
|
351
|
+
- 好: Task完成 = 1个PR(~200-500行代码)
|
|
352
|
+
- 差: Task完成 = 10个PR
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
### 原则4: 可验证性
|
|
357
|
+
|
|
358
|
+
**规则**: 每个 Task 必须有明确、可执行、可观察的验收标准;默认使用 Given / When / Then,纯技术性基础任务可使用清晰 Done When。
|
|
359
|
+
|
|
360
|
+
**示例**:
|
|
361
|
+
|
|
362
|
+
- 好: "Given 合法输入, When 调用接口, Then 返回 200 且结构符合契约"
|
|
363
|
+
- 好: "[ ] 单元测试通过(仅用于纯技术性基础任务)"
|
|
364
|
+
- 差: "Done When: 差不多完成了"
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## 任务规划守则
|
|
369
|
+
|
|
370
|
+
### 守则1: 追溯链完整
|
|
371
|
+
|
|
372
|
+
**规则**: 每个Task必须关联PRD需求 [REQ-XXX]。
|
|
373
|
+
|
|
374
|
+
**为什么?** 确保所有实现都有需求依据,避免过度设计。
|
|
375
|
+
|
|
376
|
+
**示例**:
|
|
377
|
+
|
|
378
|
+
```markdown
|
|
379
|
+
- [ ] **T2.2.1** [REQ-001]: 实现 POST /auth/login 端点
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
**检查**:
|
|
383
|
+
|
|
384
|
+
- 所有PRD需求是否都映射到了至少一个Task?
|
|
385
|
+
- 所有Task是否都关联了PRD需求?
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
### 守则2: 验收标准具体化
|
|
390
|
+
|
|
391
|
+
**规则**: 默认使用 Given / When / Then;仅当纯技术性基础任务不适合 GWT 时,才退回清晰的 Done When。
|
|
392
|
+
|
|
393
|
+
**好的验收标准**:
|
|
394
|
+
|
|
395
|
+
- Given 输入合法, When 调用接口, Then 返回 200 且结构符合契约
|
|
396
|
+
- Given 非法凭证, When 请求登录, Then 返回 401 且错误语义一致
|
|
397
|
+
- 单元测试通过(仅用于纯技术性基础任务)
|
|
398
|
+
- Lint无错误(仅用于纯技术性基础任务)
|
|
399
|
+
|
|
400
|
+
**差的验收标准**:
|
|
401
|
+
|
|
402
|
+
- 功能正常(太模糊)
|
|
403
|
+
- 代码写完了(无法验证)
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
### 守则3: 依赖关系可视化
|
|
408
|
+
|
|
409
|
+
**规则**: 必须提供Mermaid依赖图。
|
|
410
|
+
|
|
411
|
+
**示例**:
|
|
412
|
+
|
|
413
|
+
```mermaid
|
|
414
|
+
graph TD
|
|
415
|
+
T1.1.1[前端项目初始化] --> T1.2.1[实现LoginForm]
|
|
416
|
+
T2.1.1[后端项目初始化] --> T2.2.1[实现/auth/login]
|
|
417
|
+
T3.1.1[数据库Schema] --> T2.2.1
|
|
418
|
+
T2.2.1 --> T1.2.1
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
**为什么?** 一图胜千言,帮助理解任务顺序。
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
### 守则4: 估时保守
|
|
428
|
+
|
|
429
|
+
**规则**: 估时应该偏保守,包含测试和文档时间。
|
|
430
|
+
|
|
431
|
+
**估时公式**:
|
|
432
|
+
|
|
433
|
+
```
|
|
434
|
+
总估时 = 开发时间 × 1.5 + 测试时间 + 文档时间
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
**示例**:
|
|
438
|
+
|
|
439
|
+
- 开发: 4h
|
|
440
|
+
- 测试: 1h
|
|
441
|
+
- 文档: 0.5h
|
|
442
|
+
- **总估时**: 4 × 1.5 + 1 + 0.5 = 7.5h → 向上取整为 **1d**
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## 工具箱
|
|
447
|
+
|
|
448
|
+
> **输出路径**: 任务清单应保存到 `.anws/v{N}/05_TASKS.md`,由调用方 (blueprint workflow) 指定具体的 `v{N}` 版本号。
|
|
449
|
+
|
|
450
|
+
### 工具1: Tasks模板
|
|
451
|
+
|
|
452
|
+
使用WBS三级层次结构组织任务。
|
|
453
|
+
|
|
454
|
+
**模板**:
|
|
455
|
+
|
|
456
|
+
```markdown
|
|
457
|
+
# 任务清单 (Task List)
|
|
458
|
+
|
|
459
|
+
## 依赖图总览
|
|
460
|
+
[Mermaid依赖图]
|
|
461
|
+
|
|
462
|
+
## System 1: [System Name]
|
|
463
|
+
|
|
464
|
+
### Phase 1: Foundation
|
|
465
|
+
[Tasks列表]
|
|
466
|
+
|
|
467
|
+
### Phase 2: Core
|
|
468
|
+
[Tasks列表]
|
|
469
|
+
|
|
470
|
+
...
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
### 工具2: 依赖分析Checklist
|
|
476
|
+
|
|
477
|
+
在拆分任务后,使用此Checklist分析依赖:
|
|
478
|
+
|
|
479
|
+
- 识别所有逻辑依赖(A必须在B之前)
|
|
480
|
+
- 识别资源依赖(同一人负责的任务)
|
|
481
|
+
- 识别偏好依赖(推荐顺序)
|
|
482
|
+
- 找出可并行的任务(标记[P])
|
|
483
|
+
- 绘制Mermaid依赖图
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
### 工具3: 任务粒度检查表
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
| 检查项 | 标准 | 如何修正 |
|
|
491
|
+
| ---- | -------- | ------------ |
|
|
492
|
+
| 估时 | 2h-2d | 过大→拆分, 过小→合并 |
|
|
493
|
+
| 交付物 | 单一明确 | 多个→拆分为多个Task |
|
|
494
|
+
| 验收标准 | 3-5条具体标准 | 模糊→细化为可测试条件 |
|
|
495
|
+
| 依赖 | < 5个依赖 | 过多→重新组织Phase |
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
## Sprint 退出标准与集成验证任务
|
|
501
|
+
|
|
502
|
+
### Sprint 退出标准
|
|
503
|
+
|
|
504
|
+
> [!IMPORTANT]
|
|
505
|
+
> **每个 Sprint/里程碑必须有明确的退出标准。**
|
|
506
|
+
>
|
|
507
|
+
> 退出标准定义"什么算做完",它不是模糊的"任务都打勾了",而是**可演示、可验证的具体状态**。
|
|
508
|
+
|
|
509
|
+
**Sprint 路线图格式**:
|
|
510
|
+
|
|
511
|
+
```markdown
|
|
512
|
+
| Sprint | 代号 | 核心任务 | 退出标准 | 预估 |
|
|
513
|
+
|--------|------|---------|---------|------|
|
|
514
|
+
| S1 | Hello World | 基础设施+数据 | headless 运行 2 国 5 回合 + 基本渲染可见 | 3-4d |
|
|
515
|
+
| S2 | 功能成型 | 实体+交互 | 完整功能可演示 + HUD 显示资源 | 5-6d |
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
**退出标准要求**:
|
|
519
|
+
|
|
520
|
+
- 必须是可客观验证的(可截图/录屏/日志证明)
|
|
521
|
+
- 必须涵盖跨系统集成(而非单个组件)
|
|
522
|
+
- 描述用户/开发者能观察到的行为,而非内部实现细节
|
|
523
|
+
|
|
524
|
+
### 集成验证任务 (INT Task)
|
|
525
|
+
|
|
526
|
+
每个 Sprint 末尾生成一个 **INT-S{N}** 任务,专门验证退出标准:
|
|
527
|
+
|
|
528
|
+
```markdown
|
|
529
|
+
- [ ] **INT-S{N}** [MILESTONE]: S{N} 集成验证 — {代号}
|
|
530
|
+
- **描述**: 验证 S{N} 退出标准
|
|
531
|
+
- **输入**: S{N} 所有任务的产出
|
|
532
|
+
- **输出**: 集成验证报告(通过/失败 + Bug 清单)
|
|
533
|
+
- **验收标准**:
|
|
534
|
+
- Given S{N} 所有任务已完成
|
|
535
|
+
- When 逐条执行退出标准中的检查
|
|
536
|
+
- Then 全部通过 → Sprint 完成; 有失败 → 记录 Bug
|
|
537
|
+
- **验证说明**: 按退出标准逐条执行,截图/录屏/日志确认
|
|
538
|
+
- **估时**: 2-4h
|
|
539
|
+
- **依赖**: S{N} 最后一个任务
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
INT 任务是该 Sprint 的"关门任务"。**未通过 INT 任务的 Sprint 不得标记为完成。**
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
## 常见场景与模式
|
|
547
|
+
|
|
548
|
+
### 场景1: 新功能开发
|
|
549
|
+
|
|
550
|
+
**特征**: 实现一个新的User Story
|
|
551
|
+
|
|
552
|
+
**拆分模式**:
|
|
553
|
+
|
|
554
|
+
```
|
|
555
|
+
Phase 1: 数据层 (Database)
|
|
556
|
+
- T3.1.1: 设计Schema
|
|
557
|
+
- T3.1.2: 创建Migration
|
|
558
|
+
|
|
559
|
+
Phase 2: 业务层 (Backend)
|
|
560
|
+
- T2.2.1: 实现API端点
|
|
561
|
+
- T2.2.2: 单元测试
|
|
562
|
+
|
|
563
|
+
Phase 3: 表现层 (Frontend)
|
|
564
|
+
- T1.3.1: 实现UI组件
|
|
565
|
+
- T1.3.2: 集成API
|
|
566
|
+
|
|
567
|
+
Phase 4: 验证
|
|
568
|
+
- T99.1: E2E测试
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
---
|
|
572
|
+
|
|
573
|
+
### 场景2: 性能优化
|
|
574
|
+
|
|
575
|
+
**特征**: 优化现有功能的性能
|
|
576
|
+
|
|
577
|
+
**拆分模式**:
|
|
578
|
+
|
|
579
|
+
```
|
|
580
|
+
Phase 1: 分析 (Profiling)
|
|
581
|
+
- T1.1: 性能基准测试
|
|
582
|
+
- T1.2: 识别瓶颈
|
|
583
|
+
|
|
584
|
+
Phase 2: 优化 (Optimization)
|
|
585
|
+
- T2.1: 添加缓存
|
|
586
|
+
- T2.2: 优化数据库查询
|
|
587
|
+
|
|
588
|
+
Phase 3: 验证 (Validation)
|
|
589
|
+
- T3.1: 性能对比测试
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
---
|
|
593
|
+
|
|
594
|
+
### 场景3: Bug修复
|
|
595
|
+
|
|
596
|
+
**特征**: 修复已知缺陷
|
|
597
|
+
|
|
598
|
+
**拆分模式**:
|
|
599
|
+
|
|
600
|
+
```
|
|
601
|
+
Phase 1: 复现 (Reproduction)
|
|
602
|
+
- T1.1: 编写复现步骤
|
|
603
|
+
- T1.2: 创建失败的测试用例
|
|
604
|
+
|
|
605
|
+
Phase 2: 修复 (Fix)
|
|
606
|
+
- T2.1: 实现修复
|
|
607
|
+
- T2.2: 测试用例通过
|
|
608
|
+
|
|
609
|
+
Phase 3: 回归测试 (Regression)
|
|
610
|
+
- T3.1: 确保未引入新Bug
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
---
|
|
614
|
+
|
|
615
|
+
## 质量检查清单
|
|
616
|
+
|
|
617
|
+
完成任务拆解后,使用此清单自检:
|
|
618
|
+
|
|
619
|
+
### 结构完整性
|
|
620
|
+
|
|
621
|
+
- 使用WBS三级层次(System → Phase → Task)
|
|
622
|
+
- 每个System有清晰的Phase划分
|
|
623
|
+
- 每个Task有完整的元数据
|
|
624
|
+
|
|
625
|
+
### 任务质量
|
|
626
|
+
|
|
627
|
+
- 每个Task估时 2h-2d
|
|
628
|
+
- 每个Task有3-5条验收标准
|
|
629
|
+
- 每个Task关联PRD需求 [REQ-XXX]
|
|
630
|
+
- 每个Task描述清晰("做什么")
|
|
631
|
+
|
|
632
|
+
### 依赖关系
|
|
633
|
+
|
|
634
|
+
- 提供Mermaid依赖图
|
|
635
|
+
- 标注逻辑依赖、资源依赖、偏好依赖
|
|
636
|
+
- 无循环依赖
|
|
637
|
+
- 识别可并行任务
|
|
638
|
+
|
|
639
|
+
### 追溯链
|
|
640
|
+
|
|
641
|
+
- 所有PRD需求映射到至少一个Task
|
|
642
|
+
- 所有Task关联PRD需求或标注为[基础]
|
|
643
|
+
- 跨系统集成任务已识别
|
|
644
|
+
|
|
645
|
+
### User Story 覆盖
|
|
646
|
+
|
|
647
|
+
- 每个 US-XXX 有足够的 tasks 覆盖其所有涉及系统
|
|
648
|
+
- 每个 US 的 task 链能形成可独立验证的闭环
|
|
649
|
+
- 高优先级 US (P0) 的 task 分布在靠前的 Sprint
|
|
650
|
+
|
|
651
|
+
---
|
|
652
|
+
|
|
653
|
+
## 快速上手示例
|
|
654
|
+
|
|
655
|
+
**任务**: 为"用户登录"功能拆解任务
|
|
656
|
+
|
|
657
|
+
**Step 1: 确定涉及的系统**
|
|
658
|
+
|
|
659
|
+
- Frontend System, Backend API System, Database System
|
|
660
|
+
|
|
661
|
+
**Step 2: 按Phase组织**
|
|
662
|
+
|
|
663
|
+
```
|
|
664
|
+
Database System:
|
|
665
|
+
Phase 1: Foundation
|
|
666
|
+
- T3.1.1: 创建users表Schema
|
|
667
|
+
|
|
668
|
+
Backend API System:
|
|
669
|
+
Phase 2: Core
|
|
670
|
+
- T2.2.1: 实现 POST /auth/login
|
|
671
|
+
- T2.2.2: 单元测试
|
|
672
|
+
|
|
673
|
+
Frontend System:
|
|
674
|
+
Phase 2: Core
|
|
675
|
+
- T1.2.1: 实现LoginForm组件
|
|
676
|
+
- T1.2.2: 集成/auth/login API
|
|
677
|
+
```
|
|
678
|
+
|
|
679
|
+
**Step 3: 分析依赖**
|
|
680
|
+
|
|
681
|
+
```
|
|
682
|
+
T3.1.1 → T2.2.1 → T1.2.1 (逻辑依赖)
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
**Step 4: 定义验收标准**
|
|
686
|
+
|
|
687
|
+
```
|
|
688
|
+
T2.2.1验收:
|
|
689
|
+
- [ ] API返回JWT Token
|
|
690
|
+
- [ ] 单元测试通过
|
|
691
|
+
- [ ] Postman测试成功
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
**记住**: 好的任务拆解是平衡的艺术。
|
|
697
|
+
不要过度拆分(管理成本高),也不要过度聚合(风险不可控)。
|
|
698
|
+
|
|
699
|
+
Happy Planning!
|