speccrew 0.7.4 → 0.7.6

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.
Files changed (31) hide show
  1. package/.speccrew/agents/speccrew-feature-designer.md +6 -0
  2. package/.speccrew/agents/speccrew-product-manager.md +6 -0
  3. package/.speccrew/agents/speccrew-system-deployer.md +6 -0
  4. package/.speccrew/agents/speccrew-system-designer.md +6 -0
  5. package/.speccrew/agents/speccrew-system-developer.md +6 -0
  6. package/.speccrew/agents/speccrew-task-worker.md +5 -0
  7. package/.speccrew/agents/speccrew-test-manager.md +6 -0
  8. package/.speccrew/skills/speccrew-feature-designer-orchestration/SKILL.md +117 -0
  9. package/.speccrew/skills/speccrew-feature-designer-orchestration/workflow.agentflow.xml +463 -0
  10. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/workflow.agentflow.xml +119 -10
  11. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +3 -3
  12. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +1 -1
  13. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +289 -0
  14. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/reindex-modules.js +1 -1
  15. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/workflow.agentflow.xml +170 -3
  16. package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +1 -1
  17. package/.speccrew/skills/speccrew-pm-module-initializer/SKILL.md +1 -1
  18. package/.speccrew/skills/speccrew-pm-module-initializer/workflow.agentflow.xml +1 -1
  19. package/.speccrew/skills/speccrew-product-manager-orchestration/SKILL.md +111 -0
  20. package/.speccrew/skills/speccrew-product-manager-orchestration/workflow.agentflow.xml +534 -0
  21. package/.speccrew/skills/speccrew-system-deployer-orchestration/SKILL.md +91 -0
  22. package/.speccrew/skills/speccrew-system-deployer-orchestration/workflow.agentflow.xml +309 -0
  23. package/.speccrew/skills/speccrew-system-designer-orchestration/SKILL.md +102 -0
  24. package/.speccrew/skills/speccrew-system-designer-orchestration/workflow.agentflow.xml +375 -0
  25. package/.speccrew/skills/speccrew-system-developer-orchestration/SKILL.md +110 -0
  26. package/.speccrew/skills/speccrew-system-developer-orchestration/workflow.agentflow.xml +422 -0
  27. package/.speccrew/skills/speccrew-task-worker-execution/SKILL.md +106 -0
  28. package/.speccrew/skills/speccrew-task-worker-execution/workflow.agentflow.xml +177 -0
  29. package/.speccrew/skills/speccrew-test-manager-orchestration/SKILL.md +106 -0
  30. package/.speccrew/skills/speccrew-test-manager-orchestration/workflow.agentflow.xml +442 -0
  31. package/package.json +1 -1
