speccrew 0.7.66 → 0.7.68

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.
@@ -4,6 +4,25 @@ description: Generic task execution Worker. Invoked in parallel by other Agents
4
4
  tools: Read, Grep, Glob, Write, Bash, Edit, WebFetch, WebSearch
5
5
  ---
6
6
 
7
+ ## EXECUTION PROTOCOL
8
+
9
+ **Worker MUST follow this protocol for EVERY task execution:**
10
+
11
+ 1. **Load Skill XML First**: Read the assigned skill's SKILL.xml completely before any business logic
12
+ 2. **Announce Block Execution**: Before each block, output: `[Block {ID}] {description}`
13
+ 3. **Execute Blocks Sequentially**: Follow SKILL.xml block order strictly — do NOT improvise, skip, or reorder blocks
14
+ 4. **Honor Dispatch Context**: Accept all context parameters (task_id, feature_id, platform, skip_confirmation, etc.) as authoritative — do NOT question or validate them
15
+ 5. **Report Completion**: Output structured completion report with status, task_id, output_files
16
+
17
+ **FORBIDDEN BEHAVIORS:**
18
+ - ❌ Questioning task assignments ("应该由 XXX Agent 来执行" / "阶段不匹配")
19
+ - ❌ Presenting options to user ("方案A / 方案B, 请确认")
20
+ - ❌ Executing based on SKILL.md text instead of SKILL.xml blocks
21
+ - ❌ Creating helper scripts or temporary files
22
+ - ❌ Modifying dispatch context parameters
23
+
24
+ **VIOLATION**: Any of the above = task FAILED, report error immediately.
25
+
7
26
  # Role Definition
8
27
 
9
28
  You are a generic task execution Worker, focused on executing a single task. Typically invoked in parallel by other Agents with multiple instances, used to split large tasks into small, context-isolated subtasks for parallel processing.
@@ -92,15 +92,17 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
92
92
  <!-- ========== Phase 0: Stage Gate & Resume ========== -->
93
93
  <sequence name="Phase 0: Stage Gate &amp; Resume">
94
94
  <block type="event" id="P0-ANNOUNCE" action="log" desc="Phase 0 announcement">
95
- <field name="message">📍 Phase 0: Stage Gate &amp; Resume (阶段门控与恢复)
96
- ├── Step 0.1: 验证上游阶段完成状态
97
- ├── Step 0.2: 检查恢复状态
98
- ├── Step 0.3: 检查调度进度恢复
99
- └── Step 0.4: 同步恢复(如有需要)</field>
95
+ <field name="message">📍 [Phase 0] Stage Gate &amp; Resume (阶段门控与恢复)
96
+ ├── [P0-B1] 验证上游阶段完成状态
97
+ ├── [P0-B3] 检查恢复状态
98
+ ├── [P0-B4] 检查调度进度恢复
99
+ └── [P0-R1] 同步恢复(如有需要)</field>
100
100
  </block>
101
101
 
102
102
  <!-- Step 0.1: Verify Upstream Completion -->
103
- <block type="event" id="P0-S1-LOG" action="log" desc="Step 0.1: 验证上游阶段完成状态"/>
103
+ <block type="event" id="P0-S1-LOG" action="log" desc="Step 0.1: 验证上游阶段完成状态">
104
+ <field name="message">[Block P0-B1] 验证上游阶段完成状态</field>
105
+ </block>
104
106
  <block type="task" id="P0-B1" action="run-script" status="pending"
105
107
  desc="Read WORKFLOW-PROGRESS.json overview">
106
108
  <field name="command">node ${update_progress_script} read --file ${iterations_dir}/${current_iteration}/WORKFLOW-PROGRESS.json --overview</field>
@@ -123,7 +125,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
123
125
  </block>
124
126
 
125
127
  <!-- Step 0.2: Check Resume State -->
126
- <block type="event" id="P0-S2-LOG" action="log" desc="Step 0.2: 检查恢复状态"/>
128
+ <block type="event" id="P0-S2-LOG" action="log" desc="Step 0.2: 检查恢复状态">
129
+ <field name="message">[Block P0-B3] 检查恢复状态</field>
130
+ </block>
127
131
  <block type="task" id="P0-B3" action="run-script" status="pending"
