speccrew 0.2.2 → 0.2.3

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.
@@ -19,25 +19,25 @@ Your core task is: coordinate three-phase testing workflow (test case design →
19
19
 
20
20
  ### Step 0.1: Stage Gate — Verify Upstream Completion
21
21
 
22
- **Read `WORKFLOW-PROGRESS.json`** from workspace root:
23
- ```
24
- speccrew-workspace/WORKFLOW-PROGRESS.json
22
+ **Read `WORKFLOW-PROGRESS.json` overview**:
23
+ ```bash
24
+ node .speccrew/scripts/update-progress.js read --file speccrew-workspace/WORKFLOW-PROGRESS.json --overview
25
25
  ```
26
26
 
27
27
  **Validation Rules:**
28
- - Verify `stages.04_development.status == "confirmed"`
28
+ - Verify `stages.04_development.status == "confirmed"` in the output
29
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
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`
31
+ **Update Current Stage**:
32
+ ```bash
33
+ node .speccrew/scripts/update-progress.js update-workflow --file speccrew-workspace/WORKFLOW-PROGRESS.json --stage 05_system_test --status in_progress
34
+ ```
35
35
 
36
36
  ### Step 0.2: Check Resume State (断点续传)
37
37
 
38
- **Read Checkpoint File** (if exists):
39
- ```
40
- speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/.checkpoints.json
38
+ **Read Checkpoints** (if file exists):
39
+ ```bash
40
+ node .speccrew/scripts/update-progress.js read --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/.checkpoints.json --checkpoints
41
41
  ```
42
42
 
43
43
  **Resume Decision Matrix:**
@@ -56,9 +56,9 @@ speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/.checkpoints
56
56
 
57
57
  ### Step 0.3: Check Dispatch Resume (多平台断点续传)
58
58
 
59
- **Read Dispatch Progress** (if exists):
60
- ```
61
- speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json
59
+ **Read Dispatch Progress Summary** (if file exists):
60
+ ```bash
61
+ node .speccrew/scripts/update-progress.js read --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --summary
62
62
  ```
63
63
 
64
64
  **Parse Task Status by Phase:**
@@ -183,30 +183,13 @@ Invoke Skill directly with parameters:
183
183
 
184
184
  **Initialize Dispatch Progress File:**
185
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
- }
186
+ Before dispatching, create dispatch tracking:
187
+ ```bash
188
+ node .speccrew/scripts/update-progress.js init --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --stage 05_system_test --tasks '[{"id":"test-case-{platform_id}","platform":"{platform_id}","phase":"test_case_design","skill":"speccrew-test-case-design","status":"pending"}]'
209
189
  ```
190
+ Or use `--tasks-file` to load from a JSON file.
191
+
192
+ > **Note**: For subsequent phases (test_code_gen, test_execution), append tasks to the same file by reading the existing file and adding new tasks with the appropriate `phase` field.
210
193
 
211
194
  **Dispatch Workers:**
212
195
 
@@ -227,10 +210,15 @@ Dispatch `speccrew-task-worker` agents for `speccrew-test-case-design` for each
227
210
 
228
211
  **Update Progress on Completion:**
229
212
 
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
213
+ For each completed worker, parse Task Completion Report and update:
214
+ - On SUCCESS:
215
+ ```bash
216
+ node .speccrew/scripts/update-progress.js update-task --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --task-id test-case-{platform_id} --status completed --output "{output_path}"
217
+ ```
218
+ - On FAILED:
219
+ ```bash
220
+ node .speccrew/scripts/update-progress.js update-task --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --task-id test-case-{platform_id} --status failed --error "{error_message}"
221
+ ```
234
222
 
235
223
  ### 3.4 Checkpoint A: Test Case Review
236
224
 
@@ -252,18 +240,8 @@ After test case design completes for all platforms:
252
240
 
253
241
  **Write Checkpoint File:**
254
242
 
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
- }
243
+ ```bash
244
+ node .speccrew/scripts/update-progress.js write-checkpoint --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/.checkpoints.json --stage 05_system_test --checkpoint test_case_coverage --passed true --description "Test case coverage review (Checkpoint A)"
267
245
  ```
268
246
 
269
247
  **Output Path:**
@@ -294,30 +272,11 @@ Invoke Skill directly:
294
272
 
295
273
  **Initialize Dispatch Progress File:**
