speccrew 0.7.14 → 0.7.15

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.
@@ -193,10 +193,40 @@ When you load a dispatch skill (e.g., `speccrew-knowledge-bizs-dispatch` or `spe
193
193
  - `run-script` → Terminal tool
194
194
  - `run-skill` → Skill tool (do NOT browse directories for SKILL.md)
195
195
  - `dispatch-to-worker` → Task tool (create Task for speccrew-task-worker)
196
- 4. **For `<loop parallel="true">` with `dispatch-to-worker`**: create ALL worker Tasks in ONE batch
197
- 5. **For `<event action="confirm">`**: present to user and wait
198
- 6. **For `<checkpoint>`**: verify condition before proceeding to next stage
199
- 7. **Execute ALL stages in sequence** — Stage 0 → 1a → 1b → 1c → 2 → 3 → 4 (or as defined)
196
+ 4. **For `<event action="confirm">`**: present to user and wait
197
+ 5. **For `<checkpoint>`**: verify condition before proceeding to next stage
198
+ 6. **Execute ALL stages in sequence** Stage 0 → 1a → 1b → 1c → 2 → 3 → 4 (or as defined)
199
+
200
+ ### ⚠️ Parallel Worker Dispatch Protocol (MANDATORY)
201
+
202
+ When executing a `<loop parallel="true">` block that contains `action=dispatch-to-worker`:
203
+
204
+ 1. **COLLECT FIRST**: Iterate through ALL items in the loop's `over` array BEFORE creating any Task
205
+ 2. **BATCH CREATE**: Create ALL Worker Tasks in a **SINGLE message** using **MULTIPLE Task tool calls in parallel**
206
+ 3. **NO SEQUENTIAL WAIT**: Do NOT wait for any Worker Task to complete before creating the next one
207
+ 4. **ONE WORKER PER ITEM**: Each loop iteration = exactly ONE separate Worker Task with its own context
208
+
209
+ **FORBIDDEN behaviors:**
210
+ - Creating one Task, waiting for completion, then creating the next → **FORBIDDEN**
211
+ - Passing multiple items to a single Worker → **FORBIDDEN**
212
+ - Processing loop items one-by-one with blocking waits between dispatches → **FORBIDDEN**
213
+
214
+ **CORRECT execution pattern:**
215
+ ```
216
+ Loop items: [A, B, C, D, E]
217
+
218
+ Turn 1: TaskCreate(A) + TaskCreate(B) + TaskCreate(C) + TaskCreate(D) + TaskCreate(E) ← ALL in ONE turn
219
+
220
+ Turn 2-N: Monitor and collect results as Workers complete
221
+ ```
222
+
223
+ **INCORRECT execution pattern (FORBIDDEN):**
224
+ ```
225
+ Turn 1: Create Task(A) → wait for completion
226
+ Turn 2: Create Task(B) → wait for completion
227
+ Turn 3: Create Task(C) → wait for completion
228
+ ...
229
+ ```
200
230
 
201
231
  **CRITICAL FORBIDDEN BEHAVIORS**:
202
232
  - Do NOT run terminal commands as a substitute for calling a Skill via Skill tool
@@ -97,8 +97,16 @@
97
97
  <block type="gateway" id="P05-G3" mode="exclusive" desc="Check techs knowledge base">
98
98
  <branch test="${techs_kb.exists} == false" name="Techs Not Initialized">
99
99
  <block type="event" id="P05-E3" action="log" desc="Guide to initialize techs knowledge base"/>
100
- <block type="rule" id="P05-R-TECHS" level="mandatory" desc="Parallel worker dispatch for techs">
101
- <field name="text">When techs-dispatch Stage 2 prepares task plans for multiple platforms, dispatch ALL platform workers IN PARALLEL DO NOT execute sequentially</field>
100
+ <block type="rule" id="P05-R-TECHS" level="mandatory" desc="PARALLEL BATCH DISPATCH - MANDATORY">
101
+ <field name="text">=== PARALLEL BATCH DISPATCH PROTOCOL ===</field>
102
+ <field name="text">1. COLLECT ALL items from loop's 'over' array BEFORE creating any Task</field>
103
+ <field name="text">2. Create ALL Worker Tasks in ONE message using MULTIPLE Task tool calls in parallel</field>
104
+ <field name="text">3. DO NOT wait for any Task to complete before creating the next one</field>
105
+ <field name="text">4. Each loop item = exactly ONE separate Worker Task</field>
106
+ <field name="text">=== FORBIDDEN ===</field>
107
+ <field name="text">- Create Task(A), wait, then Create Task(B) → FORBIDDEN</field>
108
+ <field name="text">- Passing multiple items to one Worker → FORBIDDEN</field>
109
+ <field name="text">- Sequential processing with blocking waits → FORBIDDEN</field>
102
110
  </block>
103
111
  <block type="task" id="P05-B5" action="run-skill" desc="Leader directly invokes techs-dispatch as orchestration playbook">
104
112
  <field name="skill">speccrew-knowledge-techs-dispatch</field>
@@ -107,8 +115,16 @@
107
115
  </branch>
108
116
  <branch test="${bizs_kb.exists} == false" name="Bizs Not Initialized">
109
117
  <block type="event" id="P05-E4" action="log" desc="Guide to initialize bizs knowledge base"/>
110
- <block type="rule" id="P05-R-BIZS" level="mandatory" desc="Parallel worker dispatch for bizs">
111
- <field name="text">When bizs-dispatch prepares worker task plans, dispatch ALL workers IN PARALLEL per stage DO NOT execute sequentially</field>
118
+ <block type="rule" id="P05-R-BIZS" level="mandatory" desc="PARALLEL BATCH DISPATCH - MANDATORY">
119
+ <field name="text">=== PARALLEL BATCH DISPATCH PROTOCOL ===</field>
120
+ <field name="text">1. COLLECT ALL items from loop's 'over' array BEFORE creating any Task</field>
121
+ <field name="text">2. Create ALL Worker Tasks in ONE message using MULTIPLE Task tool calls in parallel</field>
122
+ <field name="text">3. DO NOT wait for any Task to complete before creating the next one</field>
123
+ <field name="text">4. Each loop item = exactly ONE separate Worker Task</field>
124
+ <field name="text">=== FORBIDDEN ===</field>
125
+ <field name="text">- Create Task(A), wait, then Create Task(B) → FORBIDDEN</field>
126
+ <field name="text">- Passing multiple items to one Worker → FORBIDDEN</field>
127
+ <field name="text">- Sequential processing with blocking waits → FORBIDDEN</field>
112
128
  </block>
113
129
  <block type="task" id="P05-B6" action="run-skill" desc="Leader directly invokes bizs-dispatch as orchestration playbook">
114
130
  <field name="skill">speccrew-knowledge-bizs-dispatch</field>
@@ -149,9 +165,16 @@
149
165
  </block>
150
166
  </branch>
151
167
  <branch test="${intent} == 'knowledge_bizs'" name="Bizs Knowledge Base">
152
- <block type="rule" id="P1-R-BIZS" level="mandatory" desc="Bizs dispatch parallel execution rules">
153
- <field name="text">When bizs-dispatch prepares worker task plans for multiple features or platforms, dispatch ALL workers IN PARALLEL DO NOT execute features or platforms sequentially one by one</field>
154
- <field name="text">Each Worker (analysis, graph, summarize) runs independently dispatch all of them at once per stage, then monitor completion markers</field>
168
+ <block type="rule" id="P1-R-BIZS" level="mandatory" desc="PARALLEL BATCH DISPATCH - MANDATORY">
169
+ <field name="text">=== PARALLEL BATCH DISPATCH PROTOCOL ===</field>
170
+ <field name="text">1. COLLECT ALL items from loop's 'over' array BEFORE creating any Task</field>
171
+ <field name="text">2. Create ALL Worker Tasks in ONE message using MULTIPLE Task tool calls in parallel</field>
172
+ <field name="text">3. DO NOT wait for any Task to complete before creating the next one</field>
173
+ <field name="text">4. Each loop item = exactly ONE separate Worker Task</field>
174
+ <field name="text">=== FORBIDDEN ===</field>
175
+ <field name="text">- Create Task(A), wait, then Create Task(B) → FORBIDDEN</field>
176
+ <field name="text">- Passing multiple items to one Worker → FORBIDDEN</field>
177
+ <field name="text">- Sequential processing with blocking waits → FORBIDDEN</field>
155
178
  </block>
156
179
  <block type="task" id="P1-B3" action="run-skill" status="pending" desc="Leader directly invokes bizs-dispatch as orchestration playbook">
157
180
  <field name="skill">speccrew-knowledge-bizs-dispatch</field>
@@ -159,9 +182,16 @@
159
182
  </block>
160
183
  </branch>
161
184
  <branch test="${intent} == 'knowledge_techs'" name="Techs Knowledge Base">
162
- <block type="rule" id="P1-R-TECHS" level="mandatory" desc="Techs dispatch parallel execution rules">
163
- <field name="text">When techs-dispatch Stage 2 prepares task plans for multiple platforms, dispatch ALL platform workers IN PARALLEL using concurrent task dispatch — DO NOT execute platforms sequentially one by one</field>
164
- <field name="text">Each platform worker (techs-generate-conventions, techs-generate-ui-style) runs independently dispatch all of them at once, then monitor completion markers</field>
185
+ <block type="rule" id="P1-R-TECHS" level="mandatory" desc="PARALLEL BATCH DISPATCH - MANDATORY">
186
+ <field name="text">=== PARALLEL BATCH DISPATCH PROTOCOL ===</field>
187
+ <field name="text">1. COLLECT ALL items from loop's 'over' array BEFORE creating any Task</field>
188
+ <field name="text">2. Create ALL Worker Tasks in ONE message using MULTIPLE Task tool calls in parallel</field>
189
+ <field name="text">3. DO NOT wait for any Task to complete before creating the next one</field>
190
+ <field name="text">4. Each loop item = exactly ONE separate Worker Task</field>
191
+ <field name="text">=== FORBIDDEN ===</field>
192
+ <field name="text">- Create Task(A), wait, then Create Task(B) → FORBIDDEN</field>
193
+ <field name="text">- Passing multiple items to one Worker → FORBIDDEN</field>
194
+ <field name="text">- Sequential processing with blocking waits → FORBIDDEN</field>
165
195
  </block>
166
196
  <block type="task" id="P1-B4" action="run-skill" status="pending" desc="Leader directly invokes techs-dispatch as orchestration playbook">
167
197
  <field name="skill">speccrew-knowledge-techs-dispatch</field>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccrew",
3
- "version": "0.7.14",
3
+ "version": "0.7.15",
4
4
  "description": "Spec-Driven Development toolkit for AI-powered IDEs",
5
5
  "author": "charlesmu99",
6
6
  "repository": {