speccrew 0.7.49 → 0.7.51

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.
@@ -34,7 +34,7 @@ System Designer 的核心编排技能,负责:
34
34
  1. **Stage Gate** - 验证 Feature Design 阶段已确认
35
35
  2. **Preparation** - 加载 Feature Registry,验证文件存在性
36
36
  3. **Resource Verification** - 验证技术知识库可用性
37
- 4. **Framework Evaluation** - 调用框架评估技能(HARD STOP 等待用户确认)
37
+ 4. **Framework Evaluation** - 派发单个 worker agent 执行框架评估技能,等待 worker 完成并验证 framework-evaluation.md 生成后进入下一阶段(HARD STOP 等待用户确认)
38
38
  5. **Design Overview** - 生成 DESIGN-OVERVIEW.md
39
39
  6. **Platform Dispatch** - 分发各平台设计任务给 Worker
40
40
  7. **Joint Confirmation** - 联合确认所有设计文档
@@ -93,10 +93,18 @@ This skill MUST execute tasks continuously without unnecessary interruptions.
93
93
  3. Unrecoverable errors that prevent further progress
94
94
  4. Security-sensitive operations (e.g., deleting existing files)
95
95
 
96
+ ### Phase 3 FORBIDDEN Actions
97
+
98
+ - DO NOT inline-call speccrew-sd-framework-evaluate skill
99
+ - DO NOT read feature spec files yourself for framework evaluation
100
+ - DO NOT create temporary scripts for batch file analysis
101
+ - DO NOT generate framework-evaluation.md as fallback if worker fails
102
+ - Worker dispatch failure = ABORT (report error, do NOT retry with inline execution)
103
+
96
104
  ### HARD STOP Checkpoints
97
105
 
98
106
  This workflow has **mandatory HARD STOP** checkpoints at:
99
- - **Phase 3.3**: Framework evaluation confirmation (user MUST approve)
107
+ - **Phase 3.5**: Framework evaluation confirmation (user MUST approve)
100
108
  - **Phase 6.1**: Joint design confirmation (user MUST approve all designs)
101
109
 
102
110
  DO NOT proceed past these checkpoints without explicit user confirmation.
@@ -163,39 +163,64 @@
163
163
 
164
164
  <!-- ========== Phase 3: Framework Evaluation (HARD STOP) ========== -->
165
165
  <sequence name="Phase 3: Framework Evaluation">
166
- <block type="rule" id="P3-R1" level="mandatory" desc="Skill-Only Rule">
167
- <field name="text">Framework evaluation MUST use speccrew-sd-framework-evaluate skill</field>
166
+ <block type="rule" id="P3-R0" level="forbidden" desc="Phase 3 Worker Dispatch Enforcement">
167
+ <field name="text">FORBIDDEN: Do NOT inline-call or directly invoke speccrew-sd-framework-evaluate skill</field>
168
+ <field name="text">FORBIDDEN: Do NOT create scripts or read feature files yourself for framework evaluation</field>
169
+ <field name="text">MANDATORY: Framework evaluation MUST be delegated to worker agent via block P3-B1</field>
170
+ <field name="text">If worker dispatch fails, ABORT — do NOT fallback to inline execution</field>
171
+ </block>
172
+
173
+ <block type="rule" id="P3-R1" level="mandatory" desc="Worker Dispatch Rule">
174
+ <field name="text">Framework evaluation MUST be dispatched to a single speccrew-task-worker agent</field>
168
175
  <field name="text">Agent MUST NOT perform capability gap analysis or framework recommendations itself</field>
176
+ <field name="text">skill_path MUST be explicitly passed to worker — worker relies on glob search will fail on first run</field>
169
177
  </block>
170
178
 
171
- <!-- Step 3.1: Invoke Framework Evaluation Skill -->
172
- <block type="task" id="P3-B1" action="run-skill" status="pending"
173
- desc="Invoke framework evaluation skill">
179
+ <!-- Step 3.1: Dispatch Worker Agent for Framework Evaluation -->
180
+ <block type="task" id="P3-B1" action="dispatch-to-worker" status="pending"
181
+ desc="Dispatch single worker agent for framework evaluation">
182
+ <field name="agent">speccrew-task-worker</field>
174
183
  <field name="skill">speccrew-sd-framework-evaluate</field>