296
274
 
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
- }
275
+ Append new tasks for test_code_gen phase by reading existing file and adding tasks:
276
+ ```bash
277
+ node .speccrew/scripts/update-progress.js init --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS-test-code-gen.json --stage 05_system_test --tasks '[{"id":"test-code-{platform_id}","platform":"{platform_id}","phase":"test_code_gen","skill":"speccrew-test-code-gen","status":"pending"}]'
320
278
  ```
279
+ > **Note**: In practice, maintain a single DISPATCH-PROGRESS.json with all phases by merging task arrays.
321
280
 
322
281
  **Dispatch Workers:**
323
282
 
@@ -331,10 +290,15 @@ Dispatch `speccrew-task-worker` agents for `speccrew-test-code-gen` for each pla
331
290
 
332
291
  **Update Progress on Completion:**
333
292
 
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
293
+ For each completed worker, parse Task Completion Report:
294
+ - On SUCCESS:
295
+ ```bash
296
+ node .speccrew/scripts/update-progress.js update-task --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --task-id test-code-{platform_id} --status completed --output "{output_path}"
297
+ ```
298
+ - On FAILED:
299
+ ```bash
300
+ node .speccrew/scripts/update-progress.js update-task --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --task-id test-code-{platform_id} --status failed --error "{error_message}"
301
+ ```
338
302
 
339
303
  ### 4.4 Checkpoint B: Code Review
340
304
 
@@ -356,23 +320,8 @@ After test code generation completes for all platforms:
356
320
 
357
321
  **Update Checkpoint File:**
358
322
 
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
- }
323
+ ```bash
324
+ node .speccrew/scripts/update-progress.js write-checkpoint --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/.checkpoints.json --stage 05_system_test --checkpoint test_code_review --passed true --description "Test code generation review (Checkpoint B)"
376
325
  ```
377
326
 
378
327
  **Output:**
@@ -403,30 +352,11 @@ Invoke Skill directly:
403
352
 
404
353
  **Initialize Dispatch Progress File:**
405
354
 
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
- }
355
+ Append new tasks for test_execution phase:
356
+ ```bash
357
+ node .speccrew/scripts/update-progress.js init --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS-test-exec.json --stage 05_system_test --tasks '[{"id":"test-exec-{platform_id}","platform":"{platform_id}","phase":"test_execution","skill":"speccrew-test-execute","status":"pending"}]'
429
358
  ```
359
+ > **Note**: In practice, maintain a single DISPATCH-PROGRESS.json with all phases by merging task arrays.
430
360
 
431
361
  **Dispatch Workers:**
432
362
 
@@ -439,10 +369,15 @@ Dispatch `speccrew-task-worker` agents for `speccrew-test-execute` for each plat
439
369
 
440
370
  **Update Progress on Completion:**
441
371
 
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
372
+ For each completed worker, parse Task Completion Report:
373
+ - On SUCCESS:
374
+ ```bash
375
+ node .speccrew/scripts/update-progress.js update-task --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --task-id test-exec-{platform_id} --status completed --output "{output_path}"
376
+ ```
377
+ - On FAILED:
378
+ ```bash
379
+ node .speccrew/scripts/update-progress.js update-task --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/DISPATCH-PROGRESS.json --task-id test-exec-{platform_id} --status failed --error "{error_message}"
380
+ ```
446
381
 
447
382
  ### 5.4 Deviation Detection
448
383
 
@@ -505,52 +440,14 @@ Provide clear recommendation:
505
440
 
506
441
  **Update Checkpoint File:**
507
442
 
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
- }
443
+ ```bash
444
+ node .speccrew/scripts/update-progress.js write-checkpoint --file speccrew-workspace/iterations/{number}-{type}-{name}/05.system-test/.checkpoints.json --stage 05_system_test --checkpoint test_execution_report --passed true --description "Test execution final report"
530
445
  ```
531
446
 
532
447
  **Update Workflow Progress:**
533
448
 
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
- }
449
+ ```bash
450
+ node .speccrew/scripts/update-progress.js update-workflow --file speccrew-workspace/WORKFLOW-PROGRESS.json --stage 05_system_test --status confirmed --output "05.system-test/cases/,05.system-test/code/,05.system-test/reports/,05.system-test/bugs/"
554
451
  ```
555
452
 
556
453
  > **Note**: `current_stage` does not advance — 05_system_test is the final stage of the pipeline.