@@ -0,0 +1,309 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <workflow id="speccrew-system-deployer-orchestration" version="1.0.0">
3
+
4
+ <!-- ==================== INPUT PARAMETERS ==================== -->
5
+ <block type="input" id="input-params">
6
+ <param name="workspace_path" type="string" required="true" desc="speccrew-workspace 根目录绝对路径"/>
7
+ <param name="iteration_dir" type="string" required="true" desc="当前迭代目录路径"/>
8
+ <param name="update_progress_script" type="string" required="true" desc="update-progress.js 脚本路径"/>
9
+ </block>
10
+
11
+ <!-- ==================== PHASE 0: STAGE GATE & RESUME ==================== -->
12
+ <sequence id="phase-0-stage-gate">
13
+
14
+ <!-- Phase 0.1: Verify Upstream Completion -->
15
+ <block type="task" id="p0-1-verify-stage" action="run-script" desc="验证开发阶段已完成确认">
16
+ <field name="command">node ${update_progress_script} read --file ${workspace_path}/WORKFLOW-PROGRESS.json --overview</field>
17
+ <event type="on-failure" action="log">
18
+ <message>❌ Development stage has not been confirmed. Please complete and confirm development before starting deployment.</message>
19
+ </event>
20
+ </block>
21
+
22
+ <block type="gateway" id="p0-1-gate" desc="检查开发阶段状态">
23
+ <condition expression="stages.04_development.status == 'confirmed'">
24
+ <when true="proceed" false="abort"/>
25
+ </condition>
26
+ <event type="on-false" action="log">
27
+ <message>❌ STAGE GATE FAILURE: Development stage not confirmed. Workflow aborted.</message>
28
+ </event>
29
+ </block>
30
+
31
+ <!-- Phase 0.1: Update Deployment Stage Status -->
32
+ <block type="task" id="p0-1-update-stage" action="run-script" desc="更新部署阶段状态为进行中">
33
+ <field name="command">node ${update_progress_script} update-workflow --file ${workspace_path}/WORKFLOW-PROGRESS.json --stage 05_deployment --status in_progress</field>
34
+ </block>
35
+
36
+ <!-- Phase 0.2: Check Resume State -->
37
+ <block type="task" id="p0-2-read-checkpoints" action="run-script" desc="读取检查点状态以支持断点续传">
38
+ <field name="command">node ${update_progress_script} read --file ${iteration_dir}/05.deployment/.checkpoints.json --checkpoints</field>
39
+ <event type="on-failure" action="log">
40
+ <message>ℹ️ No checkpoint file found. Proceeding with full workflow.</message>
41
+ </event>
42
+ </block>
43
+
44
+ </sequence>
45
+
46
+ <!-- ==================== PHASE 0.5: IDE DIRECTORY DETECTION ==================== -->
47
+ <sequence id="phase-0.5-ide-detection">
48
+
49
+ <block type="task" id="p0.5-detect-ide" action="detect-ide-directory" desc="检测 IDE 目录">
50
+ <field name="priority-order">.qoder,.cursor,.claude,.speccrew</field>
51
+ <output name="ide_dir" as="ide_dir"/>
52
+ <output name="ide_skills_dir" as="ide_skills_dir"/>
53
+ </block>
54
+
55
+ <block type="gateway" id="p0.5-verify-skills-dir" desc="验证技能目录存在">
56
+ <condition expression="ide_skills_dir != null">
57
+ <when true="proceed" false="abort"/>
58
+ </condition>
59
+ <event type="on-false" action="log">
60
+ <message>❌ IDE Skills Directory Not Found. Checked: .qoder/skills, .cursor/skills, .claude/skills, .speccrew/skills</message>
61
+ </event>
62
+ </block>
63
+
64
+ <block type="task" id="p0.5-verify-deploy-skills" action="verify-skills" desc="验证部署技能可用性">
65
+ <field name="skills-dir">${ide_skills_dir}</field>
66
+ <field name="required-skills">speccrew-deploy-build,speccrew-deploy-migrate,speccrew-deploy-startup,speccrew-deploy-smoke-test</field>
67
+ </block>
68
+
69
+ </sequence>
70
+
71
+ <!-- ==================== PHASE 1: PREPARATION ==================== -->
72
+ <sequence id="phase-1-preparation">
73
+
74
+ <!-- 1.1 Read Dev Task Records -->
75
+ <block type="task" id="p1-1-read-dev-records" action="read-file" desc="读取开发任务记录">
76
+ <field name="path">${iteration_dir}/04.development/</field>
77
+ <output name="migration_scripts" as="migration_scripts"/>
78
+ <output name="api_endpoints" as="api_endpoints"/>
79
+ </block>
80
+
81
+ <!-- 1.2 Load Techs Knowledge -->
82
+ <block type="task" id="p1-2-check-techs-knowledge" action="run-script" desc="检查技术知识库可用性">
83
+ <field name="command">node ${update_progress_script} read --file ${workspace_path}/knowledges/techs/techs-manifest.json --overview</field>
84
+ <event type="on-failure" action="log">
85
+ <message>❌ TECHS KNOWLEDGE BASE NOT FOUND. Required file missing: knowledges/techs/techs-manifest.json</message>
86
+ </event>
87
+ </block>
88
+
89
+ <block type="task" id="p1-2-load-techs" action="read-file" desc="加载部署相关技术知识">
90
+ <field name="path">${workspace_path}/knowledges/techs/${platform_id}/conventions-data.md</field>
91
+ <output name="build_cmd" as="build_cmd"/>
92
+ <output name="migration_cmd" as="migration_cmd"/>
93
+ <output name="validation_cmd" as="validation_cmd"/>
94
+ <output name="start_cmd" as="start_cmd"/>
95
+ <output name="health_url" as="health_url"/>
96
+ <output name="health_timeout" as="health_timeout"/>
97
+ </block>
98
+
99
+ <!-- 1.3 Determine Project Root -->
100
+ <block type="task" id="p1-3-determine-project-root" action="determine-project-root" desc="确定项目根目录">
101
+ <field name="workspace-path">${workspace_path}</field>
102
+ <output name="project_root" as="project_root"/>
103
+ </block>
104
+
105
+ <!-- 1.4 Determine Verification Mode -->
106
+ <block type="task" id="p1-4-determine-verification" action="determine-verification-mode" desc="确定验证模式">
107
+ <field name="techs-path">${workspace_path}/knowledges/techs/${platform_id}</field>
108
+ <output name="verification_mode" as="verification_mode"/>
109
+ <output name="process_name" as="process_name"/>
110
+ <output name="log_file" as="log_file"/>
111
+ <output name="success_pattern" as="success_pattern"/>
112
+ </block>
113
+
114
+ </sequence>
115
+
116
+ <!-- ==================== PHASE 2: SKILL DISPATCH (LINEAR SEQUENCE) ==================== -->
117
+ <sequence id="phase-2-skill-dispatch">
118
+
119
+ <!-- Step 1: Build -->
120
+ <block type="task" id="p2-step1-build" action="run-skill" desc="执行构建技能">
121
+ <field name="skill">speccrew-deploy-build</field>
122
+ <param name="platform_id">${platform_id}</param>
123
+ <param name="build_cmd">${build_cmd}</param>
124
+ <param name="iteration_path">${iteration_dir}</param>
125
+ <param name="project_root">${project_root}</param>
126
+ <event type="on-success" action="run-script">
127
+ <command>node ${update_progress_script} write-checkpoint --file ${iteration_dir}/05.deployment/.checkpoints.json --stage 05_deployment --checkpoint build_complete --passed true --description "Build completed successfully"</command>
128
+ </event>
129
+ <event type="on-failure" action="log">
130
+ <message>❌ Build failed. See error details above. Workflow stopped.</message>
131
+ </event>
132
+ </block>
133
+
134
+ <block type="gateway" id="p2-step1-gate" desc="构建结果检查">
135
+ <condition expression="build_result == 'success'">
136
+ <when true="proceed" false="abort"/>
137
+ </condition>
138
+ </block>
139
+
140
+ <!-- Step 2: Migrate (Conditional) -->
141
+ <block type="gateway" id="p2-step2-migrate-check" desc="检查是否有迁移脚本">
142
+ <condition expression="migration_scripts.length > 0">
143
+ <when true="execute-migrate" false="skip-migrate"/>
144
+ </condition>
145
+ </block>
146
+
147
+ <block type="task" id="p2-step2-migrate" action="run-skill" desc="执行数据库迁移技能">
148
+ <field name="skill">speccrew-deploy-migrate</field>
149
+ <param name="platform_id">${platform_id}</param>
150
+ <param name="migration_cmd">${migration_cmd}</param>
151
+ <param name="validation_cmd">${validation_cmd}</param>
152
+ <param name="migration_scripts">${migration_scripts}</param>
153
+ <param name="iteration_path">${iteration_dir}</param>
154
+ <param name="project_root">${project_root}</param>
155
+ <event type="on-success" action="run-script">
156
+ <command>node ${update_progress_script} write-checkpoint --file ${iteration_dir}/05.deployment/.checkpoints.json --stage 05_deployment --checkpoint migration_complete --passed true --description "Database migration completed"</command>
157
+ </event>
158
+ <event type="on-failure" action="log">
159
+ <message>❌ Database migration failed. See error details above. Workflow stopped.</message>
160
+ </event>
161
+ </block>
162
+
163
+ <block type="task" id="p2-step2-skip-migrate" action="log" desc="跳过数据库迁移">
164
+ <field name="message">⏭️ No migration scripts found, skipping database migration.</field>
165
+ </block>
166
+
167
+ <!-- Step 3: Startup -->
168
+ <block type="task" id="p2-step3-startup" action="run-skill" desc="执行应用启动技能">
169
+ <field name="skill">speccrew-deploy-startup</field>
170
+ <param name="platform_id">${platform_id}</param>
171
+ <param name="start_cmd">${start_cmd}</param>
172
+ <param name="health_url">${health_url}</param>
173
+ <param name="health_timeout">${health_timeout}</param>
174
+ <param name="iteration_path">${iteration_dir}</param>
175
+ <param name="project_root">${project_root}</param>
176
+ <param name="verification_mode">${verification_mode}</param>
177
+ <param name="process_name">${process_name}</param>
178
+ <param name="log_file">${log_file}</param>
179
+ <param name="success_pattern">${success_pattern}</param>
180
+ <event type="on-success" action="run-script">
181
+ <command>node ${update_progress_script} write-checkpoint --file ${iteration_dir}/05.deployment/.checkpoints.json --stage 05_deployment --checkpoint startup_complete --passed true --description "Application started successfully"</command>
182
+ </event>
183
+ <event type="on-failure" action="log">
184
+ <message>❌ Application startup failed. See error details above. Workflow stopped.</message>
185
+ </event>
186
+ </block>
187
+
188
+ <block type="gateway" id="p2-step3-gate" desc="启动结果检查">
189
+ <condition expression="startup_result == 'success'">
190
+ <when true="proceed" false="abort"/>
191
+ </condition>
192
+ </block>
193
+
194
+ <!-- Step 4: Smoke Test -->
195
+ <block type="task" id="p2-step4-smoke-test" action="run-skill" desc="执行冒烟测试技能">
196
+ <field name="skill">speccrew-deploy-smoke-test</field>
197
+ <param name="platform_id">${platform_id}</param>
198
+ <param name="base_url">${health_url}</param>
199
+ <param name="api_contract_paths">${api_contract_paths}</param>
200
+ <param name="iteration_path">${iteration_dir}</param>
201
+ <param name="project_root">${project_root}</param>
202
+ <param name="test_mode">${verification_mode}</param>
203
+ <param name="process_name">${process_name}</param>
204
+ <param name="log_file">${log_file}</param>
205
+ <event type="on-success" action="run-script">
206
+ <command>node ${update_progress_script} write-checkpoint --file ${iteration_dir}/05.deployment/.checkpoints.json --stage 05_deployment --checkpoint smoke_test_complete --passed true --description "Smoke test passed"</command>
207
+ </event>
208
+ <event type="on-failure" action="log">
209
+ <message>❌ Smoke test failed. See error details above. Workflow stopped.</message>
210
+ </event>
211
+ </block>
212
+
213
+ <block type="gateway" id="p2-step4-gate" desc="冒烟测试结果检查">
214
+ <condition expression="smoke_test_result == 'success'">
215
+ <when true="proceed" false="abort"/>
216
+ </condition>
217
+ </block>
218
+
219
+ </sequence>
220
+
221
+ <!-- ==================== PHASE 3: DEPLOYMENT SUMMARY (HARD STOP) ==================== -->
222
+ <sequence id="phase-3-summary">
223
+
224
+ <block type="checkpoint" id="p3-deployment-summary" desc="部署总结 - 用户确认点">
225
+ <field name="title">🛑 DEPLOYMENT SUMMARY — AWAITING CONFIRMATION</field>
226
+ <field name="content">
227
+ Platform: ${platform_id}
228
+ Iteration: ${iteration_dir}
229
+
230
+ Build:
231
+ ├── Status: ✅ SUCCESS
232
+ ├── Command: ${build_cmd}
233
+ └── Duration: ${build_duration}
234
+
235
+ Database Migration:
236
+ ├── Status: ${migration_status}
237
+ └── Scripts Executed: ${migration_count}
238
+
239
+ Application:
240
+ ├── Status: ✅ RUNNING
241
+ ├── URL: ${health_url}
242
+ └── Health: OK
243
+
244
+ Smoke Test:
245
+ ├── Status: ✅ PASSED
246
+ └── Endpoints Tested: ${smoke_test_count}
247
+
248
+ ➡️ Ready for testing phase. Confirm to proceed?
249
+ </field>
250
+ </block>
251
+
252
+ <block type="task" id="p3-confirm" action="confirm" desc="等待用户确认部署结果">
253
+ <field name="prompt">确认部署完成并进入测试阶段?</field>
254
+ <field name="options">确认,Yes,Proceed|Rejected,No,Issues found|Request details</field>
255
+ <output name="user_response" as="user_response"/>
256
+ </block>
257
+
258
+ <block type="gateway" id="p3-response-gate" desc="处理用户响应">
259
+ <condition expression="user_response == 'confirmed'">
260
+ <when true="finalize" false="abort"/>
261
+ </condition>
262
+ <event type="on-false" action="log">
263
+ <message>❌ User rejected deployment summary. Please specify issues found.</message>
264
+ </event>
265
+ </block>
266
+
267
+ <!-- Finalize -->
268
+ <block type="task" id="p3-finalize-checkpoint" action="run-script" desc="写入最终检查点">
269
+ <field name="command">node ${update_progress_script} write-checkpoint --file ${iteration_dir}/05.deployment/.checkpoints.json --stage 05_deployment --checkpoint deployment_complete --passed true --description "Deployment verified: all steps passed"</field>
270
+ </block>
271
+
272
+ <block type="task" id="p3-finalize-progress" action="run-script" desc="更新工作流进度">
273
+ <field name="command">node ${update_progress_script} update-workflow --file ${workspace_path}/WORKFLOW-PROGRESS.json --stage 05_deployment --status confirmed --output "05.deployment/deployment-report.md"</field>
274
+ </block>
275
+
276
+ </sequence>
277
+
278
+ <!-- ==================== OUTPUT ==================== -->
279
+ <block type="output" id="output-result">
280
+ <field name="status">success</field>
281
+ <field name="deployed">true</field>
282
+ <field name="checkpoints">${checkpoints}</field>
283
+ <field name="output_files">${output_files}</field>
284
+ <field name="summary">✅ Deployment Stage Complete. All deployment steps verified: Build SUCCESS, Migration SUCCESS/SKIPPED, Startup SUCCESS, Smoke Test PASSED. The system is now ready for the testing phase.</field>
285
+ <field name="next_steps">Proceed with System Test Agent (speccrew-test-manager)</field>
286
+ </block>
287
+
288
+ <!-- ==================== RULES ==================== -->
289
+ <block type="rule" id="rule-stage-gate">
290
+ <condition>Development stage must be confirmed before starting deployment</condition>
291
+ <enforcement>abort-on-failure</enforcement>
292
+ </block>
293
+
294
+ <block type="rule" id="rule-skill-sequence">
295
+ <condition>Skills MUST be executed in order: build → migrate → startup → smoke-test</condition>
296
+ <enforcement>fail-fast</enforcement>
297
+ </block>
298
+
299
+ <block type="rule" id="rule-no-direct-commands">
300
+ <condition>DO NOT execute build/migration/startup commands directly - always use skills</condition>
301
+ <enforcement>strict</enforcement>
302
+ </block>
303
+
304
+ <block type="rule" id="rule-script-enforcement">
305
+ <condition>All checkpoint and progress updates MUST use update-progress.js script</condition>
306
+ <enforcement>strict</enforcement>
307
+ </block>
308
+
309
+ </workflow>
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: speccrew-system-designer-orchestration
3
+ version: 1.0.0
4
+ description: System Designer 的核心编排技能,负责读取已确认的 Feature Spec 和 API Contract 文档,加载技术知识库,评估框架需求,调度各平台详细设计技能生成系统设计文档。支持 web、mobile、desktop 平台。
5
+ tools: Read, Write, Glob, Grep, Bash, Agent
6
+ ---
7
+
8
+ > **⚠️ MANDATORY EXECUTION PROTOCOL — READ BEFORE EXECUTING ANY BLOCK**
9
+ >
10
+ > **Step 1**: Load XML workflow specification: `speccrew-workspace/docs/rules/agentflow-spec.md` — this defines all block types and action-to-tool mappings
11
+ >
12
+ > **Step 2**: Execute this SKILL.md's XML workflow **block by block in document order**. For EVERY block, you MUST follow this 3-step cycle:
13
+ >
14
+ > ```
15
+ > 📋 Block [ID] (action=[action]) — [desc]
16
+ > 🔧 Tool: [which IDE tool to call]
17
+ > ✅ Result: [output or status]
18
+ > ```
19
+ >
20
+ > Action-to-tool mapping:
21
+ > - `action="run-skill"` → Invoke via **Skill tool** (pass the `<field name="skill">` value EXACTLY)
22
+ > - `action="run-script"` → Execute via **Terminal tool** (pass the `<field name="command">` value EXACTLY)
23
+ > - `action="dispatch-to-worker"` → Create **Task** via **Task tool** for `speccrew-task-worker`
24
+ > - `action="read-file"` → Read via **Read tool**
25
+ > - `action="log"` → Output message directly
26
+ > - `action="confirm"` → Present to user and wait for response
27
+ >
28
+ > **Step 3**: Execute ALL blocks sequentially without pausing (only stop at explicit `<event action="confirm">` blocks)
29
+
30
+ # System Designer Orchestration
31
+
32
+ System Designer 的核心编排技能,负责:
33
+
34
+ 1. **Stage Gate** - 验证 Feature Design 阶段已确认
35
+ 2. **Preparation** - 加载 Feature Registry,验证文件存在性
36
+ 3. **Resource Verification** - 验证技术知识库可用性
37
+ 4. **Framework Evaluation** - 调用框架评估技能(HARD STOP 等待用户确认)
38
+ 5. **Design Overview** - 生成 DESIGN-OVERVIEW.md
39
+ 6. **Platform Dispatch** - 分发各平台设计任务给 Worker
40
+ 7. **Joint Confirmation** - 联合确认所有设计文档
41
+
42
+ ## Invocation Method
43
+
44
+ **CRITICAL**: This skill is loaded directly by System Designer Agent — do NOT invoke via Worker Agent.
45
+
46
+ ```xml
47
+ <block type="task" action="run-skill" desc="System Designer orchestration workflow">
48
+ <field name="skill">speccrew-system-designer-orchestration</field>
49
+ </block>
50
+ ```
51
+
52
+ ## Input Parameters
53
+
54
+ | Parameter | Type | Required | Description |
55
+ |-----------|------|----------|-------------|
56
+ | `workspace_path` | string | Yes | speccrew-workspace root directory path |
57
+ | `iterations_dir` | string | Yes | iterations directory path |
58
+ | `update_progress_script` | string | Yes | Path to update-progress.js script |
59
+ | `current_iteration` | string | No | Current active iteration identifier |
60
+
61
+ ## Output
62
+
63
+ - `status` - Execution status (success / partial / failed)
64
+ - `output_files` - List of generated design documents
65
+ - `summary` - Execution summary
66
+ - `next_steps` - Suggested next actions
67
+
68
+ ---
69
+
70
+ ## AgentFlow Definition
71
+
72
+ <!-- @agentflow: workflow.agentflow.xml -->
73
+
74
+ ---
75
+
76
+ ## CONTINUOUS EXECUTION RULES
77
+
78
+ This skill MUST execute tasks continuously without unnecessary interruptions.
79
+
80
+ ### FORBIDDEN Interruptions
81
+
82
+ 1. DO NOT ask user "Should I continue?" after completing a subtask
83
+ 2. DO NOT suggest "Let me split this into batches" or "Let's do this in parts"
84
+ 3. DO NOT pause to list what you plan to do next — just do it
85
+ 4. DO NOT ask for confirmation before generating output files
86
+ 5. DO NOT warn about "large number of files" — proceed with generation
87
+ 6. DO NOT offer "Should I proceed with the remaining items?"
88
+
89
+ ### When to Pause (ONLY these cases)
90
+
91
+ 1. CHECKPOINT gates defined in workflow (user confirmation required by design)
92
+ 2. Ambiguous requirements that genuinely need clarification
93
+ 3. Unrecoverable errors that prevent further progress
94
+ 4. Security-sensitive operations (e.g., deleting existing files)
95
+
96
+ ### HARD STOP Checkpoints
97
+
98
+ This workflow has **mandatory HARD STOP** checkpoints at:
99
+ - **Phase 3.3**: Framework evaluation confirmation (user MUST approve)
100
+ - **Phase 6.1**: Joint design confirmation (user MUST approve all designs)
101
+
102
+ DO NOT proceed past these checkpoints without explicit user confirmation.