175
- <field name="params">
184
+ <field name="max_concurrent">1</field>
185
+ <field name="skill_path">${workspace_path}/.speccrew/skills/speccrew-sd-framework-evaluate/SKILL.md</field>
186
+ <field name="context">
187
+ workspace_path: ${workspace_path},
188
+ iteration_path: ${iterations_dir}/${current_iteration},
176
189
  feature_spec_paths: ${feature_registry.feature_spec_paths},
177
190
  api_contract_paths: ${feature_registry.api_contract_paths},
178
191
  techs_knowledge_paths: ${dispatch_params.techs_knowledge_paths},
179
- iteration_path: ${iterations_dir}/${current_iteration},
180
192
  output_path: ${iterations_dir}/${current_iteration}/03.system-design/framework-evaluation.md
181
193
  </field>
194
+ <field name="note">Worker receives ALL context above and generates framework-evaluation.md. Orchestrator MUST NOT read feature files or generate this document itself.</field>
195
+ </block>
196
+
197
+ <!-- Step 3.2: Wait for Worker Completion -->
198
+ <block type="gateway" id="P3-GW1" mode="wait" desc="Wait for framework evaluation worker to complete">
199
+ <field name="wait_for">P3-B1</field>
200
+ <field name="timeout">600</field>
201
+ </block>
202
+
203
+ <!-- Step 3.3: Validate Worker Output -->
204
+ <block type="task" id="P3-B2" action="read-file" status="pending"
205
+ desc="Verify framework-evaluation.md was generated">
206
+ <field name="path">${iterations_dir}/${current_iteration}/03.system-design/framework-evaluation.md</field>
182
207
  <field name="output" var="framework_result"/>
183
208
  </block>
184
209
 
185
- <!-- Step 3.2: Validate Skill Output -->
210
+ <!-- Step 3.4: Validate Worker Result -->
186
211
  <block type="gateway" id="P3-G1" mode="exclusive" desc="Check framework evaluation result">
187
- <branch test="${framework_result.status} == 'SUCCESS'" name="Framework Evaluation Success">
188
- <block type="event" id="P3-E1" action="log" desc="Framework evaluation completed"/>
212
+ <branch test="${framework_result} exists" name="Framework Evaluation Success">
213
+ <block type="event" id="P3-E1" action="log" desc="Framework evaluation completed by worker"/>
189
214
  </branch>
190
215
  <branch default="true" name="Framework Evaluation Failed">
191
216
  <block type="event" id="P3-E2" action="log" desc="Report framework evaluation failure">
192
- <field name="message">Framework evaluation skill failed: ${framework_result.error}</field>
217
+ <field name="message">Framework evaluation worker failed: framework-evaluation.md was not generated at ${iterations_dir}/${current_iteration}/03.system-design/framework-evaluation.md</field>
193
218
  </block>
194
219
  <block type="event" id="P3-E3" action="abort" desc="Stop workflow"/>
195
220
  </branch>
196
221
  </block>
197
222
 
198
- <!-- Step 3.3: User Confirmation (HARD STOP) -->
223
+ <!-- Step 3.5: User Confirmation (HARD STOP) -->
199
224
  <block type="event" id="P3-E4" action="confirm" desc="Request user confirmation for framework decisions">
200
225
  <field name="prompt">🛑 FRAMEWORK EVALUATION — AWAITING CONFIRMATION. Do you approve these framework decisions? (确认/修改/取消)</field>
201
226
  <field name="template">framework-evaluation-summary</field>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccrew",
3
- "version": "0.7.49",
3
+ "version": "0.7.51",
4
4
  "description": "Spec-Driven Development toolkit for AI-powered IDEs",
5
5
  "author": "charlesmu99",
6
6
  "repository": {