bms-speckit-plugin 6.8.0 → 6.10.0

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bms-speckit",
3
- "version": "6.8.0",
3
+ "version": "6.10.0",
4
4
  "description": "Chain-orchestrated development pipeline with 12-step autonomous workflow (brainstorm → research → constitution → specify → plan → tasks → analyze → implement with rolling QC → final quality gate → merge) and 9-dimension QC agent (code errors, security incl. SQL parameterization, deps, UX/UI, accessibility, deployment artifacts, cross-DB compatibility, real-DB integration testing, HOSxP business logic validation, brand/layout polish). Runs autonomously — never prompts for clarification.",
5
5
  "author": {
6
6
  "name": "manoirx"
@@ -250,17 +250,7 @@ chain_sequence:
250
250
 
251
251
  # ── Phase 2: Implementation (main context) ────────────────────────────────
252
252
 
253
- - step_id: step_9_compact
254
- skill_id: internal.compact
255
- action: execute
256
- phase: 2
257
- description: Free context window before implementation
258
- timeout_seconds: 30
259
- error_handling:
260
- on_failure: continue
261
- max_retries: 0
262
-
263
- - step_id: step_10_implement_with_rolling_qc
253
+ - step_id: step_9_implement_with_rolling_qc
264
254
  skill_id: speckit.implement
265
255
  action: execute_loop
266
256
  phase: 2
@@ -320,7 +310,7 @@ chain_sequence:
320
310
  validation pass. Apply improvements, re-run all tests, confirm zero
321
311
  regression. Only output FINISHED after everything is validated.
322
312
 
323
- - step_id: step_11_final_quality_gate
313
+ - step_id: step_10_final_quality_gate
324
314
  agent_id: bms-speckit:quality-control
325
315
  action: dispatch_agent
326
316
  phase: 2
@@ -355,7 +345,7 @@ chain_sequence:
355
345
  Proceed to merge unless unfixed build errors, test failures, or
356
346
  critical security vulnerabilities remain.
357
347
 
358
- - step_id: step_12_merge
348
+ - step_id: step_11_merge
359
349
  skill_id: internal.git_merge_to_main
360
350
  action: execute
361
351
  phase: 2
@@ -396,6 +386,6 @@ metadata:
396
386
  reason: Preserve main context window for implementation
397
387
  phase_2:
398
388
  name: Implementation & Verification & Merge
399
- steps: [step_9 through step_12]
389
+ steps: [step_9 through step_11]
400
390
  execution: main_context
401
391
  reason: Implementation needs full tool access and ralph-loop
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bms-speckit-plugin",
3
- "version": "6.8.0",
3
+ "version": "6.10.0",
4
4
  "description": "Chain-orchestrated development pipeline: /bms-speckit takes requirements and runs brainstorm → constitution → specify → plan → tasks → analyze → implement → verify with per-step error handling",
5
5
  "files": [
6
6
  ".claude-plugin/",
@@ -48,10 +48,9 @@ TaskCreate: "Step 5: Specify — feature specification"
48
48
  TaskCreate: "Step 6: Plan — implementation plan"
49
49
  TaskCreate: "Step 7: Tasks — task list"
50
50
  TaskCreate: "Step 8: Analyze — consistency check"
51
- TaskCreate: "Step 9: Compact context"
52
- TaskCreate: "Step 10: Implement with rolling QC"
53
- TaskCreate: "Step 11: Final quality gate"
54
- TaskCreate: "Step 12: Merge to main"
51
+ TaskCreate: "Step 9: Implement with rolling QC"
52
+ TaskCreate: "Step 10: Final quality gate"
53
+ TaskCreate: "Step 11: Merge to main"
55
54
  ```
56
55
 
57
56
  Then output a message to the user:
@@ -74,14 +73,14 @@ You are running the BMS Speckit specification and planning chain. Execute each s
74
73
 
75
74
  **IMPORTANT — Progress reporting:** Before starting each step, output a progress message to the user in this format:
76
75
 
77
- `[Step N/12] step_name — description...`
76
+ `[Step N/11] step_name — description...`
78
77
 
79
78
  After completing each step, output:
80
79
 
81
- `[Step N/12] DONE — brief result summary`
80
+ `[Step N/11] DONE — brief result summary`
82
81
 
83
82
  ### Step 1 — Brainstorm `[on_failure: STOP]`
84
- - **Progress:** Output `[Step 1/12] Brainstorm — exploring requirements and design...`
83
+ - **Progress:** Output `[Step 1/11] Brainstorm — exploring requirements and design...`
85
84
  - **Skill:** `superpowers.brainstorm`
86
85
  - **Input:** "$ARGUMENTS"
87
86
  - **Purpose:** Explore intent, requirements, design alternatives, and edge cases
@@ -89,10 +88,10 @@ After completing each step, output:
89
88
  - **Output:** Detailed specification document
90
89
  - **Timeout:** 300s
91
90
  - **Post-action:** Commit all files and push. Message: `feat(speckit): brainstorm — explore requirements and design`
92
- - **Done:** Output `[Step 1/12] DONE — brainstorm complete`
91
+ - **Done:** Output `[Step 1/11] DONE — brainstorm complete`
93
92
 
94
93
  ### Step 2 — Research `[on_failure: CONTINUE]`
95
- - **Progress:** Output `[Step 2/12] Research — surveying best practices and technologies...`
94
+ - **Progress:** Output `[Step 2/11] Research — surveying best practices and technologies...`
96
95
  - **Purpose:** Research external best practices, proven patterns, recommended libraries/frameworks, and informative reference material relevant to the user's requirement. This grounds the pipeline in current industry knowledge before specification begins.
97
96
  - **Tools:** Use `WebSearch` and `mcp__plugin_context7_context7__resolve-library-id` + `mcp__plugin_context7_context7__query-docs` for library documentation
98
97
  - **Timeout:** 300s
@@ -111,25 +110,25 @@ After completing each step, output:
111
110
  - **Security/compliance notes** — standards to adhere to (if applicable)
112
111
  - **Prior art** — reference implementations or architectures found
113
112
  - **Post-action:** Commit all files and push. Message: `feat(speckit): research — best practices and technology survey`
114
- - **Done:** Output `[Step 2/12] DONE — research brief created (N topics researched)`
113
+ - **Done:** Output `[Step 2/11] DONE — research brief created (N topics researched)`
115
114
 
116
115
  ### Step 3 — Constitution `[on_failure: STOP]`
117
- - **Progress:** Output `[Step 3/12] Constitution — establishing engineering principles...`
116
+ - **Progress:** Output `[Step 3/11] Constitution — establishing engineering principles...`
118
117
  - **Skill:** `speckit.constitution`
119
118
  - **Input:** "Establish and enforce a comprehensive set of engineering principles that prioritize high code quality, strict adherence to Test-Driven Development (TDD) practices, and well-defined testing standards across unit, component, integration, and API levels to ensure system reliability and maintainability, maintain a consistent, user-friendly, and professional user interface aligned with strong user experience (UX) guidelines, optimize application performance through efficient architecture and resource management; enforce disciplined version control practices with frequent, atomic commits to minimize risk and improve traceability, promote the development and reuse of modular components and functions while centralizing business logic to avoid duplication and ensure consistency, provide clear, informative user feedback and progress reporting throughout system interactions, and leverage all available tools, frameworks, and domain-specific expertise to support developers in delivering robust, scalable, and high-quality applications."
120
119
  - **Output:** `specs/constitution.md`
121
120
  - **Timeout:** 300s
122
- - **Done:** Output `[Step 3/12] DONE — constitution created`
121
+ - **Done:** Output `[Step 3/11] DONE — constitution created`
123
122
 
124
123
  ### Step 4 — CLAUDE.md Sync `[on_failure: CONTINUE]`
125
- - **Progress:** Output `[Step 4/12] CLAUDE.md Sync — verifying compliance...`
124
+ - **Progress:** Output `[Step 4/11] CLAUDE.md Sync — verifying compliance...`
126
125
  - **Action:** Read CLAUDE.md and verify it complies with the constitution in `specs/constitution.md`. Update CLAUDE.md if it conflicts with or is missing constitution rules.
127
126
  - **Timeout:** 120s
128
127
  - **Post-action:** Commit all files and push. Message: `feat(speckit): add constitution and sync CLAUDE.md`
129
- - **Done:** Output `[Step 4/12] DONE — CLAUDE.md synced`
128
+ - **Done:** Output `[Step 4/11] DONE — CLAUDE.md synced`
130
129
 
131
130
  ### Step 5 — Specify `[on_failure: STOP]`
132
- - **Progress:** Output `[Step 5/12] Specify — creating feature specification...`
131
+ - **Progress:** Output `[Step 5/11] Specify — creating feature specification...`
133
132
  - **Skill:** `speckit.specify`
134
133
  - **Input:** Use the detailed specification output from Step 1 (brainstorm) **enriched with the research findings from Step 2**. Include recommended libraries, best practices, and compliance requirements from the research brief in the specification input.
135
134
  - **Knowledge lookup:** Use `mcp__bms-knowledge-mcp__search_knowledge` to search the `hosxp` collection for exact table names, field names, data types, and relationships needed by this feature. Reference actual HOSxP data structures in the spec.
@@ -139,42 +138,126 @@ After completing each step, output:
139
138
  - **Timeout:** 300s
140
139
  - **Retry:** up to 2 attempts
141
140
  - **Post-action:** Commit all files and push. Message: `feat(speckit): add feature specification`
142
- - **Done:** Output `[Step 5/12] DONE — specification created`
141
+ - **Done:** Output `[Step 5/11] DONE — specification created`
143
142
 
144
143
  ### Step 6 — Plan `[on_failure: STOP]`
145
- - **Progress:** Output `[Step 6/12] Plan — generating implementation plan...`
144
+ - **Progress:** Output `[Step 6/11] Plan — generating implementation plan...`
146
145
  - **Skill:** `speckit.plan`
147
146
  - **Input:** reads from step 5 artifacts
148
147
  - **Output:** `specs/*/plan.md`
149
148
  - **Timeout:** 300s
150
149
  - **Retry:** up to 2 attempts
151
150
  - **Post-action:** Commit all files and push. Message: `feat(speckit): add implementation plan`
152
- - **Done:** Output `[Step 6/12] DONE — plan created`
151
+ - **Done:** Output `[Step 6/11] DONE — plan created`
153
152
 
154
153
  ### Step 7 — Tasks `[on_failure: STOP]`
155
- - **Progress:** Output `[Step 7/12] Tasks — generating task list...`
154
+ - **Progress:** Output `[Step 7/11] Tasks — generating task list...`
156
155
  - **Skill:** `speckit.tasks`
157
156
  - **Input:** reads from step 6 artifacts
158
157
  - **Output:** `specs/*/tasks.md`
159
158
  - **Timeout:** 300s
160
159
  - **Retry:** up to 2 attempts
161
160
  - **Post-action:** Commit all files and push. Message: `feat(speckit): add task list`
162
- - **Done:** Output `[Step 7/12] DONE — N tasks created`
161
+ - **Done:** Output `[Step 7/11] DONE — N tasks created`
163
162
 
164
163
  ### Step 8 — Analyze `[on_failure: CONTINUE]`
165
- - **Progress:** Output `[Step 8/12] Analyze — cross-artifact consistency check...`
164
+ - **Progress:** Output `[Step 8/11] Analyze — cross-artifact consistency check...`
166
165
  - **Skill:** `speckit.analyze`
167
166
  - **Purpose:** Cross-artifact consistency check (spec ↔ plan ↔ tasks ↔ research). Non-destructive — report only.
168
167
  - **Timeout:** 300s
169
168
  - **Post-action:** Commit all files and push. Message: `feat(speckit): add cross-artifact analysis report`
170
- - **Done:** Output `[Step 8/12] DONE — analysis complete`
169
+ - **Done:** Output `[Step 8/11] DONE — analysis complete`
170
+
171
+ ### Completion Contract — DO NOT RETURN UNTIL THIS IS SATISFIED
172
+
173
+ Before returning to the main agent, perform these verification checks yourself using Bash/Read. Do NOT return a success message if any file is missing — exploration-only returns are a bug, not an acceptable outcome.
174
+
175
+ 1. **Identify the feature directory.** Run `ls -dt specs/*/ | head -1` — this is your feature path (e.g. `specs/003-my-feature/`). Capture the feature slug (basename without trailing slash).
176
+ 2. **Verify each required artifact exists and is non-empty** using `test -s <file>`:
177
+ - `specs/constitution.md`
178
+ - `specs/<slug>/research.md`
179
+ - `specs/<slug>/spec.md`
180
+ - `specs/<slug>/plan.md`
181
+ - `specs/<slug>/tasks.md`
182
+ 3. **Verify commits were made:** `git log --oneline -n 12` should show at least 5 speckit commits (brainstorm, research, constitution, specify, plan, tasks, analyze).
183
+ 4. **If any artifact is missing or empty, do NOT return failure — write it directly.** The `Skill` tool sometimes fails inside subagents (tool-access restrictions, one-shot mode). Your job is to ensure the artifact exists on disk regardless of how it got there:
184
+ - Read the relevant template from `.specify/templates/` (spec-template.md, plan-template.md, tasks-template.md)
185
+ - Fill it in using the in-memory content you already produced from brainstorm/research/specify
186
+ - `Write` the file, `git add`, `git commit`, `git push`
187
+ - Re-run the verification check
188
+ 5. **Return format — the LAST LINE of your response must be exactly this structured marker** (the main agent parses it; no prose after it):
189
+
190
+ `FEATURE=<slug>|SPEC=<path>|PLAN=<path>|TASKS=<path>|STATUS=OK`
191
+
192
+ If after the fallback write in step 4 some artifact is still missing, return:
193
+
194
+ `FEATURE=<slug-or-unknown>|MISSING=<comma-separated-list>|STATUS=INCOMPLETE`
195
+ """
196
+
197
+ ### Phase 1 → Phase 2 Handoff — Verification Gate (MANDATORY)
198
+
199
+ The subagent is one-shot — the Task tool dispatches it, waits, and returns a single text response. There is no SendMessage chaining. So the main agent **must verify artifacts exist on disk before proceeding**. A subagent that did only read-only exploration will return success-looking prose but leave `specs/*/` empty — do not trust the prose.
200
+
201
+ **Step A — Parse the subagent marker.**
202
+ Find the line beginning with `FEATURE=` in the subagent's output. Extract `<slug>`, `<spec>`, `<plan>`, `<tasks>`, `<status>`. If no marker is present, treat as `STATUS=INCOMPLETE`.
203
+
204
+ **Step B — Verify artifacts on disk from the main context** (the subagent lies sometimes):
205
+
206
+ ```
207
+ Bash: test -s specs/constitution.md \
208
+ && test -s specs/<slug>/spec.md \
209
+ && test -s specs/<slug>/plan.md \
210
+ && test -s specs/<slug>/tasks.md \
211
+ && echo "GATE=OK" || echo "GATE=MISSING"
212
+ ```
213
+
214
+ **Step C — Branch:**
215
+ - `GATE=OK` and marker `STATUS=OK` → verification passed. Proceed to Step 9.
216
+ - Otherwise → run **Recovery Protocol**.
217
+
218
+ #### Recovery Protocol
219
+
220
+ **Attempt 1 — Retry subagent with a stricter recovery prompt.**
221
+
222
+ Re-dispatch via Task tool:
171
223
 
172
- After all steps complete, return: the feature name, number of tasks created, and the path to tasks.md.
173
224
  """
225
+ RECOVERY RUN. A previous Phase 1 execution returned without producing artifacts on disk at `specs/<slug>/`. The existing files may be partial. Your job now is to produce the missing artifacts — not to re-explore, not to re-research, not to ask questions.
226
+
227
+ Required outputs (all must exist and be non-empty before you return):
228
+ - specs/constitution.md
229
+ - specs/<slug>/research.md
230
+ - specs/<slug>/spec.md
231
+ - specs/<slug>/plan.md
232
+ - specs/<slug>/tasks.md
233
+
234
+ Rules:
235
+ 1. Read `$ARGUMENTS` and every existing file under `specs/` to pick up where the prior run left off.
236
+ 2. If the `Skill` tool fails or is unavailable, do NOT retry it — `Write` the artifact directly using `.specify/templates/*.md` as the structure and content you know from the user requirement as the body.
237
+ 3. Resolve every ambiguity with a documented default in an `## Assumptions` section. Never emit `[NEEDS CLARIFICATION]` markers.
238
+ 4. After each file you write, `git add && git commit && git push` with message `feat(speckit): <step>`.
239
+ 5. Before returning, `test -s` each required file and `git log --oneline -n 12` to confirm.
240
+ 6. Return with the structured marker `FEATURE=<slug>|SPEC=<path>|PLAN=<path>|TASKS=<path>|STATUS=OK` as your final line, no prose after.
241
+ """
242
+
243
+ After the retry returns, re-run Step B. If `GATE=OK`, proceed to Step 9.
244
+
245
+ **Attempt 2 — Main-context inline fallback** (runs only if the retry also fails).
174
246
 
175
- After the subagent completes, update tasks 1-8 as completed using TaskUpdate, then output:
247
+ Execute steps 5–8 directly in the main agent using Write/Edit/Bash, NOT via Task subagent and NOT via Skill tool:
176
248
 
177
- > Phase 1 complete. N tasks created at specs/feature-name/tasks.md
249
+ 1. Read `.specify/templates/spec-template.md`, `.specify/templates/plan-template.md`, `.specify/templates/tasks-template.md`.
250
+ 2. Read `$ARGUMENTS` and any partial artifacts already on disk under `specs/`.
251
+ 3. If the feature branch does not exist yet: `.specify/scripts/bash/create-new-feature.sh "$ARGUMENTS" --json --short-name <derived-slug> "$ARGUMENTS"` to create branch + spec directory.
252
+ 4. `Write` `specs/<slug>/spec.md` filling in each template section from the requirement. Use `## Assumptions` for defaults. Zero `[NEEDS CLARIFICATION]` markers allowed.
253
+ 5. `Write` `specs/<slug>/plan.md` with ordered steps, file paths, component boundaries, test strategy, rollback considerations.
254
+ 6. `Write` `specs/<slug>/tasks.md` with atomic, dependency-ordered tasks, each with acceptance criteria.
255
+ 7. Commit each as written: `git add <file> && git commit -m "feat(speckit): <step> (main-context fallback)" && git push`.
256
+ 8. Re-run Step B verification. If still `GATE=MISSING`, halt the pipeline with a clear error listing the missing files — do NOT proceed to Phase 2 with a broken spec tree.
257
+
258
+ Only after the Verification Gate passes (`GATE=OK`), update tasks 1–8 as completed using TaskUpdate, then output:
259
+
260
+ > Phase 1 complete. N tasks at specs/<slug>/tasks.md
178
261
  > Starting Phase 2 (implementation)...
179
262
 
180
263
  ---
@@ -183,13 +266,8 @@ After the subagent completes, update tasks 1-8 as completed using TaskUpdate, th
183
266
 
184
267
  > **Execution context:** Runs in main context after subagent completes.
185
268
 
186
- ### Step 9 — Compact `[on_failure: CONTINUE]`
187
- - **Progress:** Output `[Step 9/12] Compactfreeing context window...`
188
- - **Action:** Run `/compact` to free context window before implementation.
189
- - **Done:** Update task 9 as completed.
190
-
191
- ### Step 10 — Implement with Rolling QC `[on_failure: CONTINUE | max_retries: 3]`
192
- - **Progress:** Output `[Step 10/12] Implement — starting rolling QC loop (N tasks)...`
269
+ ### Step 9 — Implement with Rolling QC `[on_failure: CONTINUE | max_retries: 3]`
270
+ - **Progress:** Output `[Step 9/11] Implementstarting rolling QC loop (N tasks)...`
193
271
  - **Engine:** ralph-loop
194
272
  - **Input:** Use the **tasks.md path returned by the Phase 1 subagent** (e.g. `specs/my-feature/tasks.md`). Replace `{TASKS_PATH}` below with the actual path.
195
273
  - **Completion promise:** `FINISHED`
@@ -220,10 +298,10 @@ After the subagent completes, update tasks 1-8 as completed using TaskUpdate, th
220
298
 
221
299
  `/ralph-loop:ralph-loop "systematically execute speckit.implement via the Skill tool to complete every task defined in {TASKS_PATH} with strict adherence to specification requirements. IMPORTANT: apply rolling QC after EACH task — after implementing a task run build and fix build errors, run linter and fix lint errors, run ALL tests (not just new ones) and fix failures, check for hardcoded secrets and injection vulnerabilities in code you just wrote, verify UI code has actionable error messages and loading states. RUNTIME SAFETY: always add explicit return type annotations on data transformation functions, never spread or iterate a function return value without verifying it returns the expected collection type, use strict equality and null guards for external data, write tests that execute data transformers and verify output type and shape. SQL VALIDATION: before writing any SQL statement verify exact table and column names exist via bms-session-mcp-server list_tables/describe_table or bms-knowledge-mcp search_knowledge with hosxp collection, never guess column names, after writing test each query with EXPLAIN or LIMIT 0 via the query tool to confirm it executes without error. INTEGRATION TESTING: for every task that touches database or data-dependent logic run an integration test using the real bms-session-mcp-server query tool to execute the feature's SQL against the real HOSxP database (not mocks), flow the result through the actual code path, assert on concrete properties (row count, columns populated, types match, masked fields handled), use small LIMIT to avoid large result sets. If integration test fails investigate the real cause and fix it — do not relax the assertion. BUSINESS LOGIC: before writing any SQL state the business question it answers then consult bms-knowledge-mcp search_knowledge on hosxp collection to verify canonical table selection, soft-delete filters, correct date columns, join keys (hn/vn/an); use graph_search for multi-table relationships; for reporting queries also check moph or nhso collections for regulatory rules; cite the HOSxP convention in a code comment next to the query. Only commit when build plus lint plus tests all pass with zero errors then proceed to next task. Report progress to the user after each task: output [Task N/total] DONE — task_name. Do NOT batch QC at the end. Maintain atomic commits after each successful task with clear traceability, avoid requesting confirmation and proceed autonomously, once all tasks are implemented invoke speckit.analyze via the Skill tool to perform a full validation pass, automatically apply all recommended improvements or corrections, re-run all tests to confirm stability and zero regression, and only output <promise>FINISHED</promise> after every task is fully completed, validated, and aligned with production-grade quality standards" --completion-promise "FINISHED" --max-iterations 10`
222
300
 
223
- - **Done:** Update task 10 as completed. Output `[Step 10/12] DONE — all tasks implemented and verified`
301
+ - **Done:** Update task 9 as completed. Output `[Step 9/11] DONE — all tasks implemented and verified`
224
302
 
225
- ### Step 11 — Final Quality Gate `[on_failure: STOP | max_retries: 3]`
226
- - **Progress:** Output `[Step 11/12] Final QC — running comprehensive quality audit...`
303
+ ### Step 10 — Final Quality Gate `[on_failure: STOP | max_retries: 3]`
304
+ - **Progress:** Output `[Step 10/11] Final QC — running comprehensive quality audit...`
227
305
  - **Agent:** Dispatch `bms-speckit:quality-control` agent
228
306
  - **Purpose:** Final comprehensive sweep. Since inline QC already caught per-task issues, this focuses on **cross-cutting concerns** that can only be detected across the full codebase.
229
307
  - **Timeout:** 900s
@@ -240,15 +318,15 @@ After the subagent completes, update tasks 1-8 as completed using TaskUpdate, th
240
318
  - **H. Integration testing (real database, end-to-end)** — run actual integration tests against the real HOSxP database via `bms-session-mcp-server`. For every DB-touching feature verify there's an integration test that: executes the feature's real SQL via the `query` tool, flows real data through the actual code path (transformers, filters, UI components), asserts on concrete properties (row count range, column presence, type correctness, masked field handling, Thai encoding). Create missing integration tests. Never fix failures by mocking responses, skipping tests, or loosening assertions. Flag slow queries for user review. (skipped if bms-session-mcp-server is not available)
241
319
  - **I. Business logic semantic validation** — verify every SQL statement actually retrieves the correct data per the user's intent and HOSxP conventions, not just that it runs without error. For each SQL: state the business question it should answer, cross-reference `mcp__bms-knowledge-mcp__search_knowledge` on `hosxp` collection for canonical table selection, soft-delete/status filters, correct date columns, join keys (hn/vn/an), code system usage (ICD-10/LOINC/TMT). Use `graph_search` for multi-table relationship questions. Check regulatory compliance via `moph` and `nhso` collections (43 files reporting, reimbursement rules). Verify Thai conventions (Buddhist calendar, CID validation, pre-masked fields). Fix semantic mismatches with code comments citing the HOSxP convention. Flag ambiguous intent for user review. (skipped if bms-knowledge-mcp is not available)
242
320
  - The agent fixes everything it can. Major dependency updates are flagged for user review.
243
- - **Completion rule:** When the QC agent returns its report, proceed to Step 12 **unless** the report contains unfixed build errors, unfixed test failures, or unfixed critical security vulnerabilities. Informational findings, flagged-for-review items, and already-fixed issues do NOT block progression. If uncertain, proceed — the QC agent already fixed what it could.
321
+ - **Completion rule:** When the QC agent returns its report, proceed to Step 11 **unless** the report contains unfixed build errors, unfixed test failures, or unfixed critical security vulnerabilities. Informational findings, flagged-for-review items, and already-fixed issues do NOT block progression. If uncertain, proceed — the QC agent already fixed what it could.
244
322
  - **Post-action:** Commit all fixes and push. Message: `fix(speckit): final QC — security, deps, UX consistency, accessibility`
245
- - **Done:** Update task 11 as completed. Output `[Step 11/12] DONE — quality gate passed`
323
+ - **Done:** Update task 10 as completed. Output `[Step 10/11] DONE — quality gate passed`
246
324
 
247
- ### Step 12 — Merge to Main `[on_failure: STOP]`
248
- - **Progress:** Output `[Step 12/12] Merge — merging to main branch...`
325
+ ### Step 11 — Merge to Main `[on_failure: STOP]`
326
+ - **Progress:** Output `[Step 11/11] Merge — merging to main branch...`
249
327
  - **Action:** Switch to main branch, merge the feature branch (fast-forward if possible), push main to remote, then clean up the feature branch.
250
328
  - **Timeout:** 120s
251
- - **Done:** Update task 12 as completed. Output:
329
+ - **Done:** Update task 11 as completed. Output:
252
330
 
253
331
  > Pipeline complete! Feature merged to main.
254
332
 
@@ -259,15 +337,15 @@ After the subagent completes, update tasks 1-8 as completed using TaskUpdate, th
259
337
  ```
260
338
  Phase 1 (subagent) Phase 2 (main context)
261
339
  ────────────────────────────── ──────────────────────────────
262
- Step 1: brainstorm ──STOP── commit Step 9: compact
263
- + knowledge search (hosxp) Step 10: implement + rolling QC
264
- Step 2: research ────────── commit ┌─ implement task ─┐
265
- + WebSearch + context7 │ inline QC
266
- Step 3: constitution ─STOP─┐ │ fix commit │
267
- Step 4: CLAUDE.md sync ───┘ commit └─ next task ──────┘
268
- Step 5: specify ──────STOP── commit Step 11: final QC agent ── commit
269
- + knowledge search (hosxp) (security/deps/UX/a11y/deploy)
270
- Step 6: plan ─────────STOP── commit Step 12: merge to main + push
340
+ Step 1: brainstorm ──STOP── commit Step 9: implement + rolling QC
341
+ + knowledge search (hosxp) ┌─ implement task ─┐
342
+ Step 2: research ────────── commit │ inline QC │
343
+ + WebSearch + context7 │ fix → commit
344
+ Step 3: constitution ─STOP─┐ └─ next task ──────┘
345
+ Step 4: CLAUDE.md sync ───┘ commit Step 10: final QC agent ── commit
346
+ Step 5: specify ──────STOP── commit (security/deps/UX/a11y/deploy)
347
+ + knowledge search (hosxp) Step 11: merge to main + push
348
+ Step 6: plan ─────────STOP── commit
271
349
  Step 7: tasks ────────STOP── commit
272
350
  Step 8: analyze ──────────── commit
273
351
  ```