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 `<
|
|
197
|
-
5. **For `<
|
|
198
|
-
6. **
|
|
199
|
-
|
|
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="
|
|
101
|
-
<field name="text"
|
|
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="
|
|
111
|
-
<field name="text"
|
|
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="
|
|
153
|
-
<field name="text"
|
|
154
|
-
<field name="text">
|
|
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="
|
|
163
|
-
<field name="text"
|
|
164
|
-
<field name="text">
|
|
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>
|