speccrew 0.6.47 → 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.
@@ -137,7 +137,7 @@ This skill operates in **strict sequential execution mode**:
137
137
  </block>
138
138
 
139
139
  <block type="event" id="E1" action="log" level="info" desc="Log step 1 completion">
140
- Step 1 Status: COMPLETED - Read ${api_analysis_path}, Found ${endpoints.length} endpoints
140
+ <field name="message">Step 1 Status: COMPLETED - Read ${api_analysis_path}, Found ${endpoints.length} endpoints</field>
141
141
  </block>
142
142
  </sequence>
143
143
 
@@ -212,7 +212,7 @@ Step 1 Status: COMPLETED - Read ${api_analysis_path}, Found ${endpoints.length}
212
212
  </block>
213
213
 
214
214
  <block type="event" id="E2" action="log" level="info" desc="Log step 2 completion">
215
- Step 2 Status: COMPLETED - Extracted graph nodes (${apiNodes.length} APIs, ${serviceNodes.length} services, ${tableNodes.length} tables, ${dtoNodes.length} DTOs)
215
+ <field name="message">Step 2 Status: COMPLETED - Extracted graph nodes (${apiNodes.length} APIs, ${serviceNodes.length} services, ${tableNodes.length} tables, ${dtoNodes.length} DTOs)</field>
216
216
  </block>
217
217
  </sequence>
218
218
 
