speccrew 0.6.46 → 0.6.48

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.
@@ -102,7 +102,7 @@ This skill automatically adapts to the user's input language. All documentation
102
102
  </block>
103
103
 
104
104
  <block type="event" id="E1" action="log" level="info" desc="Log Step 1 completion">
105
- Step 1 Status: COMPLETED - Read ${sourcePath}, found ${apiImports.count} APIs, ${componentUsage.count} components, ${navigationPatterns.count} navigations
105
+ <field name="message">Step 1 Status: COMPLETED - Read ${sourcePath}, found ${apiImports.count} APIs, ${componentUsage.count} components, ${navigationPatterns.count} navigations</field>
106
106
  </block>
107
107
 
108
108
  <block type="checkpoint" id="CP1" name="step-1-read-source" desc="Source file read complete">
@@ -143,7 +143,7 @@ Step 1 Status: COMPLETED - Read ${sourcePath}, found ${apiImports.count} APIs, $
143
143
  </block>
144
144
 
145
145
  <block type="event" id="E2" action="log" level="info" desc="Log Step 2 completion">
146
- Step 2 Status: COMPLETED - Constructed ${nodeCount} nodes
146
+ <field name="message">Step 2 Status: COMPLETED - Constructed ${nodeCount} nodes</field>
147
147
  </block>
148
148
 
149
149
  <block type="checkpoint" id="CP2" name="step-2-construct-nodes" desc="Graph nodes constructed">
@@ -193,7 +193,7 @@ Step 2 Status: COMPLETED - Constructed ${nodeCount} nodes
193
193
  </block>
194
194
 
195
195
  <block type="event" id="E3" action="log" level="info" desc="Log Step 3 completion">
196
- Step 3 Status: COMPLETED - Constructed ${edgeCount} edges (${apiEdges.count} API calls, ${navEdges.count} navigations, ${useEdges.count} component uses)
196
+ <field name="message">Step 3 Status: COMPLETED - Constructed ${edgeCount} edges (${apiEdges.count} API calls, ${navEdges.count} navigations, ${useEdges.count} component uses)</field>
197
197
  </block>
198
198
 
199
199
  <block type="checkpoint" id="CP3" name="step-3-construct-edges" desc="Graph edges constructed">
