speccrew 0.2.1 → 0.2.2
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.
|
@@ -221,9 +221,9 @@ When there is only one Feature Spec and one platform:
|
|
|
221
221
|
|
|
222
222
|
### 5.4 Parallel Execution (Feature × Platform)
|
|
223
223
|
|
|
224
|
-
> **IMPORTANT**:
|
|
224
|
+
> **IMPORTANT**: Dispatch `speccrew-task-worker` agents (via Agent tool) for parallel design execution. Do NOT call design skills directly — each Feature×Platform combination MUST run in an independent Worker Agent for progress visibility and error isolation.
|
|
225
225
|
|
|
226
|
-
When multiple Feature Specs and/or multiple platforms exist, create a matrix of **Feature × Platform** and
|
|
226
|
+
When multiple Feature Specs and/or multiple platforms exist, create a matrix of **Feature × Platform** and dispatch `speccrew-task-worker` agents in parallel:
|
|
227
227
|
|
|
228
228
|
**Worker Matrix:**
|
|
229
229
|
|
|
@@ -245,19 +245,19 @@ Each worker receives:
|
|
|
245
245
|
|
|
246
246
|
**Before dispatch**: Update each task status to `in_progress` with `started_at` timestamp.
|
|
247
247
|
|
|
248
|
-
**Parallel execution example** (2 features × 3 platforms = 6
|
|
249
|
-
-
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
248
|
+
**Parallel execution example** (2 features × 3 platforms = 6 workers):
|
|
249
|
+
- Worker 1: speccrew-sd-frontend for Feature A on web-vue → 03.system-design/web-vue/
|
|
250
|
+
- Worker 2: speccrew-sd-backend for Feature A on backend-spring → 03.system-design/backend-spring/
|
|
251
|
+
- Worker 3: speccrew-sd-mobile for Feature A on mobile-uniapp → 03.system-design/mobile-uniapp/
|
|
252
|
+
- Worker 4: speccrew-sd-frontend for Feature B on web-vue → 03.system-design/web-vue/
|
|
253
|
+
- Worker 5: speccrew-sd-backend for Feature B on backend-spring → 03.system-design/backend-spring/
|
|
254
|
+
- Worker 6: speccrew-sd-mobile for Feature B on mobile-uniapp → 03.system-design/mobile-uniapp/
|
|
255
255
|
|
|
256
|
-
All
|
|
256
|
+
All workers execute simultaneously to maximize efficiency.
|
|
257
257
|
|
|
258
258
|
### 5.5 Update DISPATCH-PROGRESS.json
|
|
259
259
|
|
|
260
|
-
After each
|
|
260
|
+
After each worker completes, parse its **Task Completion Report** and update:
|
|
261
261
|
|
|
262
262
|
```json
|
|
263
263
|
{
|
|
@@ -275,7 +275,7 @@ After each skill completes, parse its **Task Completion Report** and update:
|
|
|
275
275
|
}
|
|
276
276
|
```
|
|
277
277
|
|
|
278
|
-
Wait for all
|
|
278
|
+
Wait for all workers to complete before proceeding to Phase 6.
|
|
279
279
|
|
|
280
280
|
## Phase 6: Joint Confirmation
|
|
281
281
|
|
|
@@ -184,7 +184,7 @@ If any pre-check fails:
|
|
|
184
184
|
|
|
185
185
|
## Step 4: Dispatch Per-Module Dev Skills
|
|
186
186
|
|
|
187
|
-
> **IMPORTANT**:
|
|
187
|
+
> **IMPORTANT**: Dispatch `speccrew-task-worker` agents (via Agent tool) for parallel module development. Do NOT call dev skills directly — each module MUST run in an independent Worker Agent for progress visibility and error isolation.
|
|
188
188
|
|
|
189
189
|
### 4.0 Initialize DISPATCH-PROGRESS.json
|
|
190
190
|
|
|
@@ -282,11 +282,11 @@ for each platform_id:
|
|
|
282
282
|
}
|
|
283
283
|
```
|
|
284
284
|
|
|
285
|
-
### 4.3 Dispatch
|
|
285
|
+
### 4.3 Dispatch Workers with Concurrency Limit
|
|
286
286
|
|
|
287
|
-
**Max concurrent
|
|
287
|
+
**Max concurrent workers: 10**
|
|
288
288
|
|
|
289
|
-
Process `task_list` using a queue-based concurrency limit model:
|
|
289
|
+
Process `task_list` using a queue-based concurrency limit model. Each task runs in an independent `speccrew-task-worker` agent:
|
|
290
290
|
|
|
291
291
|
```
|
|
292
292
|
MAX_CONCURRENT = 10
|
|
@@ -303,24 +303,24 @@ while pending is not empty or running is not empty:
|
|
|
303
303
|
- Set task.status = "in_progress"
|
|
304
304
|
- Set task.started_at = current timestamp
|
|
305
305
|
|
|
306
|
-
//
|
|
307
|
-
|
|
308
|
-
-
|
|
309
|
-
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
306
|
+
// Dispatch speccrew-task-worker agent (NOT Skill tool directly)
|
|
307
|
+
Invoke `speccrew-task-worker` agent with:
|
|
308
|
+
- skill_name: {task.skill_name}
|
|
309
|
+
- context:
|
|
310
|
+
- platform_id: {task.platform_id}
|
|
311
|
+
- iteration_path: {task.iteration_path}
|
|
312
|
+
- design_doc_path: {task.module_design_path}
|
|
313
|
+
- api_contract_path: {task.api_contract_path}
|
|
314
|
+
- techs_knowledge_paths: {task.techs_knowledge_paths}
|
|
315
|
+
- task_id: {task.id} // Pass task ID for completion report
|
|
316
316
|
|
|
317
|
-
running.add({task_id: task.id
|
|
317
|
+
running.add({task_id: task.id})
|
|
318
318
|
|
|
319
|
-
wait until at least one
|
|
319
|
+
wait until at least one worker in running completes
|
|
320
320
|
|
|
321
|
-
// Process completed
|
|
322
|
-
for each finished
|
|
323
|
-
Parse Task Completion Report from
|
|
321
|
+
// Process completed worker result
|
|
322
|
+
for each finished worker in running:
|
|
323
|
+
Parse Task Completion Report from worker output
|
|
324
324
|
|
|
325
325
|
if report.status == "SUCCESS":
|
|
326
326
|
Update DISPATCH-PROGRESS.json:
|
|
@@ -339,17 +339,17 @@ while pending is not empty or running is not empty:
|
|
|
339
339
|
```
|
|
340
340
|
|
|
341
341
|
**Dispatch rules:**
|
|
342
|
-
- Each
|
|
342
|
+
- Each worker handles **one module** on **one platform** (not all modules)
|
|
343
343
|
- Pass complete context including `design_doc_path`, `skill_name`, platform info, and `task_id`
|
|
344
|
-
- Up to 10
|
|
344
|
+
- Up to 10 workers execute simultaneously (concurrency limit)
|
|
345
345
|
- Update DISPATCH-PROGRESS.json **before** dispatch (status → "in_progress")
|
|
346
346
|
- Update DISPATCH-PROGRESS.json **after** completion based on Task Completion Report
|
|
347
347
|
- Track all dispatched tasks: completed / failed / pending counts
|
|
348
|
-
- If a
|
|
349
|
-
- Wait for all
|
|
348
|
+
- If a worker fails, log the failure and continue with remaining tasks
|
|
349
|
+
- Wait for all workers to complete before proceeding to Step 5 (Integration Check)
|
|
350
350
|
|
|
351
351
|
**Progress Update After Each Batch:**
|
|
352
|
-
After processing a batch of completed
|
|
352
|
+
After processing a batch of completed workers:
|
|
353
353
|
1. Read current DISPATCH-PROGRESS.json
|
|
354
354
|
2. Update counts: `completed`, `failed`, `pending`
|
|
355
355
|
3. Write updated DISPATCH-PROGRESS.json
|
|
@@ -163,7 +163,7 @@ Design test cases based on loaded knowledge:
|
|
|
163
163
|
|
|
164
164
|
After reading `DESIGN-OVERVIEW.md`:
|
|
165
165
|
- **Single Platform**: Invoke Skill directly
|
|
166
|
-
- **Multiple Platforms**:
|
|
166
|
+
- **Multiple Platforms**: Dispatch `speccrew-task-worker` agents in parallel (via Agent tool)
|
|
167
167
|
|
|
168
168
|
### 3.2 Single Platform Execution
|
|
169
169
|
|
|
@@ -177,7 +177,7 @@ Invoke Skill directly with parameters:
|
|
|
177
177
|
|
|
178
178
|
### 3.3 Multi-Platform Parallel Execution
|
|
179
179
|
|
|
180
|
-
> **IMPORTANT**:
|
|
180
|
+
> **IMPORTANT**: Dispatch `speccrew-task-worker` agents (via Agent tool) for parallel test execution. Do NOT call test skills directly — each platform MUST run in an independent Worker Agent for progress visibility and error isolation.
|
|
181
181
|
|
|
182
182
|
> **DISPATCH-PROGRESS Strategy**: Append mode — each test phase appends its tasks to the existing DISPATCH-PROGRESS.json with a distinct `phase` field. Previous phase records are preserved for full traceability.
|
|
183
183
|
|
|
@@ -210,7 +210,7 @@ Before dispatching, create or update `DISPATCH-PROGRESS.json`:
|
|
|
210
210
|
|
|
211
211
|
**Dispatch Workers:**
|
|
212
212
|
|
|
213
|
-
|
|
213
|
+
Dispatch `speccrew-task-worker` agents for `speccrew-test-case-design` for each platform in parallel:
|
|
214
214
|
- Each worker receives:
|
|
215
215
|
- `skill_name`: `speccrew-test-case-design`
|
|
216
216
|
- `context`:
|
|
@@ -321,7 +321,7 @@ Update `DISPATCH-PROGRESS.json` with new phase:
|
|
|
321
321
|
|
|
322
322
|
**Dispatch Workers:**
|
|
323
323
|
|
|
324
|
-
|
|
324
|
+
Dispatch `speccrew-task-worker` agents for `speccrew-test-code-gen` for each platform in parallel:
|
|
325
325
|
- `context`:
|
|
326
326
|
- `test_cases_path`: Path to the platform-specific test cases document
|
|
327
327
|
- `system_design_path`: Path to the platform system design document
|
|
@@ -430,7 +430,7 @@ Update `DISPATCH-PROGRESS.json` with new phase:
|
|
|
430
430
|
|
|
431
431
|
**Dispatch Workers:**
|
|
432
432
|
|
|
433
|
-
|
|
433
|
+
Dispatch `speccrew-task-worker` agents for `speccrew-test-execute` for each platform in parallel:
|
|
434
434
|
- `context`:
|
|
435
435
|
- `test_code_path`: Path to the platform test code directory
|
|
436
436
|
- `platform_id`: Platform identifier
|
|
@@ -575,7 +575,7 @@ Update `WORKFLOW-PROGRESS.json`:
|
|
|
575
575
|
**Must do:**
|
|
576
576
|
- Execute three phases in strict order: test case design → code generation → test execution
|
|
577
577
|
- Each phase must have a Checkpoint with user confirmation before proceeding
|
|
578
|
-
- Multi-platform scenarios must
|
|
578
|
+
- Multi-platform scenarios must dispatch `speccrew-task-worker` agents (via Agent tool) for parallel execution per platform
|
|
579
579
|
- Test cases must be traceable to Feature Spec requirements
|
|
580
580
|
- Bug reports must reference specific test case IDs
|
|
581
581
|
- Use platform_id from design overview as directory names
|