speccrew 0.6.32 → 0.6.34
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.
|
@@ -164,6 +164,14 @@ When the task fails or is blocked, output:
|
|
|
164
164
|
|
|
165
165
|
## Constraints
|
|
166
166
|
|
|
167
|
+
**TECHNOLOGY STACK CONSTRAINTS:**
|
|
168
|
+
- Scripting languages ONLY: PowerShell (Windows) and Bash (Linux/Mac)
|
|
169
|
+
- Node.js permitted ONLY for existing project scripts (e.g., `node scripts/xxx.js`)
|
|
170
|
+
- FORBIDDEN: Python, Ruby, Perl, compiled languages, or any runtime requiring separate installation
|
|
171
|
+
- DO NOT create temporary .py, .rb, .pl files under any circumstances
|
|
172
|
+
- For JSON validation, use `node -e "JSON.parse(require('fs').readFileSync('file.json','utf8'))"` instead of Python
|
|
173
|
+
- For file processing, use PowerShell cmdlets (Get-Content, ConvertFrom-Json, Set-Content) or Bash built-ins
|
|
174
|
+
|
|
167
175
|
**MUST DO:**
|
|
168
176
|
- If `skill_name` is provided, MUST use Skill Discovery to resolve the full path and strictly follow the Skill definition
|
|
169
177
|
- If `skill_name` is provided but Skill file does not exist, immediately report error
|
|
@@ -187,12 +187,18 @@ rule : Constraint declaration (level: forbidden | mandatory | note)
|
|
|
187
187
|
<block type="gateway" id="P05-G3" mode="exclusive" desc="Check techs knowledge base">
|
|
188
188
|
<branch test="${techs_kb.exists} == false" name="Techs Not Initialized">
|
|
189
189
|
<block type="event" id="P05-E3" action="log" desc="Guide to initialize techs knowledge base"/>
|
|
190
|
+
<block type="rule" id="P05-R-TECHS" level="mandatory" desc="Parallel worker dispatch for techs">
|
|
191
|
+
<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>
|
|
192
|
+
</block>
|
|
190
193
|
<block type="task" id="P05-B5" action="run-skill" desc="Invoke techs-dispatch">
|
|
191
194
|
<field name="skill">speccrew-knowledge-techs-dispatch</field>
|
|
192
195
|
</block>
|
|
193
196
|
</branch>
|
|
194
197
|
<branch test="${bizs_kb.exists} == false" name="Bizs Not Initialized">
|
|
195
198
|
<block type="event" id="P05-E4" action="log" desc="Guide to initialize bizs knowledge base"/>
|
|
199
|
+
<block type="rule" id="P05-R-BIZS" level="mandatory" desc="Parallel worker dispatch for bizs">
|
|
200
|
+
<field name="text">When bizs-dispatch prepares worker task plans, dispatch ALL workers IN PARALLEL per stage — DO NOT execute sequentially</field>
|
|
201
|
+
</block>
|
|
196
202
|
<block type="task" id="P05-B6" action="run-skill" desc="Invoke bizs-dispatch-xml">
|
|
197
203
|
<field name="skill">speccrew-knowledge-bizs-dispatch-xml</field>
|
|
198
204
|
</block>
|
|
@@ -230,11 +236,19 @@ rule : Constraint declaration (level: forbidden | mandatory | note)
|
|
|
230
236
|
</block>
|
|
231
237
|
</branch>
|
|
232
238
|
<branch test="${intent} == 'knowledge_bizs'" name="Bizs Knowledge Base">
|
|
239
|
+
<block type="rule" id="P1-R-BIZS" level="mandatory" desc="Bizs dispatch parallel execution rules">
|
|
240
|
+
<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>
|
|
241
|
+
<field name="text">Each Worker (analysis, graph, summarize) runs independently — dispatch all of them at once per stage, then monitor completion markers</field>
|
|
242
|
+
</block>
|
|
233
243
|
<block type="task" id="P1-B3" action="run-skill" status="pending" desc="Invoke bizs-dispatch XML version">
|
|
234
244
|
<field name="skill">speccrew-knowledge-bizs-dispatch-xml</field>
|
|
235
245
|
</block>
|
|
236
246
|
</branch>
|
|
237
247
|
<branch test="${intent} == 'knowledge_techs'" name="Techs Knowledge Base">
|
|
248
|
+
<block type="rule" id="P1-R-TECHS" level="mandatory" desc="Techs dispatch parallel execution rules">
|
|
249
|
+
<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>
|
|
250
|
+
<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>
|
|
251
|
+
</block>
|
|
238
252
|
<block type="task" id="P1-B4" action="run-skill" status="pending" desc="Invoke techs-dispatch Skill">
|
|
239
253
|
<field name="skill">speccrew-knowledge-techs-dispatch</field>
|
|
240
254
|
</block>
|
|
@@ -379,6 +393,13 @@ When user reports problems ("something went wrong", "error occurred", "not worki
|
|
|
379
393
|
- Display pipeline status visually when WORKFLOW-PROGRESS.json exists
|
|
380
394
|
- Support both auto-orchestration mode (when user requests "auto") and manual mode
|
|
381
395
|
|
|
396
|
+
**Technology Stack Constraints:**
|
|
397
|
+
- Scripting: PowerShell and Bash only (zero Python dependency, zero external tools)
|
|
398
|
+
- Node.js: Permitted ONLY for existing project scripts (e.g., speccrew CLI, update-progress.js)
|
|
399
|
+
- FORBIDDEN: Python, Ruby, Perl, compiled languages, or any runtime not pre-installed
|
|
400
|
+
- When dispatching workers: ensure task descriptions explicitly state "use PowerShell/Bash only"
|
|
401
|
+
- For JSON operations: use `node -e` with inline JS, or PowerShell `ConvertFrom-Json` / `ConvertTo-Json`
|
|
402
|
+
|
|
382
403
|
**Must NOT Do:**
|
|
383
404
|
- Do not directly execute specific steps in Skill (must read Skill file first)
|
|
384
405
|
- Do not skip Skill and directly generate deliverables
|
|
@@ -107,6 +107,18 @@ Stage 4: System Summary
|
|
|
107
107
|
<field name="text">ONLY pause at explicit <event action="confirm"> blocks defined in the workflow</field>
|
|
108
108
|
</block>
|
|
109
109
|
|
|
110
|
+
<!-- ============================================================
|
|
111
|
+
Global Technology Stack Constraints
|
|
112
|
+
============================================================ -->
|
|
113
|
+
<block type="rule" id="GLOBAL-R-TECHSTACK" level="forbidden" desc="Technology stack constraints — NEVER violate">
|
|
114
|
+
<field name="text">FORBIDDEN: Python, Ruby, Perl, compiled binaries, or any runtime requiring separate installation</field>
|
|
115
|
+
<field name="text">PERMITTED scripting: PowerShell (Windows) and Bash (Linux/Mac) ONLY</field>
|
|
116
|
+
<field name="text">PERMITTED Node.js: ONLY for existing project scripts (e.g., node scripts/update-progress.js)</field>
|
|
117
|
+
<field name="text">For JSON validation use: node -e "JSON.parse(require('fs').readFileSync('file.json','utf8'))"</field>
|
|
118
|
+
<field name="text">For JSON creation use: node -e with inline script, or PowerShell ConvertTo-Json</field>
|
|
119
|
+
<field name="text">DO NOT create temporary .py, .rb, .pl, .bat files — use inline commands via run_in_terminal</field>
|
|
120
|
+
</block>
|
|
121
|
+
|
|
110
122
|
<!-- ============================================================
|
|
111
123
|
Stage 0: Platform Detection
|
|
112
124
|
============================================================ -->
|
|
@@ -461,7 +473,7 @@ Preparing Graph data generation for completed Features
|
|
|
461
473
|
</block>
|
|
462
474
|
|
|
463
475
|
<!-- Step 2.5: Dispatch Graph Worker -->
|
|
464
|
-
<block type="loop" id="S2-L25" over="${batch_response.batch}" as="feature" desc="Dispatch Graph Worker for each Feature">
|
|
476
|
+
<block type="loop" id="S2-L25" over="${batch_response.batch}" as="feature" parallel="true" max-concurrency="${max_concurrent_workers}" desc="Dispatch Graph Worker for each Feature IN PARALLEL">
|
|
465
477
|
<block type="gateway" id="S2-G2" mode="exclusive" desc="Route Graph Worker based on analysis type">
|
|
466
478
|
<branch test="${feature.platformType} == 'backend'" name="API Graph">
|
|
467
479
|
<block type="task" id="S2-B25a" action="dispatch-to-worker" status="pending" desc="Dispatch API Graph Worker">
|
|
@@ -625,11 +637,12 @@ Stage 3 Milestone: Module summaries complete. ${module_count} modules summarized
|
|
|
625
637
|
|
|
626
638
|
<block type="rule" id="S35-R1" level="mandatory" desc="Stage 3.5 mandatory rules">
|
|
627
639
|
<field name="text">Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.</field>
|
|
640
|
+
<field name="text">ALL UI style extraction workers MUST be dispatched IN PARALLEL — sequential execution is FORBIDDEN</field>
|
|
628
641
|
<field name="text">This stage writes to techs knowledge base, not bizs knowledge base</field>
|
|
629
642
|
</block>
|
|
630
643
|
|
|
631
644
|
<!-- Dispatch UI Style Extract Worker for each frontend platform -->
|
|
632
|
-
<block type="loop" id="S35-L1" over="${platforms}" as="platform" desc="
|
|
645
|
+
<block type="loop" id="S35-L1" over="${platforms}" as="platform" parallel="true" max-concurrency="${max_concurrent_workers}" desc="Dispatch UI style extraction Workers for frontend platforms IN PARALLEL">
|
|
633
646
|
<block type="gateway" id="S35-G1" mode="exclusive" desc="Execute for UI platforms only">
|
|
634
647
|
<branch test="${platform.platformType} in ['web', 'mobile', 'desktop']" name="UI platform">
|
|
635
648
|
<block type="task" id="S35-B1" action="dispatch-to-worker" status="pending" desc="Dispatch UI style extraction Worker">
|
|
@@ -124,6 +124,12 @@ See [Platform Status Tracking Fields](#platform-status-tracking-fields) for stat
|
|
|
124
124
|
|
|
125
125
|
## Stage 2: Generate Platform Documents (Parallel)
|
|
126
126
|
|
|
127
|
+
> **🚨 CRITICAL: PARALLEL EXECUTION IS MANDATORY**
|
|
128
|
+
> - Prepare task plans for ALL platforms FIRST, then dispatch ALL workers SIMULTANEOUSLY
|
|
129
|
+
> - DO NOT finish one platform before starting the next — this wastes time and violates the pipeline design
|
|
130
|
+
> - The calling Agent MUST use concurrent task dispatch (e.g., dispatch 3 workers in one turn for 3 platforms)
|
|
131
|
+
> - Sequential platform-by-platform execution is FORBIDDEN
|
|
132
|
+
|
|
127
133
|
**Goal**: Generate technology documentation for each platform in parallel.
|
|
128
134
|
|
|
129
135
|
**Action**:
|