@@ -291,7 +291,7 @@ Step 2 Status: COMPLETED - Extracted graph nodes (${apiNodes.length} APIs, ${ser
291
291
  </block>
292
292
 
293
293
  <block type="event" id="E3" action="log" level="info" desc="Log step 3 completion">
294
- Step 3 Status: COMPLETED - Extracted graph edges (${operatesEdges.length + invokesEdges.length + referencesEdges.length + dependsOnEdges.length + mapsToEdges.length} total)
294
+ <field name="message">Step 3 Status: COMPLETED - Extracted graph edges (${operatesEdges.length + invokesEdges.length + referencesEdges.length + dependsOnEdges.length + mapsToEdges.length} total)</field>
295
295
  </block>
296
296
  </sequence>
297
297
 
@@ -315,7 +315,7 @@ Step 3 Status: COMPLETED - Extracted graph edges (${operatesEdges.length + invok
315
315
  </block>
316
316
 
317
317
  <block type="event" id="E4" action="log" level="info" desc="Log step 4 completion">
318
- Step 4 Status: COMPLETED - Graph JSON written to ${output_dir}/${markerFilename}.graph.json
318
+ <field name="message">Step 4 Status: COMPLETED - Graph JSON written to ${output_dir}/${markerFilename}.graph.json</field>
319
319
  </block>
320
320
  </sequence>
321
321
 
@@ -331,7 +331,7 @@ Step 4 Status: COMPLETED - Graph JSON written to ${output_dir}/${markerFilename}
331
331
  </block>
332
332
 
333
333
  <block type="event" id="E5" action="log" level="info" desc="Log step 5 completion">
334
- Step 5 Status: COMPLETED - Graph completion marker written to ${output_dir}/${markerFilename}.graph-done.json
334
+ <field name="message">Step 5 Status: COMPLETED - Graph completion marker written to ${output_dir}/${markerFilename}.graph-done.json</field>
335
335
  </block>
336
336
  </sequence>
337
337
 
@@ -340,12 +340,12 @@ Step 5 Status: COMPLETED - Graph completion marker written to ${output_dir}/${ma
340
340
  <block type="gateway" id="G6" mode="exclusive" desc="Determine result status">
341
341
  <branch test="${success} == true" name="Success">
342
342
  <block type="event" id="E6a" action="log" level="info" desc="Log success">
343
- Step 6 Status: COMPLETED - Graph construction success: Generated graph data with ${node_count} nodes and ${edge_count} edges
343
+ <field name="message">Step 6 Status: COMPLETED - Graph construction success: Generated graph data with ${node_count} nodes and ${edge_count} edges</field>
344
344
  </block>
345
345
  </branch>
346
346
  <branch test="${success} == false" name="Failure">
347
347
  <block type="event" id="E6b" action="log" level="error" desc="Log failure">
348
- Step 6 Status: COMPLETED - Graph construction failed: ${error_message}
348
+ <field name="message">Step 6 Status: COMPLETED - Graph construction failed: ${error_message}</field>
349
349
  </block>
350
350
  </branch>
351
351
  </block>
@@ -186,7 +186,7 @@ Stage 4: System Summary
186
186
  <field name="message">Skipping empty directory: ${module.name}</field>
187
187
  </block>
188
188
  <block type="event" id="S0-E1" action="log" level="info" desc="Log backend module">
189
- Discovered backend module: ${module.name} → Platform type: backend-${module.business_name}
189
+ <field name="message">Discovered backend module: ${module.name} → Platform type: backend-${module.business_name}</field>
190
190
  </block>
191
191
  </block>
192
192
 
@@ -199,7 +199,7 @@ Discovered backend module: ${module.name} → Platform type: backend-${module.bu
199
199
  <field name="message">Skipping non-frontend directory: ${frontend.name}</field>
200
200
  </block>
201
201
  <block type="event" id="S0-E2" action="log" level="info" desc="Log frontend platform">
202
- Discovered frontend platform: ${frontend.name} → Tech stack: Vue/React/UniApp
202
+ <field name="message">Discovered frontend platform: ${frontend.name} → Tech stack: Vue/React/UniApp</field>
203
203
  </block>
204
204
  </block>
205
205
 
@@ -228,10 +228,14 @@ Detected ${platforms.length} platforms:
228
228
  Continue with knowledge base generation?
229
229
  </field>
230
230
  <on-confirm>
231
- <block type="event" action="log" level="info" desc="User confirmed">User confirmed platform list, continuing</block>
231
+ <block type="event" action="log" level="info" desc="User confirmed">
232
+ <field name="message">User confirmed platform list, continuing</field>
233
+ </block>
232
234
  </on-confirm>
233
235
  <on-cancel>
234
- <block type="event" action="log" level="warn" desc="User cancelled">User cancelled, terminating workflow</block>
236
+ <block type="event" action="log" level="warn" desc="User cancelled">
237
+ <field name="message">User cancelled, terminating workflow</field>
238
+ </block>
235
239
  <field name="workflow.status" value="cancelled"/>
236
240
  </on-cancel>
237
241
  </block>
@@ -243,7 +247,7 @@ Continue with knowledge base generation?
243
247
  </block>
244
248
 
245
249
  <block type="event" id="S0-E4" action="log" level="info" desc="Report detected platform list">
246
- Detected ${platforms.length} platforms: ${platforms.names}
250
+ <field name="message">Detected ${platforms.length} platforms: ${platforms.names}</field>
247
251
  </block>
248
252
  </sequence>
249
253
 
@@ -313,7 +317,7 @@ Detected ${platforms.length} platforms: ${platforms.names}
313
317
  </block>
314
318
 
315
319
  <block type="event" id="S1b-E1" action="log" level="info" desc="Report Feature inventory statistics">
316
- Feature inventory initialized. ${feature_count} features across ${platform_count} platforms.
320
+ <field name="message">Feature inventory initialized. ${feature_count} features across ${platform_count} platforms.</field>
317
321
  </block>
318
322
  </sequence>
319
323
 
@@ -343,11 +347,11 @@ Feature inventory initialized. ${feature_count} features across ${platform_count
343
347
 
344
348
  <!-- Step 2: Report merge result -->
345
349
  <block type="event" id="S1c-E1" action="log" level="info" desc="Report merge result">
346
- Feature merge complete:
350
+ <field name="message">Feature merge complete:
347
351
  - Added: ${merge_result.added}
348
352
  - Removed: ${merge_result.removed}
349
353
  - Changed: ${merge_result.changed} (reset for re-analysis)
350
- - Unchanged: ${merge_result.unchanged} (analysis state preserved)
354
+ - Unchanged: ${merge_result.unchanged} (analysis state preserved)</field>
351
355
  </block>
352
356
 
353
357
  <!-- Step 3: Mark stale Features -->
@@ -361,7 +365,7 @@ Feature merge complete:
361
365
  </branch>
362
366
  <branch default="true" name="Full mode">
363
367
  <block type="event" id="S1c-E2" action="log" level="info" desc="Full mode skip merge">
364
- Full mode, skipping Feature merge step
368
+ <field name="message">Full mode, skipping Feature merge step</field>
365
369
  </block>
366
370
  </branch>
367
371
  </block>
@@ -417,7 +421,7 @@ Full mode, skipping Feature merge step
417
421
  <block type="gateway" id="S2-G0" mode="exclusive" desc="Determine batch response">
418
422
  <branch test="${batch_response.action} == 'done'" name="All Features processed">
419
423
  <block type="event" id="S2-E-Done" action="log" level="info" desc="All Features processed">
420
- All Features analyzed, exiting Stage 2 loop
424
+ <field name="message">All Features analyzed, exiting Stage 2 loop</field>
421
425
  </block>
422
426
  <field name="stage2_complete" value="true"/>
423
427
  </branch>
@@ -425,7 +429,7 @@ All Features analyzed, exiting Stage 2 loop
425
429
 
426
430
  <!-- Step 2: Prepare analysis task specifications -->
427
431
  <block type="event" id="S2-E-Batch" action="log" level="info" desc="Report current batch">
428
- Processing batch: ${batch_response.batch.length} Features
432
+ <field name="message">Processing batch: ${batch_response.batch.length} Features</field>
429
433
  </block>
430
434
 
431
435
  <!-- Step 2: Dispatch Worker for each Feature -->
@@ -507,7 +511,7 @@ Requirements:
507
511
 
508
512
  <!-- Step 2.5: Graph Worker Task Preparation -->
509
513
  <block type="event" id="S2-E-Graph" action="log" level="info" desc="Prepare Graph Worker tasks">
510
- Preparing Graph data generation for completed Features
514
+ <field name="message">Preparing Graph data generation for completed Features</field>
511
515
  </block>
512
516
 
513
517
  <!-- Step 2.5: Dispatch Graph Worker -->
@@ -588,7 +592,7 @@ Requirements:
588
592
  </block>
589
593
 
590
594
  <block type="event" id="S2-E-Result" action="log" level="info" desc="Report batch processing result">
591
- Batch processing complete: ${batch_result.success} succeeded, ${batch_result.failed} failed
595
+ <field name="message">Batch processing complete: ${batch_result.success} succeeded, ${batch_result.failed} failed</field>
592
596
  </block>
593
597
  </branch>
594
598
  </block>
@@ -600,7 +604,7 @@ Batch processing complete: ${batch_result.success} succeeded, ${batch_result.fai
600
604
  </block>
601
605
 
602
606
  <block type="event" id="S2-E-Final" action="log" level="info" desc="Stage 2 complete">
603
- Stage 2 Milestone: Feature analysis complete. ${analyzed_count} features analyzed, ${failed_count} failed. ${graph_count} graph data files generated.
607
+ <field name="message">Stage 2 Milestone: Feature analysis complete. ${analyzed_count} features analyzed, ${failed_count} failed. ${graph_count} graph data files generated.</field>
604
608
  </block>
605
609
  </sequence>
606
610
 
@@ -664,7 +668,7 @@ Requirements:
664
668
  </block>
665
669
 
666
670
  <block type="event" id="S3-E1" action="log" level="info" desc="Stage 3 complete">
667
- Stage 3 Milestone: Module summaries complete. ${module_count} modules summarized.
671
+ <field name="message">Stage 3 Milestone: Module summaries complete. ${module_count} modules summarized.</field>
668
672
  </block>
669
673
  </sequence>
670
674
 
@@ -709,14 +713,14 @@ Requirements:
709
713
  </branch>
710
714
  <branch default="true" name="Non-UI platform">
711
715
  <block type="event" id="S35-E1" action="log" level="info" desc="Backend platform skip style extraction">
712
- Backend platform ${platform.platformId} skipping UI style extraction
716
+ <field name="message">Backend platform ${platform.platformId} skipping UI style extraction</field>
713
717
  </block>
714
718
  </branch>
715
719
  </block>
716
720
  </block>
717
721
 
718
722
  <block type="event" id="S35-E2" action="log" level="info" desc="Stage 3.5 complete">
719
- Stage 3.5 Milestone: UI style patterns extracted. ${pattern_count} patterns extracted from ${frontend_platform_count} platforms.
723
+ <field name="message">Stage 3.5 Milestone: UI style patterns extracted. ${pattern_count} patterns extracted from ${frontend_platform_count} platforms.</field>
720
724
  </block>
721
725
  </sequence>
722
726
 
@@ -766,7 +770,7 @@ Requirements:
766
770
  </block>
767
771
 
768
772
  <block type="event" id="S4-E1" action="log" level="info" desc="Stage 4 complete">
769
- Stage 4 Milestone: System overview generated. All stages complete. Pipeline finished successfully.
773
+ <field name="message">Stage 4 Milestone: System overview generated. All stages complete. Pipeline finished successfully.</field>
770
774
  </block>
771
775
  </sequence>
772
776
 
@@ -779,7 +783,7 @@ Stage 4 Milestone: System overview generated. All stages complete. Pipeline fini
779
783
  </try>
780
784
  <catch on="worker_failed">
781
785
  <block type="event" id="EH1-E1" action="log" level="warn" desc="Worker failed, log error and continue">
782
- Worker ${error.worker} failed: ${error.message}
786
+ <field name="message">Worker ${error.worker} failed: ${error.message}</field>
783
787
  </block>
784
788
  <block type="task" id="EH1-B1" action="run-script" desc="Update failed status">
785
789
  <field name="command">node "${ide_skills_dir}/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js"</field>
@@ -793,15 +797,15 @@ Worker ${error.worker} failed: ${error.message}
793
797
  </catch>
794
798
  <catch on="script_error">
795
799
  <block type="event" id="EH1-E2" action="log" level="error" desc="Script execution failed">
796
- Script ${error.script} execution failed: ${error.message}
800
+ <field name="message">Script ${error.script} execution failed: ${error.message}</field>
797
801
  </block>
798
802
  </catch>
799
803
  <catch on="stage_abort">
800
804
  <block type="event" id="EH1-E3" action="log" level="error" desc="Stage aborted">
801
- Stage ${error.stage} execution aborted: ${error.message}
805
+ <field name="message">Stage ${error.stage} execution aborted: ${error.message}</field>
802
806
  </block>
803
807
  <block type="event" id="EH1-E4" action="log" level="warn" desc="High failure rate">
804
- Failure rate exceeds 50%, terminating entire pipeline
808
+ <field name="message">Failure rate exceeds 50%, terminating entire pipeline</field>
805
809
  </block>
806
810
  </catch>
807
811
  </block>
@@ -166,7 +166,9 @@ For each platform, generates:
166
166
  <branch test="${validation_result.status} == 'failed'">
167
167
  <block type="error-handler" id="EH1" desc="Handle validation failure">
168
168
  <catch error-type="validation_failed">
169
- <block type="event" id="E1" action="log" level="warn" desc="Log validation failure">Entry directory recognition failed for platform ${platform.platformId}</block>
169
+ <block type="event" id="E1" action="log" level="warn" desc="Log validation failure">
170
+ <field name="message">Entry directory recognition failed for platform ${platform.platformId}</field>
171
+ </block>
170
172
  <block type="task" id="B7" action="analyze" desc="Re-analyze the directory tree due to validation failure">
171
173
  <field name="input" value="${directory_tree}"/>
172
174
  <field name="output" var="re_analyzed_entries"/>
@@ -175,7 +177,9 @@ For each platform, generates:
175
177
  </block>
176
178
  </branch>
177
179
  <branch test="${validation_result.status} == 'passed'">
178
- <block type="event" id="E2" action="log" level="info" desc="Log validation success">Platform ${platform.platformId} entry-dirs validation passed</block>
180
+ <block type="event" id="E2" action="log" level="info" desc="Log validation success">
181
+ <field name="message">Platform ${platform.platformId} entry-dirs validation passed</field>
182
+ </block>
179
183
  </branch>
180
184
  </block>
181
185
 
@@ -133,7 +133,7 @@ Analyze one specific UI feature from source code, extract business functionality
133
133
  <block type="gateway" id="G0" mode="exclusive" desc="Check analyzed status">
134
134
  <branch test="${analyzed} == true" name="Already analyzed">
135
135
  <block type="event" id="E0a" action="log" level="info" desc="Skip already analyzed feature">
136
- Step 0 Status: SKIPPED (already analyzed)
136
+ <field name="message">Step 0 Status: SKIPPED (already analyzed)</field>
137
137
  </block>
138
138
  <block type="output" id="O0a" desc="Skip output">
139
139
  <field name="status" value="skipped"/>
@@ -145,7 +145,7 @@ Step 0 Status: SKIPPED (already analyzed)
145
145
  </branch>
146
146
  <branch test="${analyzed} == false" name="Proceed with analysis">
147
147
  <block type="event" id="E0b" action="log" level="info" desc="Proceed with analysis">
148
- Step 0 Status: PROCEEDING (analysis required)
148
+ <field name="message">Step 0 Status: PROCEEDING (analysis required)</field>
149
149
  </block>
150
150
  </branch>
151
151
  </block>
@@ -183,7 +183,7 @@ Step 0 Status: PROCEEDING (analysis required)
183
183
  <field name="verify" value="${templateContent} != null AND ${templateContent} != ''"/>
184
184
  </block>
185
185
  <block type="event" id="E1" action="log" level="info" desc="Log template read">
186
- Step 1 Status: COMPLETED - Read template for ${platform_type}/${platform_subtype}
186
+ <field name="message">Step 1 Status: COMPLETED - Read template for ${platform_type}/${platform_subtype}</field>
187
187
  </block>
188
188
  </sequence>
189
189
 
@@ -211,7 +211,7 @@ Step 1 Status: COMPLETED - Read template for ${platform_type}/${platform_subtype
211
211
  <field name="verify" value="${sourceContent} != null"/>
212
212
  </block>
213
213
  <block type="event" id="E2" action="log" level="info" desc="Log source analysis">
214
- Step 2 Status: COMPLETED - Read ${sourcePath}, Analyzed ${componentCount} components, ${eventCount} events
214
+ <field name="message">Step 2 Status: COMPLETED - Read ${sourcePath}, Analyzed ${componentCount} components, ${eventCount} events</field>
215
215
  </block>
216
216
  </sequence>
217
217
 
@@ -251,7 +251,7 @@ Step 2 Status: COMPLETED - Read ${sourcePath}, Analyzed ${componentCount} compon
251
251
  <field name="verify" value="${flows.length} > 0 OR ${wireframes.length} > 0"/>
252
252
  </block>
253
253
  <block type="event" id="E3" action="log" level="info" desc="Log feature extraction">
254
- Step 3 Status: COMPLETED - Extracted ${wireframes.length} wireframes, ${flows.length} business flows
254
+ <field name="message">Step 3 Status: COMPLETED - Extracted ${wireframes.length} wireframes, ${flows.length} business flows</field>
255
255
  </block>
256
256
  </sequence>
257
257
 
@@ -277,7 +277,7 @@ Step 3 Status: COMPLETED - Extracted ${wireframes.length} wireframes, ${flows.le
277
277
  </block>
278
278
 
279
279
  <block type="event" id="E4" action="log" level="info" desc="Log reference search">
280
- Step 4 Status: COMPLETED - Found ${referencingPages.length} referencing pages
280
+ <field name="message">Step 4 Status: COMPLETED - Found ${referencingPages.length} referencing pages</field>
281
281
  </block>
282
282
  </sequence>
283
283
 
@@ -301,7 +301,7 @@ Step 4 Status: COMPLETED - Found ${referencingPages.length} referencing pages
301
301
  <field name="verify" value="file.exists(${documentPath})"/>
302
302
  </block>
303
303
  <block type="event" id="E5a" action="log" level="info" desc="Log template copy">
304
- Step 5a Status: COMPLETED - Template copied to ${documentPath}
304
+ <field name="message">Step 5a Status: COMPLETED - Template copied to ${documentPath}</field>
305
305
  </block>
306
306
  </sequence>
307
307
 
@@ -367,14 +367,14 @@ Step 5a Status: COMPLETED - Template copied to ${documentPath}
367
367
  <field name="verify" value="all.sections.filled"/>
368
368
  </block>
369
369
  <block type="event" id="E5b" action="log" level="info" desc="Log section filling">
370
- Step 5b Status: COMPLETED - All sections filled using search_replace
370
+ <field name="message">Step 5b Status: COMPLETED - All sections filled using search_replace</field>
371
371
  </block>
372
372
  </sequence>
373
373
 
374
374
  <!-- ==================== STEP 6: REPORT RESULTS ==================== -->
375
375
  <sequence id="S6" name="Step 6: Report Results" status="pending" desc="Report analysis results">
376
376
  <block type="event" id="E6" action="log" level="info" desc="Log final status">
377
- Step 6 Status: COMPLETED - Analysis success: Successfully analyzed ${fileName} feature from ${sourcePath}
377
+ <field name="message">Step 6 Status: COMPLETED - Analysis success: Successfully analyzed ${fileName} feature from ${sourcePath}</field>
378
378
  </block>
379
379
  </sequence>
380
380
 
@@ -395,28 +395,28 @@ Step 6 Status: COMPLETED - Analysis success: Successfully analyzed ${fileName} f
395
395
  </try>
396
396
  <catch error-type="file-not-found">
397
397
  <block type="event" id="EH1-E1" action="log" level="error" desc="File not found error">
398
- Source file not found: ${sourcePath}
398
+ <field name="message">Source file not found: ${sourcePath}</field>
399
399
  </block>
400
400
  <field name="status" value="failed"/>
401
401
  <field name="message" value="Source file not found: ${sourcePath}"/>
402
402
  </catch>
403
403
  <catch error-type="template-error">
404
404
  <block type="event" id="EH1-E2" action="log" level="error" desc="Template error">
405
- Template processing error
405
+ <field name="message">Template processing error</field>
406
406
  </block>
407
407
  <field name="status" value="failed"/>
408
408
  <field name="message" value="Failed to process template"/>
409
409
  </catch>
410
410
  <catch error-type="validation-error">
411
411
  <block type="event" id="EH1-E3" action="log" level="error" desc="Validation error">
412
- Validation failed: ${error.message}
412
+ <field name="message">Validation failed: ${error.message}</field>
413
413
  </block>
414
414
  <field name="status" value="partial"/>
415
415
  <field name="message" value="Analysis completed with validation errors"/>
416
416
  </catch>
417
417
  <finally>
418
418
  <block type="event" id="EH1-E4" action="log" level="info" desc="Workflow completed">
419
- Workflow execution completed
419
+ <field name="message">Workflow execution completed</field>
420
420
  </block>
421
421
  </finally>
422
422
  </block>
@@ -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
 
@@ -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"/>
@@ -95,7 +95,7 @@ Worker Agent (speccrew-task-worker)
95
95
  <block type="gateway" id="G0" mode="exclusive" desc="Check platform type eligibility">
96
96
  <branch test="${platform_type} NOT IN ['web', 'mobile', 'desktop']" name="Skip non-frontend platform">
97
97
  <block type="event" id="E0-Skip" action="log" level="warn" desc="Log skip reason">
98
- Skipping UI style generation: {platform_type} is not a frontend platform
98
+ <field name="message">Skipping UI style generation: {platform_type} is not a frontend platform</field>
99
99
  </block>
100
100
  <block type="output" id="O-Skip" desc="Skip result">
101
101
  <field name="status" value="skipped"/>
@@ -169,7 +169,7 @@ Skipping UI style generation: {platform_type} is not a frontend platform
169
169
  </block>
170
170
 
171
171
  <block type="event" id="E1a" action="log" level="info" desc="Record analysis level">
172
- Primary path succeeded. ui_analysis_level = "full"
172
+ <field name="message">Primary path succeeded. ui_analysis_level = "full"</field>
173
173
  </block>
174
174
 
175
175
  <field name="ui_analysis_level" value="full"/>
@@ -259,7 +259,7 @@ Primary path succeeded. ui_analysis_level = "full"
259
259
  </block>
260
260
 
261
261
  <block type="event" id="E1b" action="log" level="info" desc="Record analysis level">
262
- Secondary path completed. ui_analysis_level = "minimal"
262
+ <field name="message">Secondary path completed. ui_analysis_level = "minimal"</field>
263
263
  </block>
264
264
 
265
265
  <field name="ui_analysis_level" value="minimal"/>
@@ -286,7 +286,7 @@ Secondary path completed. ui_analysis_level = "minimal"
286
286
  </block>
287
287
 
288
288
  <block type="event" id="E1c" action="log" level="info" desc="Record analysis level">
289
- Tertiary path completed. ui_analysis_level = "reference_only"
289
+ <field name="message">Tertiary path completed. ui_analysis_level = "reference_only"</field>
290
290
  </block>
291
291
 
292
292
  <field name="ui_analysis_level" value="reference_only"/>
@@ -313,7 +313,7 @@ Tertiary path completed. ui_analysis_level = "reference_only"
313
313
  </block>
314
314
 
315
315
  <block type="event" id="E2" action="log" level="info" desc="Output files written">
316
- All UI style documents written to {output_path}/ui-style/
316
+ <field name="message">All UI style documents written to {output_path}/ui-style/</field>
317
317
  </block>
318
318
 
319
319
  <block type="checkpoint" id="CP2" name="output_files_written" desc="Output files written">
@@ -382,7 +382,7 @@ All UI style documents written to {output_path}/ui-style/
382
382
  </block>
383
383
 
384
384
  <block type="event" id="E4" action="log" level="info" desc="Report completion">
385
- Platform UI Style Documents Generated: {platform_id}
385
+ <field name="message">Platform UI Style Documents Generated: {platform_id}
386
386
  - ui-style-guide.md: ✓ (analysis level: {ui_analysis_level})
387
387
  - page-types/page-type-summary.md: ✓
388
388
  - components/component-library.md: ✓
@@ -390,7 +390,7 @@ Platform UI Style Documents Generated: {platform_id}
390
390
  - styles/color-system.md: ✓
391
391
  - Output Directory: {output_path}/ui-style/
392
392
  - Analysis Report: {completed_dir}/{platform_id}.analysis-ui-style.json
393
- - Completion Marker: {completed_dir}/{platform_id}.done-ui-style.json
393
+ - Completion Marker: {completed_dir}/{platform_id}.done-ui-style.json</field>
394
394
  </block>
395
395
 
396
396
  <!-- ============================================================
@@ -424,12 +424,12 @@ Platform UI Style Documents Generated: {platform_id}
424
424
  </try>
425
425
  <catch on="skill_invocation_failed">
426
426
  <block type="event" id="EH1-E1" action="log" level="warn" desc="Skill invocation failed">
427
- UI analyzer skill invocation failed, falling back to secondary path
427
+ <field name="message">UI analyzer skill invocation failed, falling back to secondary path</field>
428
428
  </block>
429
429
  </catch>
430
430
  <catch on="output_write_failed">
431
431
  <block type="event" id="EH1-E2" action="log" level="error" desc="Output write failed">
432
- Failed to write output files: {error.message}
432
+ <field name="message">Failed to write output files: {error.message}</field>
433
433
  </block>
434
434
  </catch>
435
435
  </block>
@@ -140,7 +140,7 @@ Generate comprehensive technology documentation for a specific platform by analy
140
140
  </branch>
141
141
  <branch default="true" name="Backend platform">
142
142
  <block type="event" id="S4-E1" action="log" level="info" desc="UI style analysis skipped">
143
- UI style analysis skipped for backend platform
143
+ <field name="message">UI style analysis skipped for backend platform</field>
144
144
  </block>
145
145
  </branch>
146
146
  </block>
@@ -181,7 +181,7 @@ UI style analysis skipped for backend platform
181
181
  </branch>
182
182
  <branch default="true" name="No data layer">
183
183
  <block type="event" id="S5b-E1" action="log" level="info" desc="Data conventions skipped">
184
- conventions-data.md skipped - not required for this platform
184
+ <field name="message">conventions-data.md skipped - not required for this platform</field>
185
185
  </block>
186
186
  </branch>
187
187
  </block>
@@ -213,7 +213,7 @@ conventions-data.md skipped - not required for this platform
213
213
  Step 8: Report Results
214
214
  ============================================================ -->
215
215
  <block type="event" id="S8-E1" action="log" level="info" desc="Report generation results">
216
- Platform Technology Documents Generated: ${platform_id}
216
+ <field name="message">Platform Technology Documents Generated: ${platform_id}
217
217
  - INDEX.md: ✓
218
218
  - tech-stack.md: ✓
219
219
  - architecture.md: ✓
@@ -224,7 +224,7 @@ Platform Technology Documents Generated: ${platform_id}
224
224
  - conventions-build.md: ✓
225
225
  - conventions-data.md: ✓ (or skipped)
226
226
  - ui-style-guide.md: ✓ (frontend only)
227
- - Output Directory: ${output_path}
227
+ - Output Directory: ${output_path}</field>
228
228
  </block>
229
229
 
230
230
  <!-- ============================================================
@@ -185,12 +185,12 @@ Worker Agent (speccrew-task-worker)
185
185
  Step 7: Report Results
186
186
  ============================================================ -->
187
187
  <block type="event" id="S7-E1" action="log" level="info" desc="Report generation results">
188
- Stage 3 completed: Root Technology Index Generated
188
+ <field name="message">Stage 3 completed: Root Technology Index Generated
189
189
  - Platforms Indexed: ${platform_count}
190
190
  - web-react: ✓
191
191
  - backend-nestjs: ✓
192
192
  - Root Index: ${output_path}/INDEX.md
193
- - Agent Mappings: Documented for all platforms
193
+ - Agent Mappings: Documented for all platforms</field>
194
194
  </block>
195
195
 
196
196
  <!-- ============================================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccrew",
3
- "version": "0.6.47",
3
+ "version": "0.6.48",
4
4
  "description": "Spec-Driven Development toolkit for AI-powered IDEs",
5
5
  "author": "charlesmu99",
6
6
  "repository": {
@@ -106,7 +106,9 @@ Conditional branching and guard checks.
106
106
  <block type="task" action="run-skill" desc="Run full initialization">...</block>
107
107
  </branch>
108
108
  <branch default="true" name="Fallback">
109
- <block type="event" action="log" level="error">Unknown state</block>
109
+ <block type="event" action="log" level="error">
110
+ <field name="message">Unknown state</field>
111
+ </block>
110
112
  </branch>
111
113
  </block>
112
114
  ```
@@ -164,7 +166,7 @@ Logging, confirmation, and signaling.
164
166
  ```xml
165
167
  <!-- Log event -->
166
168
  <block type="event" action="log" level="info" desc="Log progress">
167
- Processing ${tasks.length} tasks
169
+ <field name="message">Processing ${tasks.length} tasks</field>
168
170
  </block>
169
171
 
170
172
  <!-- Confirm event (pauses for user input) -->
@@ -194,13 +196,19 @@ Try/catch/finally error handling.
194
196
  </block>
195
197
  </try>
196
198
  <catch error-type="timeout">
197
- <block type="event" action="log" level="error">Timeout: ${error.taskId}</block>
199
+ <block type="event" action="log" level="error">
200
+ <field name="message">Timeout: ${error.taskId}</field>
201
+ </block>
198
202
  </catch>
199
203
  <catch>
200
- <block type="event" action="log" level="error">Unexpected: ${error.message}</block>
204
+ <block type="event" action="log" level="error">
205
+ <field name="message">Unexpected: ${error.message}</field>
206
+ </block>
201
207
  </catch>
202
208
  <finally>
203
- <block type="event" action="log" level="info">Batch completed</block>
209
+ <block type="event" action="log" level="info">
210
+ <field name="message">Batch completed</field>
211
+ </block>
204
212
  </finally>
205
213
  </block>
206
214
  ```