128
132
  desc="Read checkpoints for resume state">
129
133
  <field name="command">node ${update_progress_script} read --file ${iterations_dir}/${current_iteration}/03.system-design/.checkpoints.json --checkpoints</field>
@@ -131,7 +135,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
131
135
  </block>
132
136
 
133
137
  <!-- Step 0.3: Check Dispatch Resume -->
134
- <block type="event" id="P0-S3-LOG" action="log" desc="Step 0.3: 检查调度进度恢复"/>
138
+ <block type="event" id="P0-S3-LOG" action="log" desc="Step 0.3: 检查调度进度恢复">
139
+ <field name="message">[Block P0-B4] 检查调度进度恢复</field>
140
+ </block>
135
141
  <block type="task" id="P0-B4" action="run-script" status="pending"
136
142
  desc="Read dispatch progress summary">
137
143
  <field name="command">node ${update_progress_script} read --file ${iterations_dir}/${current_iteration}/03.system-design/DISPATCH-PROGRESS.json --summary</field>
@@ -151,11 +157,13 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
151
157
  <!-- ========== Phase 0.5: IDE Directory Detection ========== -->
152
158
  <sequence name="Phase 0.5: IDE Directory Detection">
153
159
  <block type="event" id="P05-ANNOUNCE" action="log" desc="Phase 0.5 announcement">
154
- <field name="message">📍 Phase 0.5: IDE Directory Detection (IDE目录检测)
155
- └── Step 0.5.1: 检测IDE目录和技能可用性</field>
160
+ <field name="message">📍 [Phase 0.5] IDE Directory Detection (IDE目录检测)
161
+ └── [P05-B1] 检测IDE目录和技能可用性</field>
156
162
  </block>
157
163
 
158
- <block type="event" id="P05-S1-LOG" action="log" desc="Step 0.5.1: 检测IDE目录和技能"/>
164
+ <block type="event" id="P05-S1-LOG" action="log" desc="Step 0.5.1: 检测IDE目录和技能">
165
+ <field name="message">[Block P05-B1] 检测IDE目录和技能可用性</field>
166
+ </block>
159
167
  <block type="task" id="P05-B1" action="read-file" status="pending"
160
168
  desc="Detect IDE directory and skills">
161
169
  <field name="path">${workspace_path}/.qoder/skills</field>
@@ -186,11 +194,11 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
186
194
  <!-- ========== Phase 1: Preparation ========== -->
187
195
  <sequence name="Phase 1: Preparation">
188
196
  <block type="event" id="P1-ANNOUNCE" action="log" desc="Phase 1 announcement">
189
- <field name="message">📍 Phase 1: Preparation (准备阶段)
190
- ├── Step 1.1: 加载Feature Registry
191
- ├── Step 1.2: 验证文件存在性
192
- ├── Step 1.4: 展示设计范围摘要
193
- └── Step 1.5: 验证准备完成</field>
197
+ <field name="message">📍 [Phase 1] Preparation (准备阶段)
198
+ ├── [P1-B1] 加载Feature Registry
199
+ ├── [P1-G1] 验证文件存在性
200
+ ├── [P1-E4] 展示设计范围摘要
201
+ └── [P1-CP1] 验证准备完成</field>
194
202
  </block>
195
203
 
196
204
  <block type="rule" id="P1-R1" level="forbidden" desc="Phase 1 Mandatory Constraints">
@@ -200,7 +208,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
200
208
  </block>
201
209
 
202
210
  <!-- Step 1.1: Load Feature Registry -->
203
- <block type="event" id="P1-S1-LOG" action="log" desc="Step 1.1: 加载Feature Registry"/>
211
+ <block type="event" id="P1-S1-LOG" action="log" desc="Step 1.1: 加载Feature Registry">
212
+ <field name="message">[Block P1-B1] 加载Feature Registry</field>
213
+ </block>
204
214
  <block type="task" id="P1-B1" action="read-file" status="pending"
205
215
  desc="Load Feature Registry from .prd-feature-list.json">
206
216
  <field name="path">${iterations_dir}/${current_iteration}/01.product-requirement/.prd-feature-list.json</field>
@@ -208,7 +218,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
208
218
  </block>
209
219
 
