speccrew 0.1.12 → 0.2.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/.speccrew/agents/speccrew-feature-designer.md +120 -0
- package/.speccrew/agents/speccrew-product-manager.md +54 -0
- package/.speccrew/agents/speccrew-system-designer.md +150 -14
- package/.speccrew/agents/speccrew-system-developer.md +309 -37
- package/.speccrew/agents/speccrew-task-worker.md +43 -0
- package/.speccrew/agents/speccrew-team-leader.md +108 -11
- package/.speccrew/agents/speccrew-test-manager.md +278 -0
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +44 -0
- package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +44 -0
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +44 -0
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +44 -0
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +70 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +158 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +59 -29
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +37 -15
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +29 -4
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +71 -4
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +60 -30
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +65 -0
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +38 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +38 -0
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +38 -0
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +38 -0
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +33 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +34 -0
- package/.speccrew/skills/speccrew-test-execute/SKILL.md +34 -0
- package/README.ar.md +70 -3
- package/README.bn.md +52 -0
- package/README.bs.md +70 -3
- package/README.da.md +70 -3
- package/README.de.md +70 -3
- package/README.el.md +52 -0
- package/README.en.md +69 -2
- package/README.es.md +70 -3
- package/README.fr.md +70 -3
- package/README.it.md +70 -3
- package/README.ja.md +70 -3
- package/README.ko.md +70 -3
- package/README.md +69 -2
- package/README.no.md +70 -3
- package/README.pl.md +70 -3
- package/README.pt-BR.md +70 -3
- package/README.ru.md +70 -3
- package/README.th.md +69 -2
- package/README.tr.md +69 -2
- package/README.uk.md +69 -2
- package/README.vi.md +52 -0
- package/README.zh-TW.md +70 -3
- package/docs/GETTING-STARTED.ar.md +78 -4
- package/docs/GETTING-STARTED.bn.md +78 -4
- package/docs/GETTING-STARTED.bs.md +78 -4
- package/docs/GETTING-STARTED.da.md +78 -4
- package/docs/GETTING-STARTED.de.md +78 -4
- package/docs/GETTING-STARTED.el.md +78 -4
- package/docs/GETTING-STARTED.en.md +78 -4
- package/docs/GETTING-STARTED.es.md +78 -4
- package/docs/GETTING-STARTED.fr.md +78 -4
- package/docs/GETTING-STARTED.it.md +78 -4
- package/docs/GETTING-STARTED.ja.md +79 -5
- package/docs/GETTING-STARTED.ko.md +79 -5
- package/docs/GETTING-STARTED.md +78 -4
- package/docs/GETTING-STARTED.no.md +78 -4
- package/docs/GETTING-STARTED.pl.md +78 -4
- package/docs/GETTING-STARTED.pt-BR.md +78 -4
- package/docs/GETTING-STARTED.ru.md +78 -4
- package/docs/GETTING-STARTED.th.md +79 -5
- package/docs/GETTING-STARTED.tr.md +78 -4
- package/docs/GETTING-STARTED.uk.md +78 -4
- package/docs/GETTING-STARTED.vi.md +79 -5
- package/docs/GETTING-STARTED.zh-TW.md +79 -5
- package/package.json +1 -1
- package/.speccrew/skills/speccrew-create-agents/SKILL.md +0 -98
- package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +0 -54
- package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +0 -79
- package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +0 -80
- package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +0 -233
- package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +0 -202
- package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +0 -155
- package/workspace-template/docs/solutions/Agent/346/212/200/350/203/275/345/256/232/344/271/211+/351/234/200/346/261/202/346/226/207/346/241/243+UML/344/275/277/347/224/250/346/250/241/346/235/277/357/274/210ISA-95/345/205/255/346/256/265/345/274/217/350/236/215/345/220/210/347/211/210/357/274/211.md +0 -586
- package/workspace-template/docs/solutions/harness.md +0 -410
|
@@ -15,6 +15,76 @@ Your core task is: coordinate three-phase testing workflow (test case design →
|
|
|
15
15
|
|
|
16
16
|
# Workflow
|
|
17
17
|
|
|
18
|
+
## Phase 0: Workflow Progress Management
|
|
19
|
+
|
|
20
|
+
### Step 0.1: Stage Gate — Verify Upstream Completion
|
|
21
|
+
|
|
22
|
+
**Read `WORKFLOW-PROGRESS.json`** from workspace root:
|
|
23
|
+
```
|
|
24
|
+
speccrew-workspace/WORKFLOW-PROGRESS.json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Validation Rules:**
|
|
28
|
+
- Verify `stages.04_development.status == "confirmed"`
|
|
29
|
+
- If not confirmed → **STOP** with message: "Development stage has not been confirmed. Please complete and confirm the development stage before starting system test."
|
|
30
|
+
|
|
31
|
+
**Update Current Stage:**
|
|
32
|
+
- Set `stages.05_system_test.status` to `"in_progress"`
|
|
33
|
+
- Record `stages.05_system_test.started_at` with current timestamp
|
|
34
|
+
- Write updated `WORKFLOW-PROGRESS.json`
|
|
35
|
+
|
|
36
|
+
### Step 0.2: Check Resume State (断点续传)
|
|
37
|
+
|
|
38
|
+
**Read Checkpoint File** (if exists):
|
|
39
|
+
```
|
|
40
|
+
speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/.checkpoints.json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Resume Decision Matrix:**
|
|
44
|
+
|
|
45
|
+
| Checkpoint State | Action |
|
|
46
|
+
|-----------------|--------|
|
|
47
|
+
| `test_case_coverage.passed == true` | Skip Phase 3 (test-case-design), proceed to Phase 4 (test-code-gen) |
|
|
48
|
+
| `test_code_review.passed == true` | Skip Phase 3+4, proceed to Phase 5 (test-execution) |
|
|
49
|
+
| `test_execution_report.passed == true` | Stage complete — ask user if they want to redo |
|
|
50
|
+
| File does not exist | Proceed normally from Phase 1 |
|
|
51
|
+
|
|
52
|
+
**User Confirmation for Resume:**
|
|
53
|
+
- Display detected resume point to user
|
|
54
|
+
- Ask: "Resume from [phase]? Or restart from beginning?"
|
|
55
|
+
- Proceed based on user choice
|
|
56
|
+
|
|
57
|
+
### Step 0.3: Check Dispatch Resume (多平台断点续传)
|
|
58
|
+
|
|
59
|
+
**Read Dispatch Progress** (if exists):
|
|
60
|
+
```
|
|
61
|
+
speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Parse Task Status by Phase:**
|
|
65
|
+
- Group tasks by `phase` field (test_case_design, test_code_gen, test_execution)
|
|
66
|
+
- For each phase, identify:
|
|
67
|
+
- `completed` tasks — skip
|
|
68
|
+
- `failed` tasks — retry
|
|
69
|
+
- `pending` tasks — execute
|
|
70
|
+
|
|
71
|
+
**Display Progress Summary:**
|
|
72
|
+
```
|
|
73
|
+
Dispatch Resume Status:
|
|
74
|
+
├── test_case_design: {completed}/{total} completed, {failed} failed, {pending} pending
|
|
75
|
+
├── test_code_gen: {completed}/{total} completed, {failed} failed, {pending} pending
|
|
76
|
+
└── test_execution: {completed}/{total} completed, {failed} failed, {pending} pending
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 0.4: Backward Compatibility
|
|
80
|
+
|
|
81
|
+
If `WORKFLOW-PROGRESS.json` does not exist:
|
|
82
|
+
- Proceed with existing workflow (Phase 1 onwards)
|
|
83
|
+
- Skip all progress tracking steps
|
|
84
|
+
- Maintain full compatibility with legacy projects
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
18
88
|
## Phase 1: Preparation
|
|
19
89
|
|
|
20
90
|
When user requests to start testing:
|
|
@@ -109,6 +179,37 @@ Invoke Skill directly with parameters:
|
|
|
109
179
|
|
|
110
180
|
> **IMPORTANT**: Use the **Skill tool** (not the Agent tool) to invoke each test skill.
|
|
111
181
|
|
|
182
|
+
> **DISPATCH-PROGRESS Strategy**: Append mode — each test phase appends its tasks to the existing DISPATCH-PROGRESS.json with a distinct `phase` field. Previous phase records are preserved for full traceability.
|
|
183
|
+
|
|
184
|
+
**Initialize Dispatch Progress File:**
|
|
185
|
+
|
|
186
|
+
Before dispatching, create or update `DISPATCH-PROGRESS.json`:
|
|
187
|
+
```json
|
|
188
|
+
{
|
|
189
|
+
"stage": "05_system_test",
|
|
190
|
+
"phase": "test_case_design",
|
|
191
|
+
"total": {platform_count},
|
|
192
|
+
"completed": 0,
|
|
193
|
+
"failed": 0,
|
|
194
|
+
"pending": {platform_count},
|
|
195
|
+
"tasks": [
|
|
196
|
+
{
|
|
197
|
+
"id": "test-case-{platform_id}",
|
|
198
|
+
"platform": "{platform_id}",
|
|
199
|
+
"phase": "test_case_design",
|
|
200
|
+
"skill": "speccrew-test-case-design",
|
|
201
|
+
"status": "pending",
|
|
202
|
+
"started_at": null,
|
|
203
|
+
"completed_at": null,
|
|
204
|
+
"output": null,
|
|
205
|
+
"error": null
|
|
206
|
+
}
|
|
207
|
+
]
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Dispatch Workers:**
|
|
212
|
+
|
|
112
213
|
Use the **Skill tool** to invoke `speccrew-test-case-design` for each platform in parallel:
|
|
113
214
|
- Each worker receives:
|
|
114
215
|
- `skill_name`: `speccrew-test-case-design`
|
|
@@ -118,11 +219,19 @@ Use the **Skill tool** to invoke `speccrew-test-case-design` for each platform i
|
|
|
118
219
|
- `api_contract_path`: Path to the API contract document (if exists)
|
|
119
220
|
- `platform_id`: Platform identifier
|
|
120
221
|
- `output_path`: Path for the platform-specific test cases document
|
|
222
|
+
- `task_id`: `test-case-{platform_id}` (for progress tracking)
|
|
121
223
|
- Parallel execution pattern:
|
|
122
224
|
- Worker 1: Master Feature Spec + Platform 1 Design → Platform 1 Test Cases
|
|
123
225
|
- Worker 2: Master Feature Spec + Platform 2 Design → Platform 2 Test Cases
|
|
124
226
|
- Worker N: Master Feature Spec + Platform N Design → Platform N Test Cases
|
|
125
227
|
|
|
228
|
+
**Update Progress on Completion:**
|
|
229
|
+
|
|
230
|
+
For each completed worker, parse Task Completion Report and update `DISPATCH-PROGRESS.json`:
|
|
231
|
+
- On SUCCESS: Set `status` to `"completed"`, record `completed_at`, set `output`
|
|
232
|
+
- On FAILED: Set `status` to `"failed"`, record `error`, set `recovery_hint` if available
|
|
233
|
+
- Recalculate `completed`, `failed`, `pending` counts
|
|
234
|
+
|
|
126
235
|
### 3.4 Checkpoint A: Test Case Review
|
|
127
236
|
|
|
128
237
|
After test case design completes for all platforms:
|
|
@@ -141,6 +250,22 @@ After test case design completes for all platforms:
|
|
|
141
250
|
- Wait for user to confirm test case coverage is adequate
|
|
142
251
|
- Only proceed to code generation phase after user confirmation
|
|
143
252
|
|
|
253
|
+
**Write Checkpoint File:**
|
|
254
|
+
|
|
255
|
+
Create or update `.checkpoints.json`:
|
|
256
|
+
```json
|
|
257
|
+
{
|
|
258
|
+
"stage": "05_system_test",
|
|
259
|
+
"checkpoints": {
|
|
260
|
+
"test_case_coverage": {
|
|
261
|
+
"passed": true,
|
|
262
|
+
"confirmed_at": "{ISO8601_timestamp}",
|
|
263
|
+
"description": "Test case coverage review (Checkpoint A)"
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
144
269
|
**Output Path:**
|
|
145
270
|
- `speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/cases/{platform_id}/[feature]-test-cases.md`
|
|
146
271
|
|
|
@@ -165,12 +290,51 @@ Invoke Skill directly:
|
|
|
165
290
|
|
|
166
291
|
### 4.3 Multi-Platform Parallel Execution
|
|
167
292
|
|
|
293
|
+
> **DISPATCH-PROGRESS Strategy**: Append mode — each test phase appends its tasks to the existing DISPATCH-PROGRESS.json with a distinct `phase` field. Previous phase records are preserved for full traceability.
|
|
294
|
+
|
|
295
|
+
**Initialize Dispatch Progress File:**
|
|
296
|
+
|
|
297
|
+
Update `DISPATCH-PROGRESS.json` with new phase:
|
|
298
|
+
```json
|
|
299
|
+
{
|
|
300
|
+
"stage": "05_system_test",
|
|
301
|
+
"phase": "test_code_gen",
|
|
302
|
+
"total": {platform_count},
|
|
303
|
+
"completed": 0,
|
|
304
|
+
"failed": 0,
|
|
305
|
+
"pending": {platform_count},
|
|
306
|
+
"tasks": [
|
|
307
|
+
{
|
|
308
|
+
"id": "test-code-{platform_id}",
|
|
309
|
+
"platform": "{platform_id}",
|
|
310
|
+
"phase": "test_code_gen",
|
|
311
|
+
"skill": "speccrew-test-code-gen",
|
|
312
|
+
"status": "pending",
|
|
313
|
+
"started_at": null,
|
|
314
|
+
"completed_at": null,
|
|
315
|
+
"output": null,
|
|
316
|
+
"error": null
|
|
317
|
+
}
|
|
318
|
+
]
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
**Dispatch Workers:**
|
|
323
|
+
|
|
168
324
|
Use the **Skill tool** to invoke `speccrew-test-code-gen` for each platform in parallel:
|
|
169
325
|
- `context`:
|
|
170
326
|
- `test_cases_path`: Path to the platform-specific test cases document
|
|
171
327
|
- `system_design_path`: Path to the platform system design document
|
|
172
328
|
- `platform_id`: Platform identifier
|
|
173
329
|
- `output_dir`: Directory for generated test code and plan
|
|
330
|
+
- `task_id`: `test-code-{platform_id}` (for progress tracking)
|
|
331
|
+
|
|
332
|
+
**Update Progress on Completion:**
|
|
333
|
+
|
|
334
|
+
For each completed worker, parse Task Completion Report and update `DISPATCH-PROGRESS.json`:
|
|
335
|
+
- On SUCCESS: Set `status` to `"completed"`, record `completed_at`, set `output`
|
|
336
|
+
- On FAILED: Set `status` to `"failed"`, record `error`
|
|
337
|
+
- Recalculate `completed`, `failed`, `pending` counts
|
|
174
338
|
|
|
175
339
|
### 4.4 Checkpoint B: Code Review
|
|
176
340
|
|
|
@@ -190,6 +354,27 @@ After test code generation completes for all platforms:
|
|
|
190
354
|
- Wait for user to confirm test code is acceptable
|
|
191
355
|
- Only proceed to execution phase after user confirmation
|
|
192
356
|
|
|
357
|
+
**Update Checkpoint File:**
|
|
358
|
+
|
|
359
|
+
Update `.checkpoints.json`:
|
|
360
|
+
```json
|
|
361
|
+
{
|
|
362
|
+
"stage": "05_system_test",
|
|
363
|
+
"checkpoints": {
|
|
364
|
+
"test_case_coverage": {
|
|
365
|
+
"passed": true,
|
|
366
|
+
"confirmed_at": "{timestamp}",
|
|
367
|
+
"description": "Test case coverage review (Checkpoint A)"
|
|
368
|
+
},
|
|
369
|
+
"test_code_review": {
|
|
370
|
+
"passed": true,
|
|
371
|
+
"confirmed_at": "{ISO8601_timestamp}",
|
|
372
|
+
"description": "Test code generation review (Checkpoint B)"
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
193
378
|
**Output:**
|
|
194
379
|
- Test code: Written to project source test directories
|
|
195
380
|
- Test code plan: `speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/code/{platform_id}/[feature]-test-code-plan.md`
|
|
@@ -214,11 +399,50 @@ Invoke Skill directly:
|
|
|
214
399
|
|
|
215
400
|
### 5.3 Multi-Platform Parallel Execution
|
|
216
401
|
|
|
402
|
+
> **DISPATCH-PROGRESS Strategy**: Append mode — each test phase appends its tasks to the existing DISPATCH-PROGRESS.json with a distinct `phase` field. Previous phase records are preserved for full traceability.
|
|
403
|
+
|
|
404
|
+
**Initialize Dispatch Progress File:**
|
|
405
|
+
|
|
406
|
+
Update `DISPATCH-PROGRESS.json` with new phase:
|
|
407
|
+
```json
|
|
408
|
+
{
|
|
409
|
+
"stage": "05_system_test",
|
|
410
|
+
"phase": "test_execution",
|
|
411
|
+
"total": {platform_count},
|
|
412
|
+
"completed": 0,
|
|
413
|
+
"failed": 0,
|
|
414
|
+
"pending": {platform_count},
|
|
415
|
+
"tasks": [
|
|
416
|
+
{
|
|
417
|
+
"id": "test-exec-{platform_id}",
|
|
418
|
+
"platform": "{platform_id}",
|
|
419
|
+
"phase": "test_execution",
|
|
420
|
+
"skill": "speccrew-test-execute",
|
|
421
|
+
"status": "pending",
|
|
422
|
+
"started_at": null,
|
|
423
|
+
"completed_at": null,
|
|
424
|
+
"output": null,
|
|
425
|
+
"error": null
|
|
426
|
+
}
|
|
427
|
+
]
|
|
428
|
+
}
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
**Dispatch Workers:**
|
|
432
|
+
|
|
217
433
|
Use the **Skill tool** to invoke `speccrew-test-execute` for each platform in parallel:
|
|
218
434
|
- `context`:
|
|
219
435
|
- `test_code_path`: Path to the platform test code directory
|
|
220
436
|
- `platform_id`: Platform identifier
|
|
221
437
|
- `output_dir`: Directory for reports
|
|
438
|
+
- `task_id`: `test-exec-{platform_id}` (for progress tracking)
|
|
439
|
+
|
|
440
|
+
**Update Progress on Completion:**
|
|
441
|
+
|
|
442
|
+
For each completed worker, parse Task Completion Report and update `DISPATCH-PROGRESS.json`:
|
|
443
|
+
- On SUCCESS: Set `status` to `"completed"`, record `completed_at`, set `output`
|
|
444
|
+
- On FAILED: Set `status` to `"failed"`, record `error`
|
|
445
|
+
- Recalculate `completed`, `failed`, `pending` counts
|
|
222
446
|
|
|
223
447
|
### 5.4 Deviation Detection
|
|
224
448
|
|
|
@@ -277,6 +501,60 @@ Provide clear recommendation:
|
|
|
277
501
|
- Confirm to proceed to delivery phase, or
|
|
278
502
|
- Return to development phase for bug fixes
|
|
279
503
|
|
|
504
|
+
### 6.5 Finalize Progress Files
|
|
505
|
+
|
|
506
|
+
**Update Checkpoint File:**
|
|
507
|
+
|
|
508
|
+
Update `.checkpoints.json`:
|
|
509
|
+
```json
|
|
510
|
+
{
|
|
511
|
+
"stage": "05_system_test",
|
|
512
|
+
"checkpoints": {
|
|
513
|
+
"test_case_coverage": {
|
|
514
|
+
"passed": true,
|
|
515
|
+
"confirmed_at": "{timestamp}",
|
|
516
|
+
"description": "Test case coverage review (Checkpoint A)"
|
|
517
|
+
},
|
|
518
|
+
"test_code_review": {
|
|
519
|
+
"passed": true,
|
|
520
|
+
"confirmed_at": "{timestamp}",
|
|
521
|
+
"description": "Test code generation review (Checkpoint B)"
|
|
522
|
+
},
|
|
523
|
+
"test_execution_report": {
|
|
524
|
+
"passed": true,
|
|
525
|
+
"confirmed_at": "{ISO8601_timestamp}",
|
|
526
|
+
"description": "Test execution final report"
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
**Update Workflow Progress:**
|
|
533
|
+
|
|
534
|
+
Update `WORKFLOW-PROGRESS.json`:
|
|
535
|
+
```json
|
|
536
|
+
{
|
|
537
|
+
"iteration": "{iteration_name}",
|
|
538
|
+
"current_stage": "05_system_test",
|
|
539
|
+
"stages": {
|
|
540
|
+
"05_system_test": {
|
|
541
|
+
"status": "confirmed",
|
|
542
|
+
"started_at": "{timestamp}",
|
|
543
|
+
"completed_at": "{timestamp}",
|
|
544
|
+
"confirmed_at": "{ISO8601_timestamp}",
|
|
545
|
+
"outputs": [
|
|
546
|
+
"05.system-test/cases/",
|
|
547
|
+
"05.system-test/code/",
|
|
548
|
+
"05.system-test/reports/",
|
|
549
|
+
"05.system-test/bugs/"
|
|
550
|
+
]
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
> **Note**: `current_stage` does not advance — 05_system_test is the final stage of the pipeline.
|
|
557
|
+
|
|
280
558
|
# Deliverables
|
|
281
559
|
|
|
282
560
|
| Deliverable | Path | Notes |
|
|
@@ -193,6 +193,50 @@ Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development
|
|
|
193
193
|
Ready for testing phase.
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
+
## Task Completion Report
|
|
197
|
+
|
|
198
|
+
At the end of Step 8 (or if the skill fails at any point), output a structured Task Completion Report:
|
|
199
|
+
|
|
200
|
+
### Success Report
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
## Task Completion Report
|
|
204
|
+
- **Status**: SUCCESS
|
|
205
|
+
- **Task ID**: {task_id from dispatch context}
|
|
206
|
+
- **Platform**: {platform_id}
|
|
207
|
+
- **Module**: {module_name}
|
|
208
|
+
- **Output Files**:
|
|
209
|
+
- {file_path_1}
|
|
210
|
+
- {file_path_2}
|
|
211
|
+
- ...
|
|
212
|
+
- **Summary**: Backend module {module_name} implemented with {X} tasks completed
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Failure Report
|
|
216
|
+
|
|
217
|
+
If the skill fails at any step:
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
## Task Completion Report
|
|
221
|
+
- **Status**: FAILED
|
|
222
|
+
- **Task ID**: {task_id from dispatch context}
|
|
223
|
+
- **Platform**: {platform_id}
|
|
224
|
+
- **Module**: {module_name}
|
|
225
|
+
- **Output Files**: {list of partially generated files, or "None"}
|
|
226
|
+
- **Summary**: {one-line description of what was attempted}
|
|
227
|
+
- **Error**: {detailed error description}
|
|
228
|
+
- **Error Category**: {DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED}
|
|
229
|
+
- **Partial Outputs**: {list of files that were generated before failure, or "None"}
|
|
230
|
+
- **Recovery Hint**: {suggestion for how to resolve and retry}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Error Category Definitions**:
|
|
234
|
+
- `DEPENDENCY_MISSING`: Required runtime/dependency not available
|
|
235
|
+
- `BUILD_FAILURE`: Compilation error, maven/gradle build failure
|
|
236
|
+
- `VALIDATION_ERROR`: Checkstyle, test failure, or validation error
|
|
237
|
+
- `RUNTIME_ERROR`: Service startup failure, runtime exception
|
|
238
|
+
- `BLOCKED`: Blocked by external dependency or unresolved design issue
|
|
239
|
+
|
|
196
240
|
# Key Rules
|
|
197
241
|
|
|
198
242
|
| Rule | Description |
|
|
@@ -246,6 +246,50 @@ Technical Debt Items: {count}
|
|
|
246
246
|
Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md
|
|
247
247
|
```
|
|
248
248
|
|
|
249
|
+
## Task Completion Report
|
|
250
|
+
|
|
251
|
+
At the end of Step 8 (or if the skill fails at any point), output a structured Task Completion Report:
|
|
252
|
+
|
|
253
|
+
### Success Report
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
## Task Completion Report
|
|
257
|
+
- **Status**: SUCCESS
|
|
258
|
+
- **Task ID**: {task_id from dispatch context}
|
|
259
|
+
- **Platform**: {platform_id}
|
|
260
|
+
- **Module**: {module_name}
|
|
261
|
+
- **Output Files**:
|
|
262
|
+
- {file_path_1}
|
|
263
|
+
- {file_path_2}
|
|
264
|
+
- ...
|
|
265
|
+
- **Summary**: Desktop module {module_name} implemented with {X} tasks completed
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Failure Report
|
|
269
|
+
|
|
270
|
+
If the skill fails at any step:
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
## Task Completion Report
|
|
274
|
+
- **Status**: FAILED
|
|
275
|
+
- **Task ID**: {task_id from dispatch context}
|
|
276
|
+
- **Platform**: {platform_id}
|
|
277
|
+
- **Module**: {module_name}
|
|
278
|
+
- **Output Files**: {list of partially generated files, or "None"}
|
|
279
|
+
- **Summary**: {one-line description of what was attempted}
|
|
280
|
+
- **Error**: {detailed error description}
|
|
281
|
+
- **Error Category**: {DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED}
|
|
282
|
+
- **Partial Outputs**: {list of files that were generated before failure, or "None"}
|
|
283
|
+
- **Recovery Hint**: {suggestion for how to resolve and retry}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Error Category Definitions**:
|
|
287
|
+
- `DEPENDENCY_MISSING`: Required Node.js/npm or Rust dependency not available
|
|
288
|
+
- `BUILD_FAILURE`: Electron/Tauri build error, native compilation failure
|
|
289
|
+
- `VALIDATION_ERROR`: ESLint, TypeScript type check, Rust clippy, or test failure
|
|
290
|
+
- `RUNTIME_ERROR`: App crash on launch, runtime exception, IPC communication failure
|
|
291
|
+
- `BLOCKED`: Blocked by external dependency, native module issue, or unresolved design issue
|
|
292
|
+
|
|
249
293
|
**Ask user to confirm:**
|
|
250
294
|
1. Are all IPC channels working correctly?
|
|
251
295
|
2. Is context isolation properly configured?
|
|
@@ -212,6 +212,50 @@ Tech Debt: {count}
|
|
|
212
212
|
Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/{feature-name}-tasks.md
|
|
213
213
|
```
|
|
214
214
|
|
|
215
|
+
## Task Completion Report
|
|
216
|
+
|
|
217
|
+
At the end of Step 6 (or if the skill fails at any point), output a structured Task Completion Report:
|
|
218
|
+
|
|
219
|
+
### Success Report
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
## Task Completion Report
|
|
223
|
+
- **Status**: SUCCESS
|
|
224
|
+
- **Task ID**: {task_id from dispatch context}
|
|
225
|
+
- **Platform**: {platform_id}
|
|
226
|
+
- **Module**: {module_name}
|
|
227
|
+
- **Output Files**:
|
|
228
|
+
- {file_path_1}
|
|
229
|
+
- {file_path_2}
|
|
230
|
+
- ...
|
|
231
|
+
- **Summary**: Frontend module {module_name} implemented with {X} tasks completed
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Failure Report
|
|
235
|
+
|
|
236
|
+
If the skill fails at any step:
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
## Task Completion Report
|
|
240
|
+
- **Status**: FAILED
|
|
241
|
+
- **Task ID**: {task_id from dispatch context}
|
|
242
|
+
- **Platform**: {platform_id}
|
|
243
|
+
- **Module**: {module_name}
|
|
244
|
+
- **Output Files**: {list of partially generated files, or "None"}
|
|
245
|
+
- **Summary**: {one-line description of what was attempted}
|
|
246
|
+
- **Error**: {detailed error description}
|
|
247
|
+
- **Error Category**: {DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED}
|
|
248
|
+
- **Partial Outputs**: {list of files that were generated before failure, or "None"}
|
|
249
|
+
- **Recovery Hint**: {suggestion for how to resolve and retry}
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Error Category Definitions**:
|
|
253
|
+
- `DEPENDENCY_MISSING`: Required Node.js/npm dependency not available
|
|
254
|
+
- `BUILD_FAILURE`: Vite/Webpack build error, compilation failure
|
|
255
|
+
- `VALIDATION_ERROR`: ESLint, TypeScript type check, or test failure
|
|
256
|
+
- `RUNTIME_ERROR`: Runtime exception in browser/dev server
|
|
257
|
+
- `BLOCKED`: Blocked by external dependency or unresolved design issue
|
|
258
|
+
|
|
215
259
|
# Key Rules
|
|
216
260
|
|
|
217
261
|
| Rule | Description |
|
|
@@ -200,6 +200,50 @@ Mobile Development Complete:
|
|
|
200
200
|
Ready for QA Agent acceptance testing.
|
|
201
201
|
```
|
|
202
202
|
|
|
203
|
+
## Task Completion Report
|
|
204
|
+
|
|
205
|
+
At the end of Step 8 (or if the skill fails at any point), output a structured Task Completion Report:
|
|
206
|
+
|
|
207
|
+
### Success Report
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
## Task Completion Report
|
|
211
|
+
- **Status**: SUCCESS
|
|
212
|
+
- **Task ID**: {task_id from dispatch context}
|
|
213
|
+
- **Platform**: {platform_id}
|
|
214
|
+
- **Module**: {module_name}
|
|
215
|
+
- **Output Files**:
|
|
216
|
+
- {file_path_1}
|
|
217
|
+
- {file_path_2}
|
|
218
|
+
- ...
|
|
219
|
+
- **Summary**: Mobile module {module_name} implemented with {X} tasks completed
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Failure Report
|
|
223
|
+
|
|
224
|
+
If the skill fails at any step:
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
## Task Completion Report
|
|
228
|
+
- **Status**: FAILED
|
|
229
|
+
- **Task ID**: {task_id from dispatch context}
|
|
230
|
+
- **Platform**: {platform_id}
|
|
231
|
+
- **Module**: {module_name}
|
|
232
|
+
- **Output Files**: {list of partially generated files, or "None"}
|
|
233
|
+
- **Summary**: {one-line description of what was attempted}
|
|
234
|
+
- **Error**: {detailed error description}
|
|
235
|
+
- **Error Category**: {DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED}
|
|
236
|
+
- **Partial Outputs**: {list of files that were generated before failure, or "None"}
|
|
237
|
+
- **Recovery Hint**: {suggestion for how to resolve and retry}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**Error Category Definitions**:
|
|
241
|
+
- `DEPENDENCY_MISSING`: Required Flutter/Dart or npm dependency not available
|
|
242
|
+
- `BUILD_FAILURE`: Flutter build error, Gradle/Xcode compilation failure
|
|
243
|
+
- `VALIDATION_ERROR`: Static analysis error (`flutter analyze`), test failure
|
|
244
|
+
- `RUNTIME_ERROR`: App crash on simulator/emulator, runtime exception
|
|
245
|
+
- `BLOCKED`: Blocked by external dependency, native module issue, or unresolved design issue
|
|
246
|
+
|
|
203
247
|
# Key Rules
|
|
204
248
|
|
|
205
249
|
| Rule | Description |
|
|
@@ -99,6 +99,76 @@ Please confirm the following key points:
|
|
|
99
99
|
After confirmation, you can start frontend and backend Designer Agents separately.
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
+
## Step 6: Update Progress Files
|
|
103
|
+
|
|
104
|
+
After user confirms Joint Confirmation:
|
|
105
|
+
|
|
106
|
+
### 6.1 Update Checkpoints File
|
|
107
|
+
|
|
108
|
+
Write/Update `.checkpoints.json`:
|
|
109
|
+
|
|
110
|
+
- Path: `speccrew-workspace/iterations/{iteration-id}/02.feature-design/.checkpoints.json`
|
|
111
|
+
- Content:
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"stage": "02_feature_design",
|
|
115
|
+
"checkpoints": {
|
|
116
|
+
"function_decomposition": {
|
|
117
|
+
"passed": true,
|
|
118
|
+
"confirmed_at": "..."
|
|
119
|
+
},
|
|
120
|
+
"feature_spec_review": {
|
|
121
|
+
"passed": true,
|
|
122
|
+
"confirmed_at": "..."
|
|
123
|
+
},
|
|
124
|
+
"api_contract_joint": {
|
|
125
|
+
"passed": true,
|
|
126
|
+
"confirmed_at": "{current_timestamp}",
|
|
127
|
+
"description": "API contract joint confirmation passed"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- Preserve existing checkpoint statuses when updating
|
|
134
|
+
- Log: "✅ Checkpoint (api_contract_joint) passed and recorded"
|
|
135
|
+
|
|
136
|
+
### 6.2 Update Workflow Progress
|
|
137
|
+
|
|
138
|
+
Update `WORKFLOW-PROGRESS.json` to finalize the stage:
|
|
139
|
+
|
|
140
|
+
- Path: `speccrew-workspace/iterations/{iteration-id}/WORKFLOW-PROGRESS.json`
|
|
141
|
+
- Update:
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"current_stage": "03_system_design",
|
|
145
|
+
"stages": {
|
|
146
|
+
"02_feature_design": {
|
|
147
|
+
"status": "confirmed",
|
|
148
|
+
"completed_at": "{current_timestamp}",
|
|
149
|
+
"confirmed_at": "{current_timestamp}",
|
|
150
|
+
"outputs": [
|
|
151
|
+
"02.feature-design/[feature-name]-feature-spec.md",
|
|
152
|
+
"02.feature-design/[feature-name]-api-contract.md"
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
- Set `02_feature_design.status` to `confirmed`
|
|
160
|
+
- Set `current_stage` to `03_system_design`
|
|
161
|
+
- Record all output file paths
|
|
162
|
+
- Log: "✅ Stage 02_feature_design confirmed. Ready for System Design phase."
|
|
163
|
+
|
|
164
|
+
### 6.3 Backward Compatibility
|
|
165
|
+
|
|
166
|
+
If `WORKFLOW-PROGRESS.json` does not exist:
|
|
167
|
+
- Log: "⚠️ No workflow progress file found. Skipping workflow update."
|
|
168
|
+
- Still update `.checkpoints.json` if the directory exists
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
102
172
|
# Checklist
|
|
103
173
|
|
|
104
174
|
- [ ] All APIs mentioned in feature spec have defined contracts
|