@@ -232,7 +232,7 @@ Step 3 Status: COMPLETED - Constructed ${edgeCount} edges (${apiEdges.count} API
232
232
  </block>
233
233
 
234
234
  <block type="event" id="E4" action="log" level="info" desc="Log Step 4 completion">
235
- Step 4 Status: COMPLETED - Graph JSON written to ${completed_dir}/${markerFilename}.graph.json
235
+ <field name="message">Step 4 Status: COMPLETED - Graph JSON written to ${completed_dir}/${markerFilename}.graph.json</field>
236
236
  </block>
237
237
 
238
238
  <block type="checkpoint" id="CP4" name="step-4-write-graph-json" desc="Graph JSON written">
@@ -265,7 +265,7 @@ Step 4 Status: COMPLETED - Graph JSON written to ${completed_dir}/${markerFilena
265
265
  </block>
266
266
 
267
267
  <block type="event" id="E5" action="log" level="info" desc="Log Step 5 completion">
268
- Step 5 Status: COMPLETED - Graph completion marker written to ${completed_dir}/${markerFilename}.graph-done.json
268
+ <field name="message">Step 5 Status: COMPLETED - Graph completion marker written to ${completed_dir}/${markerFilename}.graph-done.json</field>
269
269
  </block>
270
270
 
271
271
  <block type="checkpoint" id="CP5" name="step-5-write-marker" desc="Completion marker written">
@@ -115,7 +115,9 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
115
115
  ============================================================ -->
116
116
  <block type="gateway" id="G1" mode="exclusive" desc="Check platform type for UI pattern extraction">
117
117
  <branch test="${platform_type} NOT IN ['web', 'mobile', 'desktop']" name="Backend platform">
118
- <block type="event" id="E1" action="log" level="info" desc="Log skip reason">Skipping skill: backend platforms do not have UI patterns</block>
118
+ <block type="event" id="E1" action="log" level="info" desc="Log skip reason">
119
+ <field name="message">Skipping skill: backend platforms do not have UI patterns</field>
120
+ </block>
119
121
  <block type="task" id="B1" action="analyze" desc="Return skip status">
120
122
  <field name="status" value="skipped"/>
121
123
  <field name="reason" value="Backend platform does not have UI patterns"/>
@@ -210,7 +212,9 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
210
212
  ============================================================ -->
211
213
  <block type="gateway" id="G3" mode="exclusive" desc="Check if patterns were identified">
212
214
  <branch test="${identified_patterns.length} == 0" name="No patterns">
213
- <block type="event" id="E2" action="log" level="warn" desc="Log no patterns">No patterns identified from feature documents</block>
215
+ <block type="event" id="E2" action="log" level="warn" desc="Log no patterns">
216
+ <field name="message">No patterns identified from feature documents</field>
217
+ </block>
214
218
  <block type="task" id="B8" action="analyze" desc="Return empty result">
215
219
  <field name="status" value="completed"/>
216
220
  <field name="platform_id" value="${platform_id}"/>
@@ -299,7 +303,9 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
299
303
 
300
304
  </branch>
301
305
  <branch test="${completed_features.length} == 0" name="No completed features">
302
- <block type="event" id="E3" action="log" level="warn" desc="Log no features">No completed features found - returning empty result</block>
306
+ <block type="event" id="E3" action="log" level="warn" desc="Log no features">
307
+ <field name="message">No completed features found - returning empty result</field>
308
+ </block>
303
309
  <block type="task" id="B15" action="analyze" desc="Return empty summary">
304
310
  <field name="status" value="completed"/>
305
311
  <field name="platform_id" value="${platform_id}"/>
@@ -108,7 +108,7 @@ flowchart TD
108
108
  <block type="gateway" id="G1" mode="exclusive" desc="Check if features exist">
109
109
  <branch test="${feature_files.length} == 0" name="No features">
110
110
  <block type="event" id="E1a" action="log" level="warning" desc="No features warning">
111
- No feature documents found for module ${module_name}
111
+ <field name="message">No feature documents found for module ${module_name}</field>
112
112
  </block>
113
113
  <block type="task" id="B1e" action="write-file" desc="Generate minimal overview">
114
114
  <field name="path" value="${module_path}/${module_name}-overview.md"/>
@@ -116,12 +116,12 @@ No feature documents found for module ${module_name}
116
116
  </block>
117
117
  <field name="status" value="partial"/>
118
118
  <block type="event" id="E1b" action="signal" desc="Signal complete">
119
- workflow_complete
119
+ <field name="message">workflow_complete</field>
120
120
  </block>
121
121
  </branch>
122
122
  <branch test="${feature_files.length} > 0" name="Features found">
123
123
  <block type="event" id="E1c" action="log" level="info" desc="Features found">
124
- Found ${feature_files.length} feature documents
124
+ <field name="message">Found ${feature_files.length} feature documents</field>
125
125
  </block>
126
126
  </branch>
127
127
  </block>
@@ -308,13 +308,13 @@ Found ${feature_files.length} feature documents
308
308
  </try>
309
309
  <catch error-type="write_error">
310
310
  <block type="event" id="EH1-E1" action="log" level="error" desc="Write error">
311
- Failed to write overview document: ${write_error.message}
311
+ <field name="message">Failed to write overview document: ${write_error.message}</field>
312
312
  </block>
313
313
  <field name="status" value="failed"/>
314
314
  </catch>
315
315
  <finally>
316
316
  <block type="event" id="EH1-E2" action="log" level="info" desc="Write completed">
317
- Document write operation completed
317
+ <field name="message">Document write operation completed</field>
318
318
  </block>
319
319
  </finally>
320
320
  </block>
@@ -351,14 +351,14 @@ Document write operation completed
351
351
 
352
352
  <!-- Event: Log completion -->
353
353
  <block type="event" id="E6" action="log" level="info" desc="Log completion">
354
- Module summarization completed:
354
+ <field name="message">Module summarization completed:
355
355
  - Module: ${module_name}
356
356
  - Features Processed: ${feature_files.length}
357
357
  - Entities Extracted: ${unique_entities.length}
358
358
  - Dependencies Identified: ${dependencies.length}
359
359
  - Business Rules Summarized: ${business_rules.length}
360
360
  - Output: ${module_name}-overview.md (complete)
361
- - Status: success
361
+ - Status: success</field>
362
362
  </block>
363
363
  </sequence>
364
364
 
@@ -97,7 +97,7 @@ flowchart TD
97
97
 
98
98
  <!-- Prerequisites Verification -->
99
99
  <block type="event" id="E1" action="log" level="info" desc="Log workflow start">
100
- Starting system summarization workflow
100
+ <field name="message">Starting system summarization workflow</field>
101
101
  </block>
102
102
 
103
103
  <!-- Step 0: Read System Overview Template -->
@@ -123,7 +123,7 @@ Starting system summarization workflow
123
123
  <block type="gateway" id="G1" mode="exclusive" desc="Check if modules discovered">
124
124
  <branch test="${module_files.length} == 0" name="No modules">
125
125
  <block type="event" id="E2" action="log" level="warning" desc="Log no modules found">
126
- No module overview files found in ${modules_path}
126
+ <field name="message">No module overview files found in ${modules_path}</field>
127
127
  </block>
128
128
  <block type="task" id="B2" action="run-script" desc="Generate skeleton document">
129
129
  <field name="script" value="generate-skeleton.js"/>
@@ -144,7 +144,7 @@ No module overview files found in ${modules_path}
144
144
  </branch>
145
145
  <branch test="${module_files.length} > 0" name="Modules found">
146
146
  <block type="event" id="E4" action="log" level="info" desc="Log modules discovered">
147
- Discovered ${module_files.length} module overview files
147
+ <field name="message">Discovered ${module_files.length} module overview files</field>
148
148
  </block>
149
149
  </branch>
150
150
  </block>
@@ -355,7 +355,7 @@ Discovered ${module_files.length} module overview files
355
355
  <field name="output" var="timestamp"/>
356
356
  </block>
357
357
  <block type="event" id="E5" action="log" level="warning" desc="Log fallback">
358
- Using system fallback timestamp
358
+ <field name="message">Using system fallback timestamp</field>
359
359
  </block>
360
360
  </branch>
361
361
  </block>
@@ -464,7 +464,7 @@ Using system fallback timestamp
464
464
  </try>
465
465
  <catch error-type="write_error">
466
466
  <block type="event" id="E6" action="log" level="error" desc="Log write error">
467
- Failed to write system overview: ${write_error.message}
467
+ <field name="message">Failed to write system overview: ${write_error.message}</field>
468
468
  </block>
469
469
  <block type="output" id="O-err" desc="Error output">
470
470
  <field name="status" value="failed"/>
@@ -472,7 +472,7 @@ Failed to write system overview: ${write_error.message}
472
472
  </catch>
473
473
  <finally>
474
474
  <block type="event" id="E7" action="log" level="info" desc="Log write complete">
475
- Document write operation completed
475
+ <field name="message">Document write operation completed</field>
476
476
  </block>
477
477
  </finally>
478
478
  </block>
@@ -513,14 +513,14 @@ Document write operation completed
513
513
 
514
514
  <!-- Event: Log completion -->
515
515
  <block type="event" id="E8" action="log" level="info" desc="Log completion summary">
516
- System summarization completed:
516
+ <field name="message">System summarization completed:
517
517
  - Modules Processed: ${module_count}
518
518
  - Entities Aggregated: ${metrics.entity_count}
519
519
  - APIs Counted: ${metrics.api_count}
520
520
  - Dependencies Mapped: ${all_dependencies.length}
521
521
  - Business Flows Identified: ${flow_count}
522
522
  - Output: system-overview.md (complete)
523
- - Status: success
523
+ - Status: success</field>
524
524
  </block>
525
525
 
526
526
  <!-- Output Block: Define workflow outputs -->
@@ -191,10 +191,10 @@ Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized pl
191
191
 
192
192
  <!-- Step 2: Prepare Task Plan for techs-init -->
193
193
  <block type="event" id="S1-E1" action="log" level="info" desc="Prepare techs-init task plan">
194
- Stage 1: Preparing task plan for speccrew-knowledge-techs-init-xml
194
+ <field name="message">Stage 1: Preparing task plan for speccrew-knowledge-techs-init-xml
195
195
  - Source path: ${source_path}
196
196
  - Output path: ${sync_state_techs_dir}
197
- - Language: ${language}
197
+ - Language: ${language}</field>
198
198
  </block>
199
199
 
200
200
  <!-- Step 3: Prepare task specification -->
@@ -210,9 +210,9 @@ Stage 1: Preparing task plan for speccrew-knowledge-techs-init-xml
210
210
 
211
211
  <!-- Step 4: Monitor completion -->
212
212
  <block type="event" id="S1-E2" action="log" level="info" desc="Stage 1 task prepared">
213
- Stage 1 task plan prepared. Waiting for calling Agent to dispatch.
213
+ <field name="message">Stage 1 task plan prepared. Waiting for calling Agent to dispatch.
214
214
  Task: speccrew-knowledge-techs-init-xml
215
- Output: ${sync_state_techs_dir}/techs-manifest.json
215
+ Output: ${sync_state_techs_dir}/techs-manifest.json</field>
216
216
  </block>
217
217
 
218
218
  <!-- Step 5: Read manifest after completion -->
@@ -233,7 +233,7 @@ Output: ${sync_state_techs_dir}/techs-manifest.json
233
233
  </block>
234
234
 
235
235
  <block type="event" id="S1-E3" action="log" level="info" desc="Report detected platforms">
236
- Stage 1 complete. Detected ${techs_manifest.platforms.length} platforms: ${techs_manifest.platforms.map(p => p.platform_id).join(', ')}
236
+ <field name="message">Stage 1 complete. Detected ${techs_manifest.platforms.length} platforms: ${techs_manifest.platforms.map(p => p.platform_id).join(', ')}</field>
237
237
  </block>
238
238
  </sequence>
239
239
 
@@ -284,7 +284,7 @@ if (platform) {
284
284
 
285
285
  <!-- Step 2: Prepare Conventions Worker Task Plans (ALL Platforms) -->
286
286
  <block type="event" id="S2-E1" action="log" level="info" desc="Prepare conventions worker tasks">
287
- Preparing conventions worker task plans for ${techs_manifest.platforms.length} platforms...
287
+ <field name="message">Preparing conventions worker task plans for ${techs_manifest.platforms.length} platforms...</field>
288
288
  </block>
289
289
 
290
290
  <block type="loop" id="S2-L2" over="${techs_manifest.platforms}" as="platform" desc="Prepare conventions worker task for each platform">
@@ -307,7 +307,7 @@ Preparing conventions worker task plans for ${techs_manifest.platforms.length} p
307
307
 
308
308
  <!-- Step 3: Prepare UI-Style Worker Task Plans (Frontend Platforms ONLY) -->
309
309
  <block type="event" id="S2-E2" action="log" level="info" desc="Prepare UI-style worker tasks">
310
- Preparing UI-style worker task plans for frontend platforms...
310
+ <field name="message">Preparing UI-style worker task plans for frontend platforms...</field>
311
311
  </block>
312
312
 
313
313
  <block type="loop" id="S2-L3" over="${techs_manifest.platforms}" as="platform" desc="Prepare UI-style worker task for frontend platforms">
@@ -331,7 +331,7 @@ Preparing UI-style worker task plans for frontend platforms...
331
331
 
332
332
  <!-- Step 4: Dispatch ALL Workers in PARALLEL -->
333
333
  <block type="event" id="S2-E3" action="log" level="info" desc="Dispatch all workers">
334
- Dispatching ALL workers in PARALLEL. The calling Agent should dispatch all prepared tasks simultaneously.
334
+ <field name="message">Dispatching ALL workers in PARALLEL. The calling Agent should dispatch all prepared tasks simultaneously.</field>
335
335
  </block>
336
336
 
337
337
  <!-- Step 5: Monitor Completion Markers -->
@@ -410,7 +410,7 @@ Dispatching ALL workers in PARALLEL. The calling Agent should dispatch all prepa
410
410
  </block>
411
411
 
412
412
  <block type="event" id="S2-E4" action="log" level="info" desc="Stage 2 complete">
413
- Stage 2 complete. All platform workers finished.
413
+ <field name="message">Stage 2 complete. All platform workers finished.</field>
414
414
  </block>
415
415
  </sequence>
416
416
 
@@ -427,7 +427,7 @@ Stage 2 complete. All platform workers finished.
427
427
 
428
428
  <!-- Step A: Scan Completion Markers -->
429
429
  <block type="event" id="S2_5-E1" action="log" level="info" desc="Step A: Scan completion markers">
430
- Stage 2.5 Step A: Scanning completion markers...
430
+ <field name="message">Stage 2.5 Step A: Scanning completion markers...</field>
431
431
  </block>
432
432
 
433
433
  <block type="loop" id="S2_5-L1" over="${techs_manifest.platforms}" as="platform" desc="Scan markers for each platform">
@@ -453,7 +453,7 @@ console.log(JSON.stringify(markers));
453
453
 
454
454
  <!-- Step B: Verify Output Integrity -->
455
455
  <block type="event" id="S2_5-E2" action="log" level="info" desc="Step B: Verify output integrity">
456
- Stage 2.5 Step B: Verifying output integrity...
456
+ <field name="message">Stage 2.5 Step B: Verifying output integrity...</field>
457
457
  </block>
458
458
 
459
459
  <block type="loop" id="S2_5-L2" over="${techs_manifest.platforms}" as="platform" desc="Verify documents for each platform">
@@ -497,7 +497,7 @@ console.log(JSON.stringify(results));
497
497
 
498
498
  <!-- Step C: Update Progress Status -->
499
499
  <block type="event" id="S2_5-E3" action="log" level="info" desc="Step C: Update progress status">
500
- Stage 2.5 Step C: Updating progress status...
500
+ <field name="message">Stage 2.5 Step C: Updating progress status...</field>
501
501
  </block>
502
502
 
503
503
  <block type="task" id="S2_5-B3" action="run-script" status="pending" desc="Generate stage2-status.json">
@@ -531,7 +531,7 @@ console.log('stage2-status.json written');
531
531
  </block>
532
532
 
533
533
  <block type="event" id="S2_5-E4" action="log" level="info" desc="Stage 2.5 complete">
534
- Stage 2.5 complete. Verification results written to stage2-status.json.
534
+ <field name="message">Stage 2.5 complete. Verification results written to stage2-status.json.</field>
535
535
  </block>
536
536
  </sequence>
537
537
 
@@ -554,10 +554,10 @@ Stage 2.5 complete. Verification results written to stage2-status.json.
554
554
 
555
555
  <!-- Step 2: Prepare Task Plan for techs-index -->
556
556
  <block type="event" id="S3-E1" action="log" level="info" desc="Prepare techs-index task plan">
557
- Stage 3: Preparing task plan for speccrew-knowledge-techs-index-xml
557
+ <field name="message">Stage 3: Preparing task plan for speccrew-knowledge-techs-index-xml
558
558
  - Manifest: ${sync_state_techs_dir}/techs-manifest.json
559
559
  - Output: ${workspace_path}/knowledges/techs/
560
- - Language: ${language}
560
+ - Language: ${language}</field>
561
561
  </block>
562
562
 
563
563
  <!-- Step 3: Prepare task specification -->
@@ -574,9 +574,9 @@ Stage 3: Preparing task plan for speccrew-knowledge-techs-index-xml
574
574
 
575
575
  <!-- Step 4: Monitor completion -->
576
576
  <block type="event" id="S3-E2" action="log" level="info" desc="Stage 3 task prepared">
577
- Stage 3 task plan prepared. Waiting for calling Agent to dispatch.
577
+ <field name="message">Stage 3 task plan prepared. Waiting for calling Agent to dispatch.
578
578
  Task: speccrew-knowledge-techs-index-xml
579
- Output: ${workspace_path}/knowledges/techs/INDEX.md
579
+ Output: ${workspace_path}/knowledges/techs/INDEX.md</field>
580
580
  </block>
581
581
 
582
582
  <!-- Step 5: Generate stage3-status.json -->
@@ -605,7 +605,7 @@ console.log('stage3-status.json written');
605
605
  </block>
606
606
 
607
607
  <block type="event" id="S3-E3" action="log" level="info" desc="Stage 3 complete">
608
- Stage 3 complete. Root INDEX.md generated.
608
+ <field name="message">Stage 3 complete. Root INDEX.md generated.</field>
609
609
  </block>
610
610
  </sequence>
611
611
 
@@ -624,11 +624,13 @@ Stage 3 complete. Root INDEX.md generated.
624
624
 
625
625
  ---
626
626
 
627
- ## Worker Completion Marker Format
627
+ ## Appendix: Reference
628
+
629
+ ### Worker Completion Marker Format
628
630
 
629
631
  Each Worker MUST create a completion marker file after generating documents.
630
632
 
631
- ### Conventions Worker Done File
633
+ #### Conventions Worker Done File
632
634
 
633
635
  **File**: `{completed_dir}/{platform_id}.done-conventions.json`
634
636
 
@@ -648,7 +650,7 @@ Each Worker MUST create a completion marker file after generating documents.
648
650
  }
649
651
  ```
650
652
 
651
- ### UI-Style Worker Done File
653
+ #### UI-Style Worker Done File
652
654
 
653
655
  **File**: `{completed_dir}/{platform_id}.done-ui-style.json`
654
656
 
@@ -673,7 +675,7 @@ Each Worker MUST create a completion marker file after generating documents.
673
675
 
674
676
  If a Worker encounters a fatal error, it should still attempt to create the done file with `status: "failed"` and include error details in an `"error"` field.
675
677
 
676
- ### Quality Worker Done File
678
+ #### Quality Worker Done File
677
679
 
678
680
  **File**: `{completed_dir}/{platform_id}.quality-done.json`
679
681
 
@@ -691,7 +693,7 @@ If a Worker encounters a fatal error, it should still attempt to create the done
691
693
 
692
694
  ---
693
695
 
694
- ## Platform Status Tracking Fields
696
+ ### Platform Status Tracking Fields
695
697
 
696
698
  Each platform entry in techs-manifest.json includes status tracking fields for monitoring the analysis pipeline progress:
697
699
 
@@ -735,7 +737,7 @@ pending → processing → completed
735
737
 
736
738
  ---
737
739
 
738
- ## Output per Platform
740
+ ### Output per Platform
739
741
 
740
742
  ```
741
743
  speccrew-workspace/knowledges/techs/{platform_id}/
@@ -773,9 +775,9 @@ speccrew-workspace/knowledges/techs/{platform_id}/
773
775
 
774
776
  ---
775
777
 
776
- ## Error Handling
778
+ ### Error Handling
777
779
 
778
- ### Error Handling Strategy
780
+ #### Error Handling Strategy
779
781
 
780
782
  ```
781
783
  ON Worker Failure:
@@ -788,7 +790,7 @@ ON Worker Failure:
788
790
  - IF some platforms succeeded → CONTINUE to Stage 3 with successful platforms only
789
791
  ```
790
792
 
791
- ### Stage-Level Failure Handling
793
+ #### Stage-Level Failure Handling
792
794
 
793
795
  | Stage | Failure Handling |
794
796
  |-------|-----------------|
@@ -797,7 +799,7 @@ ON Worker Failure:
797
799
  | Stage 2.5 | Continue pipeline, report warnings |
798
800
  | Stage 3 | Abort if Stage 2 had critical failures |
799
801
 
800
- ### Worker Failure Details
802
+ #### Worker Failure Details
801
803
 
802
804
  **When a Worker Agent fails:**
803
805
  - **No automatic retry**: Worker failures are recorded as-is
@@ -807,7 +809,7 @@ ON Worker Failure:
807
809
 
808
810
  ---
809
811
 
810
- ## Checklist
812
+ ### Checklist
811
813
 
812
814
  - [ ] Stage 1: Platform manifest generated with techs-manifest.json
813
815
  - [ ] Stage 2: All platforms processed in parallel
@@ -815,89 +817,9 @@ ON Worker Failure:
815
817
  - [ ] Stage 3: Root INDEX.md generated with Agent mapping
816
818
  - [ ] Stage 3: `stage3-status.json` generated with index info
817
819
 
818
- ### Document Completeness Verification
820
+ #### Document Completeness Verification
819
821
  - [ ] Each platform directory contains required documents: INDEX.md, tech-stack.md, architecture.md, conventions-design.md, conventions-dev.md, conventions-unit-test.md, conventions-system-test.md, conventions-build.md
820
822
  - [ ] `conventions-data.md` exists only for appropriate platforms (backend required, others optional)
821
823
  - [ ] All documents include file reference blocks (pure Markdown format for VS Code preview compatibility)
822
824
  - [ ] All documents include AI-TAG and AI-CONTEXT comments
823
825
  - [ ] techs/INDEX.md links only to existing documents
824
-
825
- ---
826
-
827
- ## Task Completion Report Format
828
-
829
- Upon completing all stages, output the following structured report:
830
-
831
- ```json
832
- {
833
- "status": "success | partial | failed",
834
- "skill": "speccrew-knowledge-techs-dispatch-xml",
835
- "stages_completed": ["stage_1", "stage_2", "stage_2_5", "stage_3"],
836
- "stages_failed": [],
837
- "output_summary": {
838
- "platforms_processed": ["frontend", "backend"],
839
- "docs_generated_per_platform": {"frontend": 5, "backend": 4},
840
- "root_index_generated": true,
841
- "cross_platform_check_passed": true
842
- },
843
- "output_files": [
844
- "knowledges/techs/{platform}/README.md",
845
- "knowledges/techs/{platform}/conventions.md",
846
- "knowledges/techs/README.md"
847
- ],
848
- "errors": [],
849
- "next_steps": ["Review generated tech documentation"]
850
- }
851
- ```
852
-
853
- ---
854
-
855
- ## Return Value Structure
856
-
857
- After all 3 stages complete, return a summary object to the caller:
858
-
859
- ```json
860
- {
861
- "status": "completed",
862
- "pipeline": "techs",
863
- "stages": {
864
- "stage1": { "status": "completed", "platforms": 3 },
865
- "stage2": { "status": "completed", "completed": 3, "failed": 0 },
866
- "stage3": { "status": "completed" }
867
- },
868
- "output": {
869
- "index": "speccrew-workspace/knowledges/techs/INDEX.md",
870
- "manifest": "speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json"
871
- }
872
- }
873
- ```
874
-
875
- ---
876
-
877
- ## CONTINUOUS EXECUTION RULES
878
-
879
- This skill MUST execute all stages continuously without unnecessary interruptions.
880
-
881
- ### FORBIDDEN Interruptions
882
-
883
- 1. DO NOT ask user "Should I continue?" after completing a stage
884
- 2. DO NOT suggest "Let me split this into batches" or "Let's do this in parts"
885
- 3. DO NOT pause to list what you plan to do next — just do it
886
- 4. DO NOT ask for confirmation before generating output files
887
- 5. DO NOT warn about "large number of files" — proceed with generation
888
- 6. DO NOT offer "Should I proceed with the remaining items?"
889
- 7. DO NOT present options like "Full execution / Sample execution / Pause"
890
-
891
- ### When to Pause (ONLY these cases)
892
-
893
- 1. Explicit `<event action="confirm">` blocks in the workflow (e.g., platform confirmation if needed)
894
- 2. Ambiguous requirements that genuinely need clarification
895
- 3. Unrecoverable errors that prevent further progress (failure rate > 50%)
896
- 4. Security-sensitive operations (e.g., deleting existing files)
897
-
898
- ### Batch Execution Behavior
899
-
900
- - When multiple platforms need processing, process ALL of them without asking
901
- - Use marker files (.done.json) to track progress, enabling resumption if interrupted by context limits
902
- - If context window is approaching limit, save progress to checkpoint and inform user how to resume
903
- - NEVER voluntarily stop mid-batch to ask if user wants to continue
@@ -177,7 +177,7 @@ Worker Agent (speccrew-task-worker)
177
177
  </block>
178
178
 
179
179
  <block type="event" id="E2" action="log" level="info" desc="Completeness check result">
180
- Completeness check: ${completeness_result.documents_found}/${completeness_result.documents_expected} documents, ${completeness_result.sections_passed}/${completeness_result.sections_checked} sections
180
+ <field name="message">Completeness check: ${completeness_result.documents_found}/${completeness_result.documents_expected} documents, ${completeness_result.sections_passed}/${completeness_result.sections_checked} sections</field>
181
181
  </block>
182
182
 
183
183
  <block type="checkpoint" id="CP2" name="completeness_checked" desc="Completeness check complete">
@@ -227,7 +227,7 @@ Completeness check: ${completeness_result.documents_found}/${completeness_result
227
227
  </block>
228
228
 
229
229
  <block type="event" id="E3" action="log" level="info" desc="Cross-validation result">
230
- Cross-validation: ${cross_validation_result.version_checks.passed}/${cross_validation_result.version_checks.total} version checks, ${cross_validation_result.reference_checks.passed}/${cross_validation_result.reference_checks.total} reference checks
230
+ <field name="message">Cross-validation: ${cross_validation_result.version_checks.passed}/${cross_validation_result.version_checks.total} version checks, ${cross_validation_result.reference_checks.passed}/${cross_validation_result.reference_checks.total} reference checks</field>
231
231
  </block>
232
232
 
233
233
  <block type="checkpoint" id="CP3" name="cross_validation_complete" desc="Cross-validation complete">
@@ -277,7 +277,7 @@ Cross-validation: ${cross_validation_result.version_checks.passed}/${cross_valid
277
277
  </block>
278
278
 
279
279
  <block type="event" id="E4" action="log" level="info" desc="Consistency check result">
280
- Consistency: ${consistency_result.status} - ${consistency_result.issues.length} issues found
280
+ <field name="message">Consistency: ${consistency_result.status} - ${consistency_result.issues.length} issues found</field>
281
281
  </block>
282
282
 
283
283
  <block type="checkpoint" id="CP4" name="consistency_checked" desc="Consistency check complete">
@@ -330,7 +330,7 @@ Consistency: ${consistency_result.status} - ${consistency_result.issues.length}
330
330
  </block>
331
331
 
332
332
  <block type="event" id="E5" action="log" level="info" desc="Source traceability result">
333
- Source Traceability: ${traceability_result.documents_with_cite_block}/${traceability_result.documents_total} documents with cite blocks, ${traceability_result.absolute_paths_found} absolute paths, ${traceability_result.file_protocol_found} file:// protocols
333
+ <field name="message">Source Traceability: ${traceability_result.documents_with_cite_block}/${traceability_result.documents_total} documents with cite blocks, ${traceability_result.absolute_paths_found} absolute paths, ${traceability_result.file_protocol_found} file:// protocols</field>
334
334
  </block>
335
335
 
336
336
  <block type="checkpoint" id="CP5" name="traceability_checked" desc="Source traceability check complete">
@@ -376,7 +376,7 @@ Source Traceability: ${traceability_result.documents_with_cite_block}/${traceabi
376
376
  </block>
377
377
 
378
378
  <block type="event" id="E6" action="log" level="info" desc="Mermaid compatibility result">
379
- Mermaid Compatibility: ${mermaid_result.diagrams_passed}/${mermaid_result.diagrams_checked} diagrams passed, ${mermaid_result.issues.length} issues found
379
+ <field name="message">Mermaid Compatibility: ${mermaid_result.diagrams_passed}/${mermaid_result.diagrams_checked} diagrams passed, ${mermaid_result.issues.length} issues found</field>
380
380
  </block>
381
381
 
382
382
  <block type="checkpoint" id="CP6" name="mermaid_checked" desc="Mermaid compatibility check complete">
@@ -474,7 +474,7 @@ Mermaid Compatibility: ${mermaid_result.diagrams_passed}/${mermaid_result.diagra
474
474
  </block>
475
475
 
476
476
  <block type="event" id="E8" action="log" level="info" desc="Quality check complete">
477
- Quality check complete for {platform_id}
477
+ <field name="message">Quality check complete for {platform_id}
478
478
  - Total Checks: ${quality_report.summary.total_checks}
479
479
  - Passed: ${quality_report.summary.passed}
480
480
  - Warnings: ${quality_report.summary.warnings}
@@ -486,7 +486,7 @@ Quality check complete for {platform_id}
486
486
  - Cross-Validation: ${quality_report.cross_validation.status}
487
487
  - Consistency: ${quality_report.consistency.status}
488
488
  - Source Traceability: ${quality_report.source_traceability.status}
489
- - Mermaid Compatibility: ${quality_report.mermaid_compatibility.status}
489
+ - Mermaid Compatibility: ${quality_report.mermaid_compatibility.status}</field>
490
490
  </block>
491
491
 
492
492
  <!-- ============================================================
@@ -515,7 +515,7 @@ Quality check complete for {platform_id}
515
515
  </try>
516
516
  <catch on="platform_dir_not_found">
517
517
  <block type="event" id="EH1-E1" action="log" level="error" desc="Platform directory not found">
518
- Platform directory not found: {platform_dir}
518
+ <field name="message">Platform directory not found: {platform_dir}</field>
519
519
  </block>
520
520
  <block type="output" id="EH1-O1">
521
521
  <field name="status" value="failed"/>
@@ -524,20 +524,20 @@ Platform directory not found: {platform_dir}
524
524
  </catch>
525
525
  <catch on="required_document_missing">
526
526
  <block type="event" id="EH1-E2" action="log" level="warn" desc="Required document missing">
527
- Required document missing: {missing_document}
527
+ <field name="message">Required document missing: {missing_document}</field>
528
528
  </block>
529
529
  <field name="continue" value="true"/>
530
530
  <field name="record_in" value="completeness.documents_missing"/>
531
531
  </catch>
532
532
  <catch on="analysis_report_missing">
533
533
  <block type="event" id="EH1-E3" action="log" level="warn" desc="Analysis report missing">
534
- Analysis report missing, skipping cross-validation with source
534
+ <field name="message">Analysis report missing, skipping cross-validation with source</field>
535
535
  </block>
536
536
  <field name="continue" value="true"/>
537
537
  </catch>
538
538
  <catch on="mermaid_parsing_error">
539
539
  <block type="event" id="EH1-E4" action="log" level="warn" desc="Mermaid parsing error">
540
- Mermaid parsing error in {diagram_location}
540
+ <field name="message">Mermaid parsing error in {diagram_location}</field>
541
541
  </block>
542
542
  <field name="continue" value="true"/>
543
543
  <field name="record_in" value="mermaid_compatibility.issues"/>