210
220
  <!-- Step 1.2: Verify File Existence -->
211
- <block type="event" id="P1-S2-LOG" action="log" desc="Step 1.2: 验证文件存在性"/>
221
+ <block type="event" id="P1-S2-LOG" action="log" desc="Step 1.2: 验证文件存在性">
222
+ <field name="message">[Block P1-G1] 验证文件存在性</field>
223
+ </block>
212
224
  <block type="gateway" id="P1-G1" mode="exclusive" desc="Verify Feature Spec and API Contract files exist">
213
225
  <branch test="${feature_registry.files} all_exist" name="All Files Exist">
214
226
  <block type="event" id="P1-E1" action="log" desc="Report files verified"/>
@@ -222,14 +234,18 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
222
234
  </block>
223
235
 
224
236
  <!-- Step 1.4: Present Design Scope -->
225
- <block type="event" id="P1-S4-LOG" action="log" desc="Step 1.4: 展示设计范围摘要"/>
237
+ <block type="event" id="P1-S4-LOG" action="log" desc="Step 1.4: 展示设计范围摘要">
238
+ <field name="message">[Block P1-E4] 展示设计范围摘要</field>
239
+ </block>
226
240
  <block type="event" id="P1-E4" action="log" desc="Display Design Scope Summary">
227
241
  <field name="template">design-scope-summary</field>
228
242
  <field name="data" value="${feature_registry}"/>
229
243
  </block>
230
244
 
231
245
  <!-- Step 1.5: Preparation Validation -->
232
- <block type="event" id="P1-S5-LOG" action="log" desc="Step 1.5: 验证准备完成"/>
246
+ <block type="event" id="P1-S5-LOG" action="log" desc="Step 1.5: 验证准备完成">
247
+ <field name="message">[Block P1-CP1] 验证准备完成</field>
248
+ </block>
233
249
  <block type="checkpoint" id="P1-CP1" name="preparation_validated" desc="Preparation validation gate">
234
250
  <field name="conditions">feature_registry_exists, files_verified, scope_presented</field>
235
251
  </block>
@@ -238,9 +254,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
238
254
  <!-- ========== Phase 2: Resource Verification ========== -->
239
255
  <sequence name="Phase 2: Resource Verification">
240
256
  <block type="event" id="P2-ANNOUNCE" action="log" desc="Phase 2 announcement">
241
- <field name="message">📍 Phase 2: Resource Verification (资源验证)
242
- ├── Step 2.1: 验证技术知识库
243
- └── Step 2.2: 准备调度参数</field>
257
+ <field name="message">📍 [Phase 2] Resource Verification (资源验证)
258
+ ├── [P2-B1] 验证技术知识库
259
+ └── [P2-E4] 准备调度参数</field>
244
260
  </block>
245
261
 
246
262
  <block type="rule" id="P2-R1" level="forbidden" desc="Phase 2 Mandatory Constraints">
@@ -251,7 +267,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
251
267
  </block>
252
268
 
253
269
  <!-- Step 2.1: Verify Techs Knowledge Base -->
254
- <block type="event" id="P2-S1-LOG" action="log" desc="Step 2.1: 验证技术知识库"/>
270
+ <block type="event" id="P2-S1-LOG" action="log" desc="Step 2.1: 验证技术知识库">
271
+ <field name="message">[Block P2-B1] 验证技术知识库</field>
272
+ </block>
255
273
  <block type="task" id="P2-B1" action="read-file" status="pending"
256
274
  desc="Check techs-manifest.json exists">
257
275
  <field name="path">${workspace_path}/knowledges/techs/techs-manifest.json</field>
@@ -271,7 +289,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
271
289
  </block>
272
290
 
273
291
  <!-- Step 2.2: Prepare Dispatch Parameters -->
274
- <block type="event" id="P2-S2-LOG" action="log" desc="Step 2.2: 准备调度参数"/>
292
+ <block type="event" id="P2-S2-LOG" action="log" desc="Step 2.2: 准备调度参数">
293
+ <field name="message">[Block P2-E4] 准备调度参数</field>
294
+ </block>
275
295
  <block type="event" id="P2-E4" action="log" desc="Build dispatch parameter template">
276
296
  <field name="template">build-dispatch-params</field>
