speccrew 0.7.60 → 0.7.61
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.
- package/.speccrew/agents/speccrew-system-designer.md +4 -1
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +49 -1
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +49 -1
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +49 -1
- package/.speccrew/skills/speccrew-system-designer-orchestration/SKILL.md +9 -1
- package/.speccrew/skills/speccrew-system-designer-orchestration/workflow.agentflow.xml +6 -1
- package/package.json +1 -1
|
@@ -133,6 +133,7 @@ This agent MUST execute tasks continuously without unnecessary interruptions.
|
|
|
133
133
|
| Phase 4 | WORKER-DISPATCH + HARD STOP | DESIGN-OVERVIEW.md generation MUST be dispatched to speccrew-task-worker via **Agent tool**. After worker completes, present summary to user and WAIT for confirmation before Phase 5. |
|
|
134
134
|
| Phase 5 | SKILL-ONLY | Platform design workers MUST use platform-specific design skills. Agent MUST NOT write design documents itself |
|
|
135
135
|
| Phase 5 | SKIP-CONFIRMATION | Batch dispatch MUST include `skip_confirmation: true` and `skip_index_generation: true` in worker context. Workers skip Checkpoint A and Step 5 in batch mode |
|
|
136
|
+
| Phase 5 | WORKER-SELF-UPDATE | Batch dispatch MUST include `dispatch_progress_file` and `update_progress_script` in worker context. Workers self-update task status in DISPATCH-PROGRESS.json upon completion (Step 7 of platform skills). Orchestrator's P5-B4-POST serves as fallback |
|
|
136
137
|
| Phase 5.5 | WORKER-DISPATCH-INDEX | After all workers complete, dispatch ONE worker per platform with `index_only: true` to generate INDEX.md. Orchestrator MUST NOT generate INDEX.md directly |
|
|
137
138
|
| Phase 6 | HARD STOP | User must confirm all designs before finalizing |
|
|
138
139
|
| ALL | ABORT ON FAILURE | If any skill invocation fails → STOP and report. Do NOT generate content manually as fallback |
|
|
@@ -776,6 +777,8 @@ Each worker receives:
|
|
|
776
777
|
- `techs_knowledge_paths`: Techs knowledge paths for this platform
|
|
777
778
|
- `framework_decisions`: Framework decisions from Phase 3
|
|
778
779
|
- `output_base_path`: Path to `03.system-design/` directory
|
|
780
|
+
- `dispatch_progress_file`: Path to DISPATCH-PROGRESS.json (enables Worker to self-update task status on completion)
|
|
781
|
+
- `update_progress_script`: Path to update-progress.js script
|
|
779
782
|
|
|
780
783
|
**Before dispatch**: Update each task status to `in_progress`:
|
|
781
784
|
```bash
|
|
@@ -796,7 +799,7 @@ All workers execute simultaneously to maximize efficiency.
|
|
|
796
799
|
> 1. **ONE Worker per Feature×Platform combination** — DO NOT group
|
|
797
800
|
> 2. Use **Agent tool** to create `speccrew-task-worker` for each task
|
|
798
801
|
> 3. Pass `skill_path`: `${ide_skills_dir}/${skill_name}/SKILL.md` (platform-specific skill)
|
|
799
|
-
> 4. Pass context: task_id, feature_id, feature_name, platform_id, feature_spec_path, api_contract_path, techs_knowledge_paths, framework_decisions, output_base_path, **skip_confirmation: true**, **skip_index_generation: true**
|
|
802
|
+
> 4. Pass context: task_id, feature_id, feature_name, platform_id, feature_spec_path, api_contract_path, techs_knowledge_paths, framework_decisions, output_base_path, **skip_confirmation: true**, **skip_index_generation: true**, **dispatch_progress_file**, **update_progress_script**
|
|
800
803
|
> 5. Dispatch ALL Workers in the same batch **SIMULTANEOUSLY** in a single turn
|
|
801
804
|
> 6. **Wait** for ALL Workers in the batch to complete before dispatching next batch
|
|
802
805
|
> 7. Update DISPATCH-PROGRESS.json after each Worker completes
|
|
@@ -28,6 +28,8 @@ tools: Read, Write, Glob, Grep
|
|
|
28
28
|
|
|
29
29
|
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before fill sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
30
30
|
|
|
31
|
+
4. **MANDATORY: Output filename pattern** — Output filename MUST follow pattern: `{feature_id}-{feature_name}-design.md`. Omitting feature_id or using alternative naming is FORBIDDEN.
|
|
32
|
+
|
|
31
33
|
## Step 1: Read Inputs
|
|
32
34
|
|
|
33
35
|
> **Conditional Execution**: If `index_only` = `true`, **skip Steps 1-4** and jump directly to Step 5 to generate INDEX.md.
|
|
@@ -39,6 +41,9 @@ tools: Read, Write, Glob, Grep
|
|
|
39
41
|
- `skip_confirmation` (optional, boolean): When `true`, skip Checkpoint A user confirmation (used in batch dispatch mode)
|
|
40
42
|
- `skip_index_generation` (optional, boolean): When `true`, skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
41
43
|
- `index_only` (optional, boolean): When `true`, skip Steps 1-4 and ONLY execute Step 5 (INDEX.md generation). Used after all platform workers complete.
|
|
44
|
+
- `task_id` (optional, string): Task identifier in DISPATCH-PROGRESS.json. Used for status tracking.
|
|
45
|
+
- `dispatch_progress_file` (optional, string): Path to DISPATCH-PROGRESS.json. If provided, worker updates its own task status on completion.
|
|
46
|
+
- `update_progress_script` (optional, string): Path to update-progress.js script.
|
|
42
47
|
|
|
43
48
|
Read in order:
|
|
44
49
|
|
|
@@ -103,6 +108,30 @@ Mark each function as:
|
|
|
103
108
|
|
|
104
109
|
For each function (or logical group = one controller/module):
|
|
105
110
|
|
|
111
|
+
### Output File Naming Convention
|
|
112
|
+
|
|
113
|
+
**MANDATORY**: The design document file MUST be named using this exact pattern:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
{feature_id}-{feature_name}-design.md
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
- `F-M01-05-操作日志-design.md` ✅
|
|
121
|
+
- `F-M02-01-顾客档案管理-design.md` ✅
|
|
122
|
+
- `member-level-change-history-design.md` ❌ (missing feature_id prefix)
|
|
123
|
+
- `customer-profile-design.md` ❌ (missing feature_id prefix)
|
|
124
|
+
|
|
125
|
+
Where:
|
|
126
|
+
- `feature_id`: The exact feature ID from dispatch context (e.g., `F-M01-05`, `F-M02-01`)
|
|
127
|
+
- `feature_name`: The exact feature name from dispatch context (e.g., `操作日志`, `顾客档案管理`)
|
|
128
|
+
|
|
129
|
+
> ⚠️ **FORBIDDEN**:
|
|
130
|
+
> - Using any filename format other than `{feature_id}-{feature_name}-design.md`
|
|
131
|
+
> - Omitting the feature_id prefix
|
|
132
|
+
> - Translating or paraphrasing the feature_name (must use the exact name from context)
|
|
133
|
+
> - Using function/sub-feature names instead of the main feature_name
|
|
134
|
+
|
|
106
135
|
### 4.1 Read Template
|
|
107
136
|
|
|
108
137
|
Read the SD-BACKEND-TEMPLATE.md to understand document structure.
|
|
@@ -236,7 +265,24 @@ Files Generated:
|
|
|
236
265
|
- {list all file paths}
|
|
237
266
|
```
|
|
238
267
|
|
|
239
|
-
## Step 7: Task
|
|
268
|
+
## Step 7: Update Task Status (if dispatch_progress_file provided)
|
|
269
|
+
|
|
270
|
+
> **Conditional Execution**: Only execute this step if `dispatch_progress_file` and `task_id` parameters are provided in the dispatch context.
|
|
271
|
+
|
|
272
|
+
Update the task status in DISPATCH-PROGRESS.json to mark this task as completed:
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
node "${update_progress_script}" update-task --file "${dispatch_progress_file}" --task-id "${task_id}" --status completed
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
If the design document generation failed at any step, update with status `failed` instead:
|
|
279
|
+
```
|
|
280
|
+
node "${update_progress_script}" update-task --file "${dispatch_progress_file}" --task-id "${task_id}" --status failed
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
> ⚠️ **IMPORTANT**: This step MUST be the last action before returning the completion report. Do NOT skip this step in batch dispatch mode.
|
|
284
|
+
|
|
285
|
+
## Step 8: Task Completion Report
|
|
240
286
|
|
|
241
287
|
After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
|
|
242
288
|
|
|
@@ -305,6 +351,7 @@ When executing this skill:
|
|
|
305
351
|
| **FORBIDDEN: TODO/FIXME Placeholders** | Design documents MUST contain complete implementation logic. Do NOT use TODO, FIXME, HACK, or any placeholder comments. Every method, validation rule, and business logic MUST be fully specified with actual pseudocode. |
|
|
306
352
|
| **API Route Consistency** | All API routes in the design document MUST exactly match the routes defined in the API Contract document. Before writing any route, READ the API Contract and copy routes verbatim. Do NOT invent or modify routes. |
|
|
307
353
|
| **Cross-Feature Dependency Marking** | When referencing functionality from another Feature (e.g., conflict detection from F-APPT-002), MUST explicitly mark it as `[DEPENDENCY: F-XXX-NNN]` and define a degradation strategy for when that Feature is not yet implemented. |
|
|
354
|
+
| **Output Filename Pattern** | Output filename MUST follow pattern: `{feature_id}-{feature_name}-design.md` |
|
|
308
355
|
|
|
309
356
|
# Mermaid Diagram Requirements
|
|
310
357
|
|
|
@@ -334,6 +381,7 @@ When generating Mermaid diagrams, follow compatibility guidelines:
|
|
|
334
381
|
- [ ] Migration requirements documented
|
|
335
382
|
- [ ] INDEX.md generated with complete module list
|
|
336
383
|
- [ ] All files written to correct paths under 03.system-design/{platform_id}/
|
|
384
|
+
- [ ] Output file named as `{feature_id}-{feature_name}-design.md`
|
|
337
385
|
- [ ] All Mermaid diagrams follow compatibility guidelines
|
|
338
386
|
- [ ] **No TODO/FIXME placeholders** — all methods have complete pseudocode implementation
|
|
339
387
|
- [ ] **API routes match API Contract exactly** — verified route-by-route
|
|
@@ -28,6 +28,8 @@ tools: Read, Write, Glob, Grep
|
|
|
28
28
|
|
|
29
29
|
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before fill sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
30
30
|
|
|
31
|
+
4. **MANDATORY: Output filename pattern** — Output filename MUST follow pattern: `{feature_id}-{feature_name}-design.md`. Omitting feature_id or using alternative naming is FORBIDDEN.
|
|
32
|
+
|
|
31
33
|
## Step 1: Read Inputs
|
|
32
34
|
|
|
33
35
|
> **Conditional Execution**: If `index_only` = `true`, **skip Steps 1-4** and jump directly to Step 5 to generate INDEX.md.
|
|
@@ -39,6 +41,9 @@ tools: Read, Write, Glob, Grep
|
|
|
39
41
|
- `skip_confirmation` (optional, boolean): When `true`, skip Checkpoint A user confirmation (used in batch dispatch mode)
|
|
40
42
|
- `skip_index_generation` (optional, boolean): When `true`, skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
41
43
|
- `index_only` (optional, boolean): When `true`, skip Steps 1-4 and ONLY execute Step 5 (INDEX.md generation). Used after all platform workers complete.
|
|
44
|
+
- `task_id` (optional, string): Task identifier in DISPATCH-PROGRESS.json. Used for status tracking.
|
|
45
|
+
- `dispatch_progress_file` (optional, string): Path to DISPATCH-PROGRESS.json. If provided, worker updates its own task status on completion.
|
|
46
|
+
- `update_progress_script` (optional, string): Path to update-progress.js script.
|
|
42
47
|
|
|
43
48
|
Read in order:
|
|
44
49
|
|
|
@@ -101,6 +106,30 @@ Mark each function's components as:
|
|
|
101
106
|
|
|
102
107
|
For each function (or logical group of closely related functions = one module):
|
|
103
108
|
|
|
109
|
+
### Output File Naming Convention
|
|
110
|
+
|
|
111
|
+
**MANDATORY**: The design document file MUST be named using this exact pattern:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
{feature_id}-{feature_name}-design.md
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Examples:
|
|
118
|
+
- `F-M01-05-操作日志-design.md` ✅
|
|
119
|
+
- `F-M02-01-顾客档案管理-design.md` ✅
|
|
120
|
+
- `member-level-change-history-design.md` ❌ (missing feature_id prefix)
|
|
121
|
+
- `customer-profile-design.md` ❌ (missing feature_id prefix)
|
|
122
|
+
|
|
123
|
+
Where:
|
|
124
|
+
- `feature_id`: The exact feature ID from dispatch context (e.g., `F-M01-05`, `F-M02-01`)
|
|
125
|
+
- `feature_name`: The exact feature name from dispatch context (e.g., `操作日志`, `顾客档案管理`)
|
|
126
|
+
|
|
127
|
+
> ⚠️ **FORBIDDEN**:
|
|
128
|
+
> - Using any filename format other than `{feature_id}-{feature_name}-design.md`
|
|
129
|
+
> - Omitting the feature_id prefix
|
|
130
|
+
> - Translating or paraphrasing the feature_name (must use the exact name from context)
|
|
131
|
+
> - Using function/sub-feature names instead of the main feature_name
|
|
132
|
+
|
|
104
133
|
### 4.1 Read Template
|
|
105
134
|
|
|
106
135
|
Read `SD-FRONTEND-TEMPLATE.md` for document structure.
|
|
@@ -234,7 +263,24 @@ Concerns/Trade-offs:
|
|
|
234
263
|
3. Do the pseudo-code patterns match project conventions?
|
|
235
264
|
4. Are all API calls from API Contract covered?
|
|
236
265
|
|
|
237
|
-
## Step 7: Task
|
|
266
|
+
## Step 7: Update Task Status (if dispatch_progress_file provided)
|
|
267
|
+
|
|
268
|
+
> **Conditional Execution**: Only execute this step if `dispatch_progress_file` and `task_id` parameters are provided in the dispatch context.
|
|
269
|
+
|
|
270
|
+
Update the task status in DISPATCH-PROGRESS.json to mark this task as completed:
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
node "${update_progress_script}" update-task --file "${dispatch_progress_file}" --task-id "${task_id}" --status completed
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
If the design document generation failed at any step, update with status `failed` instead:
|
|
277
|
+
```
|
|
278
|
+
node "${update_progress_script}" update-task --file "${dispatch_progress_file}" --task-id "${task_id}" --status failed
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
> ⚠️ **IMPORTANT**: This step MUST be the last action before returning the completion report. Do NOT skip this step in batch dispatch mode.
|
|
282
|
+
|
|
283
|
+
## Step 8: Task Completion Report
|
|
238
284
|
|
|
239
285
|
After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
|
|
240
286
|
|
|
@@ -286,6 +332,7 @@ After completing all steps, output a structured completion report for the System
|
|
|
286
332
|
| **API Route Consistency** | All API routes in the design document MUST exactly match the routes defined in the API Contract document. Before writing any route, READ the API Contract and copy routes verbatim. Do NOT invent or modify routes. |
|
|
287
333
|
| **Cross-Feature Dependency Marking** | When referencing functionality from another Feature (e.g., conflict detection from F-APPT-002), MUST explicitly mark it as `[DEPENDENCY: F-XXX-NNN]` and define a degradation strategy (e.g., hide button, show placeholder) for when that Feature is not yet implemented. |
|
|
288
334
|
| **Mermaid for All Diagrams** | ALL component trees, interaction flows, and state management diagrams MUST use Mermaid syntax (`graph TB`, `sequenceDiagram`, `flowchart`). Plain text ASCII diagrams are FORBIDDEN for these sections. |
|
|
335
|
+
| **Output Filename Pattern** | Output filename MUST follow pattern: `{feature_id}-{feature_name}-design.md` |
|
|
289
336
|
|
|
290
337
|
# Checklist
|
|
291
338
|
|
|
@@ -299,6 +346,7 @@ After completing all steps, output a structured completion report for the System
|
|
|
299
346
|
- [ ] Directory structure follows conventions-design.md
|
|
300
347
|
- [ ] INDEX.md generated with complete module list
|
|
301
348
|
- [ ] All files written to correct paths under 03.system-design/{platform_id}/
|
|
349
|
+
- [ ] Output file named as `{feature_id}-{feature_name}-design.md`
|
|
302
350
|
- [ ] Checkpoint A passed: function extraction confirmed (or skipped via skip_confirmation)
|
|
303
351
|
- [ ] **No TODO/FIXME placeholders** — all components and methods have complete pseudocode
|
|
304
352
|
- [ ] **API routes match API Contract exactly** — verified route-by-route
|
|
@@ -28,6 +28,8 @@ tools: Read, Write, Glob, Grep
|
|
|
28
28
|
|
|
29
29
|
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before fill sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
30
30
|
|
|
31
|
+
4. **MANDATORY: Output filename pattern** — Output filename MUST follow pattern: `{feature_id}-{feature_name}-design.md`. Omitting feature_id or using alternative naming is FORBIDDEN.
|
|
32
|
+
|
|
31
33
|
## Step 1: Read Inputs
|
|
32
34
|
|
|
33
35
|
> **Conditional Execution**: If `index_only` = `true`, **skip Steps 1-4** and jump directly to Step 5 to generate INDEX.md.
|
|
@@ -39,6 +41,9 @@ tools: Read, Write, Glob, Grep
|
|
|
39
41
|
- `skip_confirmation` (optional, boolean): When `true`, skip Checkpoint A user confirmation (used in batch dispatch mode)
|
|
40
42
|
- `skip_index_generation` (optional, boolean): When `true`, skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
41
43
|
- `index_only` (optional, boolean): When `true`, skip Steps 1-4 and ONLY execute Step 5 (INDEX.md generation). Used after all platform workers complete.
|
|
44
|
+
- `task_id` (optional, string): Task identifier in DISPATCH-PROGRESS.json. Used for status tracking.
|
|
45
|
+
- `dispatch_progress_file` (optional, string): Path to DISPATCH-PROGRESS.json. If provided, worker updates its own task status on completion.
|
|
46
|
+
- `update_progress_script` (optional, string): Path to update-progress.js script.
|
|
42
47
|
|
|
43
48
|
Read in order:
|
|
44
49
|
|
|
@@ -100,6 +105,30 @@ Mark each function's screens/widgets as:
|
|
|
100
105
|
|
|
101
106
|
For each function (or logical group of closely related functions = one module):
|
|
102
107
|
|
|
108
|
+
### Output File Naming Convention
|
|
109
|
+
|
|
110
|
+
**MANDATORY**: The design document file MUST be named using this exact pattern:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
{feature_id}-{feature_name}-design.md
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Examples:
|
|
117
|
+
- `F-M01-05-操作日志-design.md` ✅
|
|
118
|
+
- `F-M02-01-顾客档案管理-design.md` ✅
|
|
119
|
+
- `member-level-change-history-design.md` ❌ (missing feature_id prefix)
|
|
120
|
+
- `customer-profile-design.md` ❌ (missing feature_id prefix)
|
|
121
|
+
|
|
122
|
+
Where:
|
|
123
|
+
- `feature_id`: The exact feature ID from dispatch context (e.g., `F-M01-05`, `F-M02-01`)
|
|
124
|
+
- `feature_name`: The exact feature name from dispatch context (e.g., `操作日志`, `顾客档案管理`)
|
|
125
|
+
|
|
126
|
+
> ⚠️ **FORBIDDEN**:
|
|
127
|
+
> - Using any filename format other than `{feature_id}-{feature_name}-design.md`
|
|
128
|
+
> - Omitting the feature_id prefix
|
|
129
|
+
> - Translating or paraphrasing the feature_name (must use the exact name from context)
|
|
130
|
+
> - Using function/sub-feature names instead of the main feature_name
|
|
131
|
+
|
|
103
132
|
### 4.1 Read Template
|
|
104
133
|
|
|
105
134
|
Read `SD-MOBILE-TEMPLATE.md` for document structure.
|
|
@@ -228,7 +257,24 @@ Concerns/Trade-offs:
|
|
|
228
257
|
4. Are all API calls from API Contract covered?
|
|
229
258
|
5. Are platform-specific features (permissions, native integration) properly handled?
|
|
230
259
|
|
|
231
|
-
## Step 7: Task
|
|
260
|
+
## Step 7: Update Task Status (if dispatch_progress_file provided)
|
|
261
|
+
|
|
262
|
+
> **Conditional Execution**: Only execute this step if `dispatch_progress_file` and `task_id` parameters are provided in the dispatch context.
|
|
263
|
+
|
|
264
|
+
Update the task status in DISPATCH-PROGRESS.json to mark this task as completed:
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
node "${update_progress_script}" update-task --file "${dispatch_progress_file}" --task-id "${task_id}" --status completed
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
If the design document generation failed at any step, update with status `failed` instead:
|
|
271
|
+
```
|
|
272
|
+
node "${update_progress_script}" update-task --file "${dispatch_progress_file}" --task-id "${task_id}" --status failed
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
> ⚠️ **IMPORTANT**: This step MUST be the last action before returning the completion report. Do NOT skip this step in batch dispatch mode.
|
|
276
|
+
|
|
277
|
+
## Step 8: Task Completion Report
|
|
232
278
|
|
|
233
279
|
After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
|
|
234
280
|
|
|
@@ -281,6 +327,7 @@ After completing all steps, output a structured completion report for the System
|
|
|
281
327
|
| **API Route Consistency** | All API routes in the design document MUST exactly match the routes defined in the API Contract document. Before writing any route, READ the API Contract and copy routes verbatim. Do NOT invent or modify routes. |
|
|
282
328
|
| **Cross-Feature Dependency Marking** | When referencing functionality from another Feature (e.g., conflict detection from F-APPT-002), MUST explicitly mark it as `[DEPENDENCY: F-XXX-NNN]` and define a degradation strategy (e.g., hide button, show placeholder) for when that Feature is not yet implemented. |
|
|
283
329
|
| **Mermaid for All Diagrams** | ALL screen trees, navigation flows, interaction sequences, and state diagrams MUST use Mermaid syntax (`graph TB`, `sequenceDiagram`, `flowchart`). Plain text ASCII diagrams are FORBIDDEN for these sections. |
|
|
330
|
+
| **Output Filename Pattern** | Output filename MUST follow pattern: `{feature_id}-{feature_name}-design.md` |
|
|
284
331
|
|
|
285
332
|
# Checklist
|
|
286
333
|
|
|
@@ -297,6 +344,7 @@ After completing all steps, output a structured completion report for the System
|
|
|
297
344
|
- [ ] App lifecycle handling documented
|
|
298
345
|
- [ ] INDEX.md generated with complete module list
|
|
299
346
|
- [ ] All files written to correct paths under 03.system-design/{platform_id}/
|
|
347
|
+
- [ ] Output file named as `{feature_id}-{feature_name}-design.md`
|
|
300
348
|
- [ ] **Checkpoint A passed**: function extraction confirmed (or skipped via skip_confirmation)
|
|
301
349
|
- [ ] **No TODO/FIXME placeholders** — all screens and methods have complete pseudocode
|
|
302
350
|
- [ ] **API routes match API Contract exactly** — verified route-by-route
|
|
@@ -130,7 +130,7 @@ This skill MUST execute tasks continuously without unnecessary interruptions.
|
|
|
130
130
|
4. Compute batch plan (batch size = 6)
|
|
131
131
|
5. For each batch:
|
|
132
132
|
a. Use **Agent tool** to create `speccrew-task-worker` agents for ALL tasks in the batch **SIMULTANEOUSLY**
|
|
133
|
-
b. Each Worker receives: `skill_path` (platform-specific skill), `task_id`, `feature_id`, `feature_name`, `platform_id`, `feature_spec_path`, `api_contract_path`, `techs_knowledge_paths`, `framework_decisions`, `output_base_path`, `skip_confirmation: true`, `skip_index_generation: true`
|
|
133
|
+
b. Each Worker receives: `skill_path` (platform-specific skill), `task_id`, `feature_id`, `feature_name`, `platform_id`, `feature_spec_path`, `api_contract_path`, `techs_knowledge_paths`, `framework_decisions`, `output_base_path`, `skip_confirmation: true`, `skip_index_generation: true`, `dispatch_progress_file`, `update_progress_script`
|
|
134
134
|
c. **Wait** for ALL Workers in the batch to complete
|
|
135
135
|
d. Update DISPATCH-PROGRESS.json for each completed Worker
|
|
136
136
|
e. Log batch progress
|
|
@@ -142,6 +142,11 @@ This skill MUST execute tasks continuously without unnecessary interruptions.
|
|
|
142
142
|
**Batch Dispatch Context Parameters**: When dispatching Workers in batch mode, the following parameters MUST be included in each Worker's context:
|
|
143
143
|
- `skip_confirmation: true` — Workers skip Checkpoint A user confirmation (not feasible in batch mode)
|
|
144
144
|
- `skip_index_generation: true` — Workers skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
145
|
+
- `dispatch_progress_file` — Path to DISPATCH-PROGRESS.json, enables Worker to self-update its task status on completion
|
|
146
|
+
- `update_progress_script` — Path to update-progress.js script, used by Worker to execute status updates
|
|
147
|
+
- `task_id` — Task identifier in DISPATCH-PROGRESS.json (already part of dispatch context, listed here for completeness)
|
|
148
|
+
|
|
149
|
+
> **Worker Self-Update**: When `dispatch_progress_file` and `task_id` are provided, the Worker is responsible for updating its own task status in DISPATCH-PROGRESS.json upon completion (Step 7 of platform skills). The orchestrator's P5-B4-POST block serves as a fallback, but the Worker self-update is the primary mechanism.
|
|
145
150
|
|
|
146
151
|
### Phase 5.5: INDEX.md Generation (WORKER-DISPATCH)
|
|
147
152
|
|
|
@@ -159,6 +164,9 @@ After ALL Feature×Platform workers complete successfully, dispatch ONE worker p
|
|
|
159
164
|
- `completed_documents`: ${platform.completed_documents}
|
|
160
165
|
- `techs_knowledge_dir`: ${techs_knowledge_dir}
|
|
161
166
|
- `workspace_path`: ${workspace_path}
|
|
167
|
+
- `task_id`: idx-${platform.id}
|
|
168
|
+
- `dispatch_progress_file`: ${iterations_dir}/${current_iteration}/03.system-design/DISPATCH-PROGRESS.json
|
|
169
|
+
- `update_progress_script`: ${update_progress_script}
|
|
162
170
|
|
|
163
171
|
**FORBIDDEN**: Orchestrator generating INDEX.md directly. INDEX.md MUST be generated by worker.
|
|
164
172
|
|
|
@@ -391,7 +391,9 @@
|
|
|
391
391
|
framework_decisions: ${framework_result.decisions},
|
|
392
392
|
output_base_path: ${iterations_dir}/${current_iteration}/03.system-design,
|
|
393
393
|
skip_confirmation: true,
|
|
394
|
-
skip_index_generation: true
|
|
394
|
+
skip_index_generation: true,
|
|
395
|
+
dispatch_progress_file: ${iterations_dir}/${current_iteration}/03.system-design/DISPATCH-PROGRESS.json,
|
|
396
|
+
update_progress_script: ${update_progress_script}
|
|
395
397
|
</field>
|
|
396
398
|
<field name="output" var="worker_result_${task.id}"/>
|
|
397
399
|
</block>
|
|
@@ -449,6 +451,9 @@
|
|
|
449
451
|
completed_documents: ${platform.completed_documents}
|
|
450
452
|
techs_knowledge_dir: ${techs_knowledge_dir}
|
|
451
453
|
workspace_path: ${workspace_path}
|
|
454
|
+
task_id: idx-${platform.id}
|
|
455
|
+
dispatch_progress_file: ${iterations_dir}/${current_iteration}/03.system-design/DISPATCH-PROGRESS.json
|
|
456
|
+
update_progress_script: ${update_progress_script}
|
|
452
457
|
</field>
|
|
453
458
|
</block>
|
|
454
459
|
</block>
|