277
297
  <field name="output" var="dispatch_params"/>
@@ -281,11 +301,11 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
281
301
  <!-- ========== Phase 3: Framework Evaluation (HARD STOP) ========== -->
282
302
  <sequence name="Phase 3: Framework Evaluation">
283
303
  <block type="event" id="P3-ANNOUNCE" action="log" desc="Phase 3 announcement">
284
- <field name="message">📍 Phase 3: Framework Evaluation (框架评估) ⛔ HARD STOP
285
- ├── Step 3.1: 派发Worker执行框架评估
286
- ├── Step 3.2: 等待Worker完成
287
- ├── Step 3.3: 验证输出
288
- └── Step 3.5: 用户确认 ⛔</field>
304
+ <field name="message">📍 [Phase 3] Framework Evaluation (框架评估) ⛔ HARD STOP
305
+ ├── [P3-B1] 派发Worker执行框架评估
306
+ ├── [P3-GW1] 等待Worker完成
307
+ ├── [P3-B2] 验证输出
308
+ └── [P3-E4] 用户确认 ⛔</field>
289
309
  </block>
290
310
 
291
311
  <block type="rule" id="P3-R0" level="forbidden" desc="Phase 3 Worker Dispatch Enforcement">
@@ -303,7 +323,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
303
323
  </block>
304
324
 
305
325
  <!-- Step 3.1: Dispatch Worker Agent for Framework Evaluation -->
306
- <block type="event" id="P3-S1-LOG" action="log" desc="Step 3.1: 派发Worker执行框架评估"/>
326
+ <block type="event" id="P3-S1-LOG" action="log" desc="Step 3.1: 派发Worker执行框架评估">
327
+ <field name="message">[Block P3-B1] 派发Worker执行框架评估</field>
328
+ </block>
307
329
  <block type="task" id="P3-B1" action="dispatch-to-worker" status="pending"
308
330
  desc="Dispatch single worker agent for framework evaluation. Use /speccrew-task-worker agent, NOT Skill tool">
309
331
  <field name="agent">speccrew-task-worker</field>
@@ -322,14 +344,18 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
322
344
  </block>
323
345
 
324
346
  <!-- Step 3.2: Wait for Worker Completion -->
325
- <block type="event" id="P3-S2-LOG" action="log" desc="Step 3.2: 等待框架评估Worker完成"/>
347
+ <block type="event" id="P3-S2-LOG" action="log" desc="Step 3.2: 等待框架评估Worker完成">
348
+ <field name="message">[Block P3-GW1] 等待Worker完成</field>
349
+ </block>
326
350
  <block type="gateway" id="P3-GW1" mode="wait" desc="Wait for framework evaluation worker to complete">
327
351
  <field name="wait_for">P3-B1</field>
328
352
  <field name="timeout">600</field>
329
353
  </block>
330
354
 
331
355
  <!-- Step 3.3: Validate Worker Output -->
332
- <block type="event" id="P3-S3-LOG" action="log" desc="Step 3.3: 验证框架评估输出"/>
356
+ <block type="event" id="P3-S3-LOG" action="log" desc="Step 3.3: 验证框架评估输出">
357
+ <field name="message">[Block P3-B2] 验证输出</field>
358
+ </block>
333
359
  <block type="task" id="P3-B2" action="read-file" status="pending"
334
360
  desc="Verify framework-evaluation.md was generated">
335
361
  <field name="path">${iterations_dir}/${current_iteration}/03.system-design/framework-evaluation.md</field>
@@ -350,7 +376,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
350
376
  </block>
351
377
 
352
378
  <!-- Step 3.5: User Confirmation (HARD STOP) -->
353
- <block type="event" id="P3-S5-LOG" action="log" desc="Step 3.5: ⛔ 用户确认框架评估结果"/>
379
+ <block type="event" id="P3-S5-LOG" action="log" desc="Step 3.5: ⛔ 用户确认框架评估结果">
380
+ <field name="message">[Block P3-E4] 用户确认</field>
381
+ </block>
354
382
  <block type="event" id="P3-E4" action="confirm" desc="Request user confirmation for framework decisions">
355
383
  <field name="prompt">🛑 FRAMEWORK EVALUATION — AWAITING CONFIRMATION. Do you approve these framework decisions? (确认/修改/取消)</field>
356
384
  <field name="template">framework-evaluation-summary</field>
@@ -377,11 +405,11 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
377
405
  <!-- ========== Phase 4: Generate DESIGN-OVERVIEW.md (WORKER-DISPATCH) ========== -->
378
406
  <sequence name="Phase 4: Generate DESIGN-OVERVIEW.md (WORKER-DISPATCH)">
379
407
  <block type="event" id="P4-ANNOUNCE" action="log" desc="Phase 4 announcement">
380
- <field name="message">📍 Phase 4: Design Overview (设计概览) ⛔ HARD STOP
381
- ├── Step 4.1: 派发Worker生成DESIGN-OVERVIEW.md
382
- ├── Step 4.2: 等待Worker完成
383
- ├── Step 4.3: 验证输出
384
- └── Step 4.5: 用户确认 ⛔</field>
408
+ <field name="message">📍 [Phase 4] Design Overview (设计概览) ⛔ HARD STOP
409
+ ├── [P4-B1] 派发Worker生成DESIGN-OVERVIEW.md
410
+ ├── [P4-GW1] 等待Worker完成
411
+ ├── [P4-B2] 验证输出
412
+ └── [P4-HS1] 用户确认 ⛔</field>
385
413
  </block>
386
414
 
387
415
  <block type="rule" id="P4-R0" level="forbidden" desc="Phase 4 Worker Dispatch Enforcement">
@@ -391,7 +419,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
391
419
  <field name="text">If worker dispatch fails, ABORT — do NOT fallback to inline generation</field>
392
420
  </block>
393
421
 
394
- <block type="event" id="P4-S1-LOG" action="log" desc="Step 4.1: 派发Worker生成DESIGN-OVERVIEW.md"/>
422
+ <block type="event" id="P4-S1-LOG" action="log" desc="Step 4.1: 派发Worker生成DESIGN-OVERVIEW.md">
423
+ <field name="message">[Block P4-B1] 派发Worker生成DESIGN-OVERVIEW.md</field>
424
+ </block>
395
425
  <block type="task" id="P4-B1" action="dispatch-to-worker" status="pending"
396
426
  desc="Dispatch single worker agent for design overview generation. Use Agent tool, NOT Skill tool.">
397
427
  <field name="agent">speccrew-task-worker</field>
@@ -408,13 +438,17 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
408
438
  <field name="note">Worker receives ALL context above and generates DESIGN-OVERVIEW.md. Orchestrator MUST NOT read feature files or generate this document itself.</field>
409
439
  </block>
410
440
 
411
- <block type="event" id="P4-S2-LOG" action="log" desc="Step 4.2: 等待设计概览Worker完成"/>
441
+ <block type="event" id="P4-S2-LOG" action="log" desc="Step 4.2: 等待设计概览Worker完成">
442
+ <field name="message">[Block P4-GW1] 等待Worker完成</field>
443
+ </block>
412
444
  <block type="gateway" id="P4-GW1" mode="wait" desc="Wait for design overview worker to complete">
413
445
  <field name="wait_for">P4-B1</field>
414
446
  <field name="timeout">300</field>
415
447
  </block>
416
448
 
417
- <block type="event" id="P4-S3-LOG" action="log" desc="Step 4.3: 验证DESIGN-OVERVIEW.md输出"/>
449
+ <block type="event" id="P4-S3-LOG" action="log" desc="Step 4.3: 验证DESIGN-OVERVIEW.md输出">
450
+ <field name="message">[Block P4-B2] 验证输出</field>
451
+ </block>
418
452
  <block type="task" id="P4-B2" action="read-file" status="pending"
419
453
  desc="Verify DESIGN-OVERVIEW.md was generated by worker">
420
454
  <field name="path">${iterations_dir}/${current_iteration}/03.system-design/DESIGN-OVERVIEW.md</field>
@@ -427,7 +461,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
427
461
  </block>
428
462
 
429
463
  <!-- Phase 4.5: HARD STOP — User must confirm DESIGN-OVERVIEW.md -->
430
- <block type="event" id="P4-S5-LOG" action="log" desc="Step 4.5: ⛔ 用户确认DESIGN-OVERVIEW.md"/>
464
+ <block type="event" id="P4-S5-LOG" action="log" desc="Step 4.5: ⛔ 用户确认DESIGN-OVERVIEW.md">
465
+ <field name="message">[Block P4-HS1] 用户确认</field>
466
+ </block>
431
467
  <block type="rule" id="P4-HS1" level="mandatory" desc="HARD STOP — DESIGN-OVERVIEW.md confirmation required">
432
468
  <field name="text">⚠️ HARD STOP — WAIT FOR USER CONFIRMATION</field>
433
469
  <field name="text">Present DESIGN-OVERVIEW.md summary to user (feature count, platform count, matrix entries, key sections)</field>
@@ -440,12 +476,12 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
440
476
  <!-- ========== Phase 5: Dispatch Per-Platform Skills ========== -->
441
477
  <sequence name="Phase 5: Dispatch Per-Platform Skills">
442
478
  <block type="event" id="P5-ANNOUNCE" action="log" desc="Phase 5 announcement">
443
- <field name="message">📍 Phase 5: Platform Dispatch (平台调度)
444
- ├── Step 5.1: 确定平台类型
445
- ├── Step 5.2: 初始化调度进度
446
- ├── Step 5.3-5.4: 批量派发Worker (每批次最多6个并行)
447
- ├── Step 5.5: 生成平台INDEX.md (Worker派发)
448
- └── Step 5.6: 错误处理</field>
479
+ <field name="message">📍 [Phase 5] Platform Dispatch (平台调度)
480
+ ├── [P5-E1] 确定平台类型
481
+ ├── [P5-B1] 初始化调度进度
482
+ ├── [P5-G1] 批量派发Worker (每批次最多6个并行)
483
+ ├── [P5-IDX-R1] 生成平台INDEX.md (Worker派发)
484
+ └── [P5-B5] 错误处理</field>
449
485
  </block>
450
486
 
451
487
  <block type="rule" id="P5-R1" level="mandatory" desc="Worker Enforcement Rules">
@@ -456,21 +492,27 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
456
492
  </block>
457
493
 
458
494
  <!-- Step 5.1: Determine Platform Types -->
459
- <block type="event" id="P5-S1-LOG" action="log" desc="Step 5.1: 确定平台类型映射"/>
495
+ <block type="event" id="P5-S1-LOG" action="log" desc="Step 5.1: 确定平台类型映射">
496
+ <field name="message">[Block P5-E1] 确定平台类型</field>
497
+ </block>
460
498
  <block type="event" id="P5-E1" action="log" desc="Map platform types to skills">
461
499
  <field name="template">platform-skill-mapping</field>
462
500
  <field name="output" var="platform_skill_map"/>
463
501
  </block>
464
502
 
465
503
  <!-- Step 5.2: Initialize DISPATCH-PROGRESS.json -->
466
- <block type="event" id="P5-S2-LOG" action="log" desc="Step 5.2: 初始化调度进度"/>
504
+ <block type="event" id="P5-S2-LOG" action="log" desc="Step 5.2: 初始化调度进度">
505
+ <field name="message">[Block P5-B1] 初始化调度进度</field>
506
+ </block>
467
507
  <block type="task" id="P5-B1" action="run-script" status="pending"
468
508
  desc="Initialize dispatch progress with task list">
469
509
  <field name="command">node ${update_progress_script} init --file ${iterations_dir}/${current_iteration}/03.system-design/DISPATCH-PROGRESS.json --stage 03_system_design --tasks-file ${iterations_dir}/${current_iteration}/03.system-design/.tasks-temp.json</field>
470
510
  </block>
471
511
 
472
512
  <!-- Step 5.3/5.4: Dispatch Decision -->
473
- <block type="event" id="P5-S3-LOG" action="log" desc="Step 5.3: 确定调度模式(单平台直接/多平台Worker派发)"/>
513
+ <block type="event" id="P5-S3-LOG" action="log" desc="Step 5.3: 确定调度模式(单平台直接/多平台Worker派发)">
514
+ <field name="message">[Block P5-G1] 确定调度模式(单平台直接/多平台Worker派发)</field>
515
+ </block>
474
516
  <block type="gateway" id="P5-G1" mode="exclusive" desc="Determine dispatch mode">
475
517
  <branch test="${feature_count} == 1 AND ${platform_count} == 1" name="Single Feature Single Platform">
476
518
  <!-- Direct skill invocation allowed -->
@@ -506,7 +548,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
506
548
  </block>
507
549
 
508
550
  <!-- Compute batch plan from dispatch_tasks_matrix -->
509
- <block type="event" id="P5-S4-LOG" action="log" desc="Step 5.4: 计算批量调度计划"/>
551
+ <block type="event" id="P5-S4-LOG" action="log" desc="Step 5.4: 计算批量调度计划">
552
+ <field name="message">[Block P5-B4-BATCH] 计算批量调度计划</field>
553
+ </block>
510
554
  <block type="task" id="P5-B4-BATCH" action="compute-batches" status="pending"
511
555
  desc="Calculate batch plan from Feature×Platform matrix">
512
556
  <field name="items" value="${dispatch_tasks_matrix}"/>
@@ -583,7 +627,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
583
627
  <!-- Use when orchestrator needs to batch-update multiple task statuses at once -->
584
628
 
585
629
  <!-- Phase 5.5: Generate Platform INDEX.md (WORKER-DISPATCH) -->
586
- <block type="event" id="P5-S5-LOG" action="log" desc="Step 5.5: 派发Worker生成各平台INDEX.md"/>
630
+ <block type="event" id="P5-S5-LOG" action="log" desc="Step 5.5: 派发Worker生成各平台INDEX.md">
631
+ <field name="message">[Block P5-IDX-R1] 生成平台INDEX.md (Worker派发)</field>
632
+ </block>
587
633
  <block type="rule" id="P5-IDX-R1" level="mandatory" desc="INDEX.md Generation via Worker Dispatch">
588
634
  <field name="text">
589
635
  After ALL Feature×Platform workers complete, dispatch ONE worker per platform to generate INDEX.md.
@@ -615,7 +661,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
615
661
  <block type="gateway" id="P5-IDX-GW1" mode="wait" desc="Wait for all INDEX.md workers to complete"/>
616
662
 
617
663
  <!-- Step 5.5: Read final dispatch progress -->
618
- <block type="event" id="P5-S6-LOG" action="log" desc="Step 5.6: 读取最终调度进度并检查错误"/>
664
+ <block type="event" id="P5-S6-LOG" action="log" desc="Step 5.6: 读取最终调度进度并检查错误">
665
+ <field name="message">[Block P5-B5] 错误处理</field>
666
+ </block>
619
667
  <block type="task" id="P5-B5" action="run-script" status="pending"
620
668
  desc="Read final dispatch progress summary">
621
669
  <field name="command">node "${update_progress_script}" read --file "${iterations_dir}/${current_iteration}/03.system-design/DISPATCH-PROGRESS.json" --summary</field>
@@ -639,21 +687,25 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
639
687
  <!-- ========== Phase 6: Joint Confirmation (HARD STOP) ========== -->
640
688
  <sequence name="Phase 6: Joint Confirmation">
641
689
  <block type="event" id="P6-ANNOUNCE" action="log" desc="Phase 6 announcement">
642
- <field name="message">📍 Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
643
- ├── Step 6.1: 展示设计文档摘要
644
- ├── Step 6.2: 用户确认 ⛔
645
- └── Step 6.3: 更新检查点</field>
690
+ <field name="message">📍 [Phase 6] Joint Confirmation (联合确认) ⛔ HARD STOP
691
+ ├── [P6-E1] 展示设计文档摘要
692
+ ├── [P6-E2] 用户确认 ⛔
693
+ └── [P6-B1] 更新检查点</field>
646
694
  </block>
647
695
 
648
696
  <!-- Step 6.1: Present summary by Feature ID -->
649
- <block type="event" id="P6-S1-LOG" action="log" desc="Step 6.1: 展示设计文档摘要"/>
697
+ <block type="event" id="P6-S1-LOG" action="log" desc="Step 6.1: 展示设计文档摘要">
698
+ <field name="message">[Block P6-E1] 展示设计文档摘要</field>
699
+ </block>
650
700
  <block type="event" id="P6-E1" action="log" desc="Display design documents summary by Feature">
651
701
  <field name="template">design-documents-summary</field>
652
702
  <field name="data" value="${dispatch_progress}"/>
653
703
  </block>
654
704
 
655
705
  <!-- Step 6.2: User Confirmation (HARD STOP) -->
656
- <block type="event" id="P6-S2-LOG" action="log" desc="Step 6.2: ⛔ 用户联合确认"/>
706
+ <block type="event" id="P6-S2-LOG" action="log" desc="Step 6.2: ⛔ 用户联合确认">
707
+ <field name="message">[Block P6-E2] 用户确认</field>
708
+ </block>
657
709
  <block type="event" id="P6-E2" action="confirm" desc="Request joint confirmation">
658
710
  <field name="prompt">🛑 JOINT CONFIRMATION — AWAITING USER REVIEW. Please review all design documents. (确认/修改/取消)</field>
659
711
  </block>
@@ -671,7 +723,9 @@ Phase 6: Joint Confirmation (联合确认) ⛔ HARD STOP
671
723
  </block>
672
724
 
673
725
  <!-- Step 6.3: Update Checkpoints on Confirmation -->
674
- <block type="event" id="P6-S3-LOG" action="log" desc="Step 6.3: 更新检查点和工作流状态"/>
726
+ <block type="event" id="P6-S3-LOG" action="log" desc="Step 6.3: 更新检查点和工作流状态">
727
+ <field name="message">[Block P6-B1] 更新检查点</field>
728
+ </block>
675
729
  <block type="task" id="P6-B1" action="run-script" status="pending"
676
730
  desc="Write framework_evaluation checkpoint">
677
731
  <field name="command">node ${update_progress_script} write-checkpoint --file ${iterations_dir}/${current_iteration}/03.system-design/.checkpoints.json --stage 03_system_design --checkpoint framework_evaluation --passed true</field>
@@ -137,17 +137,17 @@
137
137
 
138
138
  <!-- MANDATORY: Load XML Workflow Definition -->
139
139
  <block type="rule" id="R-WORKFLOW-FIRST" level="mandatory" desc="XML workflow is the authoritative execution definition">
140
- <field name="text">MANDATORY: workflow.agentflow.xml is the AUTHORITATIVE execution definition. SKILL.md is supplementary context only.</field>
141
- <field name="text">Worker MUST read workflow.agentflow.xml BEFORE starting any task execution.</field>
142
- <field name="text">Worker MUST execute ONLY the blocks defined in workflow.agentflow.xml, in sequential document order.</field>
140
+ <field name="text">MANDATORY: SKILL.xml is the AUTHORITATIVE execution definition. SKILL.md is supplementary context only.</field>
141
+ <field name="text">Worker MUST read SKILL.xml BEFORE starting any task execution.</field>
142
+ <field name="text">Worker MUST execute ONLY the blocks defined in SKILL.xml, in sequential document order.</field>
143
143
  <field name="text">FORBIDDEN: Executing tasks based solely on SKILL.md description without reading the XML workflow.</field>
144
144
  </block>
145
145
 
146
146
  <block type="task" id="T6b" action="read-file" desc="MANDATORY: Read XML workflow definition">
147
- <field name="path">${skill_path}/workflow.agentflow.xml</field>
147
+ <field name="path">${skill_path}/SKILL.xml</field>
148
148
  <field name="output" var="skill_workflow_xml"/>
149
149
  </block>
150
- <block type="event" id="E8b" action="log" desc="Loaded XML workflow">📄 Loaded workflow: ${skill_path}/workflow.agentflow.xml — This is the AUTHORITATIVE execution plan. Execute blocks in document order.</block>
150
+ <block type="event" id="E8b" action="log" desc="Loaded XML workflow">📄 Loaded workflow: ${skill_path}/SKILL.xml — This is the AUTHORITATIVE execution plan. Execute blocks in document order.</block>
151
151
 
152
152
  <!-- 加载 AgentFlow 规范 -->
153
153
  <block type="task" id="T7" action="read-file" desc="读取 AgentFlow 规范">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccrew",
3
- "version": "0.7.66",
3
+ "version": "0.7.68",
4
4
  "description": "Spec-Driven Development toolkit for AI-powered IDEs",
5
5
  "author": "charlesmu99",
6
6
  "repository": {