diff --git a/src/bmm/agents/dev.agent.yaml b/src/bmm/agents/dev.agent.yaml
index 5807f8ec..6dc73c8d 100644
--- a/src/bmm/agents/dev.agent.yaml
+++ b/src/bmm/agents/dev.agent.yaml
@@ -49,6 +49,10 @@ agent:
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml"
description: "[CR] Code Review: Initiate a comprehensive code review across multiple quality facets. For best results, use a fresh context and a different quality LLM if available"
+ - trigger: MAR or fuzzy match on multi-agent-review
+ workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/multi-agent-review/workflow.yaml"
+ description: "[MAR] Multi-Agent Review - fresh context review with smart agent selection (2-6 agents based on story risk)"
+
- trigger: RVS or fuzzy match on revalidate-story
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/revalidate-story/workflow.yaml"
description: "[RVS] Revalidate Story - clear checkboxes and re-verify against codebase (detect ghost features and gaps)"
diff --git a/src/bmm/agents/sm.agent.yaml b/src/bmm/agents/sm.agent.yaml
index efd97e3e..fbe53b34 100644
--- a/src/bmm/agents/sm.agent.yaml
+++ b/src/bmm/agents/sm.agent.yaml
@@ -54,3 +54,7 @@ agent:
- trigger: MIG or fuzzy match on migrate
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/migrate-to-github/workflow.yaml"
description: "[MIG] Migrate to GitHub Issues - production-grade migration with reliability guarantees"
+
+ - trigger: MAR or fuzzy match on multi-agent-review
+ workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/multi-agent-review/workflow.yaml"
+ description: "[MAR] Multi-Agent Review - fresh context code review with smart agent selection (2-6 agents based on risk)"
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-01-init.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-01-init.md
index e05db268..45fe951e 100644
--- a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-01-init.md
+++ b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-01-init.md
@@ -80,6 +80,13 @@ After workflow completes, verify story was created:
test -f "{story_file}" && echo "✅ Story created successfully" || echo "❌ Story creation failed - HALT"
```
+**If story was created, set flag for smart gap analysis:**
+```yaml
+# Set state flag to skip redundant gap analysis in step 2
+story_just_created: true
+gap_analysis_completed: true # Already done in create-story-with-gap-analysis
+```
+
**If story exists:**
```
✅ Story file found: {story_file}
@@ -117,6 +124,10 @@ If total_task_count == 0:
true
+ # Set flag for smart gap analysis (v1.5.0)
+ story_just_created: true
+ gap_analysis_completed: true
+
Then re-load story and continue.
```
@@ -143,6 +154,10 @@ If story file missing required sections (Tasks, Acceptance Criteria):
true
+ # Set flag for smart gap analysis (v1.5.0)
+ story_just_created: true
+ gap_analysis_completed: true
+
Then re-load story and continue.
**If all checks pass:**
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-02-pre-gap-analysis.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-02-pre-gap-analysis.md
index 65e1cc03..07a60d93 100644
--- a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-02-pre-gap-analysis.md
+++ b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-02-pre-gap-analysis.md
@@ -1,20 +1,21 @@
---
-name: 'step-02-pre-gap-analysis'
-description: 'Validate tasks against codebase reality - critical for brownfield development'
+name: 'step-02-smart-gap-analysis'
+description: 'Smart gap analysis - skip if story just created with gap analysis in step 1'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/4-implementation/super-dev-pipeline'
# File References
-thisStepFile: '{workflow_path}/steps/step-02-pre-gap-analysis.md'
-nextStepFile: '{workflow_path}/steps/step-03-implement.md'
+thisStepFile: '{workflow_path}/steps/step-02-smart-gap-analysis.md'
+stateFile: '{state_file}'
+nextStepFile: '{workflow_path}/steps/step-03-write-tests.md'
# Role Switch
role: dev
agentFile: '{project-root}/_bmad/bmm/agents/dev.md'
---
-# Step 2: Pre-Gap Analysis
+# Step 2: Smart Gap Analysis
## ROLE SWITCH
@@ -44,6 +45,29 @@ Validate all story tasks against the actual codebase:
## EXECUTION SEQUENCE
+### 0. Smart Gap Analysis Check (NEW v1.5.0)
+
+**Check if gap analysis already performed in step 1:**
+
+```yaml
+# Read state from step 1
+Read {stateFile}
+
+If story_just_created == true:
+ Display:
+ ✅ GAP ANALYSIS SKIPPED
+
+ Story was just created via /create-story-with-gap-analysis in step 1.
+ Gap analysis already performed as part of story creation.
+
+ Skipping redundant gap analysis.
+ Proceeding directly to test writing (step 3).
+
+ Exit step 2
+```
+
+**If story was NOT just created, proceed with gap analysis below.**
+
### 1. Load Story Tasks
Read story file and extract all tasks (checked and unchecked):
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-03-implement.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-04-implement.md
similarity index 100%
rename from src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-03-implement.md
rename to src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-04-implement.md
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-04-post-validation.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-05-post-validation.md
similarity index 100%
rename from src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-04-post-validation.md
rename to src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-05-post-validation.md
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-05-code-review.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-07-code-review.md
similarity index 75%
rename from src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-05-code-review.md
rename to src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-07-code-review.md
index 314c26c8..97e41975 100644
--- a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-05-code-review.md
+++ b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-07-code-review.md
@@ -1,21 +1,23 @@
---
-name: 'step-05-code-review'
-description: 'Adversarial code review finding 3-10 specific issues'
+name: 'step-07-code-review'
+description: 'Multi-agent code review with fresh context and variable agent count'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/4-implementation/super-dev-pipeline'
+multi_agent_review_workflow: '{project-root}/_bmad/bmm/workflows/4-implementation/multi-agent-review'
# File References
-thisStepFile: '{workflow_path}/steps/step-05-code-review.md'
-nextStepFile: '{workflow_path}/steps/step-06-complete.md'
-checklist: '{workflow_path}/checklists/code-review.md'
+thisStepFile: '{workflow_path}/steps/step-07-code-review.md'
+nextStepFile: '{workflow_path}/steps/step-08-review-analysis.md'
+stateFile: '{state_file}'
+reviewReport: '{sprint_artifacts}/review-{story_id}.md'
# Role (continue as dev, but reviewer mindset)
role: dev
-requires_fresh_context: true # In batch mode, checkpoint here for unbiased review
+requires_fresh_context: true # CRITICAL: Review MUST happen in fresh context
---
-# Step 6: Code Review
+# Step 7: Code Review (Multi-Agent with Fresh Context)
## ROLE CONTINUATION - ADVERSARIAL MODE
@@ -36,44 +38,46 @@ Perform adversarial code review:
5. Fix all issues
6. Verify tests still pass
-### Multi-Agent Review Enhancement (NEW v1.3.0)
+### Multi-Agent Review with Fresh Context (NEW v1.5.0)
-**Check complexity level from state file:**
+**All reviews now use multi-agent approach with variable agent counts based on risk.**
+
+**CRITICAL: Review in FRESH CONTEXT (unbiased perspective)**
```
-If complexity_level == "complex":
- Display:
- 🔒 COMPLEX STORY - Enhanced Review Recommended
+⚠️ CHECKPOINT: Starting fresh review session
- This story involves high-risk changes. Consider using:
- /multi-agent-review for multi-perspective code review
+Multi-agent review will run in NEW context to avoid bias from implementation.
- Multi-agent review provides:
- - Architecture review by architect-reviewer agent
- - Security audit by auditor-security agent
- - Performance analysis by optimizer-performance agent
- - Dynamic agent selection based on changed files
+Agent count based on complexity level:
+- MICRO: 2 agents (Security + Code Quality)
+- STANDARD: 4 agents (+ Architecture + Testing)
+- COMPLEX: 6 agents (+ Performance + Domain Expert)
- [M] Use multi-agent review (recommended for complex)
- [S] Use standard adversarial review
- [B] Use both (most thorough)
-
-If complexity_level == "standard" AND mode == "interactive":
- Display:
- ⚙️ STANDARD STORY - Review Options
-
- [S] Standard adversarial review (default)
- [M] Multi-agent review (optional enhancement)
+Smart agent selection analyzes changed files to select most relevant reviewers.
```
-**If multi-agent review selected:**
-- Invoke `/multi-agent-review` slash command
-- Capture review findings
-- Merge with standard review categories
-- Continue with issue fixing
+**Invoke multi-agent-review workflow:**
-**If standard review selected:**
-- Continue with adversarial review below
+```xml
+
+ {story_id}
+ {complexity_level}
+ true
+
+```
+
+**The multi-agent-review workflow will:**
+1. Create fresh context (new session, unbiased)
+2. Analyze changed files
+3. Select appropriate agents based on code changes
+4. Run parallel reviews from multiple perspectives
+5. Aggregate findings with severity ratings
+6. Return comprehensive review report
+
+**After review completes:**
+- Review report saved to: `{sprint_artifacts}/review-{story_id}.md`
+- Proceed to step 8 (Review Analysis) to categorize findings
## MANDATORY EXECUTION RULES
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-09-fix-issues.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-09-fix-issues.md
new file mode 100644
index 00000000..50ce785f
--- /dev/null
+++ b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-09-fix-issues.md
@@ -0,0 +1,371 @@
+---
+name: 'step-09-fix-issues'
+description: 'Fix MUST FIX and SHOULD FIX issues from review analysis'
+
+# Path Definitions
+workflow_path: '{project-root}/_bmad/bmm/workflows/4-implementation/super-dev-pipeline'
+
+# File References
+thisStepFile: '{workflow_path}/steps/step-09-fix-issues.md'
+stateFile: '{state_file}'
+storyFile: '{story_file}'
+reviewAnalysis: '{sprint_artifacts}/review-analysis-{story_id}.md'
+
+# Next step
+nextStep: '{workflow_path}/steps/step-10-complete.md'
+---
+
+# Step 9: Fix Issues
+
+**Goal:** Implement fixes for MUST FIX and SHOULD FIX items identified in review analysis. Skip rejected items (gold plating already documented).
+
+## Principles
+
+- **Fix real problems only**: MUST FIX and SHOULD FIX categories
+- **Skip rejected items**: Already documented why in step 8
+- **Verify each fix**: Run tests after each fix
+- **Commit incrementally**: One fix per commit for traceability
+
+---
+
+## Process
+
+### 1. Load Review Analysis
+
+```bash
+# Read review analysis from step 8
+review_analysis="{reviewAnalysis}"
+test -f "$review_analysis" || (echo "⚠️ No review analysis found - skipping fix step" && exit 0)
+```
+
+Parse the analysis report to extract:
+- MUST FIX items (count: {must_fix_count})
+- SHOULD FIX items (count: {should_fix_count})
+- Rejected items (for reference - DO NOT fix these)
+
+### 2. Fix MUST FIX Items (Critical - Blocking)
+
+**These are MANDATORY fixes - cannot proceed without fixing.**
+
+For each MUST FIX issue:
+
+```
+🔴 Issue #{number}: {title}
+ File: {file}:{line}
+ Severity: CRITICAL
+ Category: {category} (SECURITY | CORRECTNESS | etc.)
+
+ Problem:
+ {description}
+
+ Fix Required:
+ {recommendation}
+
+ Estimated Time: {estimate}
+```
+
+**Fix Process:**
+1. Read the file at the specified location
+2. Understand the issue context
+3. Implement the recommended fix
+4. Add test if issue was caught by testing gap
+5. Run tests to verify fix works
+6. Commit the fix
+
+```bash
+# Example fix commit
+git add {file}
+git commit -m "fix(story-{story_id}): {issue_title}
+
+{category}: {brief_description}
+
+- Issue: {problem_summary}
+- Fix: {fix_summary}
+- Testing: {test_verification}
+
+Addresses review finding #{number} (MUST FIX)
+Related to story {story_id}"
+```
+
+**Quality Check After Each Fix:**
+```bash
+# Verify fix doesn't break anything
+npm test
+
+# If tests fail:
+# 1. Fix the test or the code
+# 2. Re-run tests
+# 3. Only commit when tests pass
+```
+
+### 3. Fix SHOULD FIX Items (High Priority)
+
+**These are important for code quality and team standards.**
+
+For each SHOULD FIX issue:
+
+```
+🟠 Issue #{number}: {title}
+ File: {file}:{line}
+ Severity: HIGH
+ Category: {category} (STANDARDS | MAINTAINABILITY | etc.)
+
+ Problem:
+ {description}
+
+ Fix Required:
+ {recommendation}
+
+ Estimated Time: {estimate}
+```
+
+Same fix process as MUST FIX items, but with SHOULD FIX label in commit.
+
+### 4. Consider CONSIDER Items (If Time/Scope Permits)
+
+For CONSIDER items, evaluate:
+
+```
+🟡 Issue #{number}: {title}
+ File: {file}:{line}
+ Severity: MEDIUM
+
+ Scope Check:
+ - Is this within story scope? {yes/no}
+ - Time remaining in story? {estimate}
+ - Would this improve maintainability? {yes/no}
+
+ Decision:
+ [ ] FIX NOW - In scope and quick
+ [ ] CREATE TECH DEBT TICKET - Out of scope
+ [ ] SKIP - Not worth the effort
+```
+
+If fixing:
+- Same process as SHOULD FIX
+- Label as "refactor" or "improve" instead of "fix"
+
+If creating tech debt ticket:
+```markdown
+# Tech Debt: {title}
+
+**Source:** Code review finding from story {story_id}
+**Priority:** Medium
+**Estimated Effort:** {estimate}
+
+**Description:**
+{issue_description}
+
+**Recommendation:**
+{recommendation}
+
+**Why Deferred:**
+{reason} (e.g., out of scope, time constraints, etc.)
+```
+
+### 5. Skip REJECTED Items
+
+**DO NOT fix rejected items.**
+
+Display confirmation:
+```
+⚪ REJECTED ITEMS (Skipped):
+ Total: {rejected_count}
+
+ These findings were analyzed and rejected in step 8:
+ - #{number}: {title} - {rejection_reason}
+ - #{number}: {title} - {rejection_reason}
+
+ ✅ Correctly skipped (documented as gold plating/false positives)
+```
+
+### 6. Skip OPTIONAL Items (Tech Debt Backlog)
+
+For OPTIONAL items:
+- Create tech debt tickets (if not already created)
+- Do NOT implement now
+- Add to project backlog
+
+### 7. Verify All Fixes Work Together
+
+After all fixes applied, run complete quality check:
+
+```bash
+echo "🔍 Verifying all fixes together..."
+
+# Run full test suite
+npm test
+
+# Run type checker
+npx tsc --noEmit
+
+# Run linter
+npm run lint
+
+# Check test coverage
+npm run test:coverage
+```
+
+**If any check fails:**
+```
+❌ Quality checks failed after fixes!
+
+This means fixes introduced new issues.
+
+Action required:
+1. Identify which fix broke which test
+2. Fix the issue
+3. Re-run quality checks
+4. Repeat until all checks pass
+
+DO NOT PROCEED until all quality checks pass.
+```
+
+### 8. Summary Report
+
+```markdown
+# Fix Summary: Story {story_id}
+
+## Issues Addressed
+
+### 🔴 MUST FIX: {must_fix_count} issues
+- [x] Issue #1: {title} - FIXED ✅
+- [x] Issue #2: {title} - FIXED ✅
+
+### 🟠 SHOULD FIX: {should_fix_count} issues
+- [x] Issue #3: {title} - FIXED ✅
+- [x] Issue #4: {title} - FIXED ✅
+
+### 🟡 CONSIDER: {consider_fixed_count}/{consider_count} issues
+- [x] Issue #5: {title} - FIXED ✅
+- [ ] Issue #6: {title} - Tech debt ticket created
+
+### ⚪ REJECTED: {rejected_count} items
+- Correctly skipped (documented in review analysis)
+
+### 🔵 OPTIONAL: {optional_count} items
+- Tech debt tickets created
+- Added to backlog
+
+## Commits Made
+
+Total commits: {commit_count}
+- MUST FIX commits: {must_fix_commits}
+- SHOULD FIX commits: {should_fix_commits}
+- Other commits: {other_commits}
+
+## Final Quality Check
+
+✅ All tests passing: {test_count} tests
+✅ Type check: No errors
+✅ Linter: No violations
+✅ Coverage: {coverage}%
+
+## Time Spent
+
+Estimated: {estimated_time}
+Actual: {actual_time}
+Efficiency: {efficiency_percentage}%
+```
+
+### 9. Update State
+
+```yaml
+# Update {stateFile}
+current_step: 9
+issues_fixed:
+ must_fix: {must_fix_count}
+ should_fix: {should_fix_count}
+ consider: {consider_fixed_count}
+ rejected: {rejected_count} (skipped - documented)
+ optional: {optional_count} (tech debt created)
+fixes_verified: true
+all_quality_checks_passed: true
+ready_for_completion: true
+```
+
+---
+
+## Quality Gates
+
+**BLOCKING:** Cannot proceed to step 10 until:
+
+✅ **All MUST FIX issues resolved**
+✅ **All SHOULD FIX issues resolved**
+✅ **All tests passing**
+✅ **Type check passing**
+✅ **Linter passing**
+✅ **Coverage maintained or improved**
+
+If any gate fails:
+1. Fix the issue
+2. Re-run quality checks
+3. Repeat until ALL PASS
+4. THEN proceed to next step
+
+---
+
+## Skip Conditions
+
+This step can be skipped only if:
+- Review analysis (step 8) found zero issues requiring fixes
+- All findings were REJECTED or OPTIONAL
+
+Display when skipping:
+```
+✅ No fixes required!
+
+Review analysis found no critical or high-priority issues.
+All findings were either rejected as gold plating or marked as optional tech debt.
+
+Proceeding to completion...
+```
+
+---
+
+## Error Handling
+
+**If a fix causes test failures:**
+```
+⚠️ Fix introduced regression!
+
+Test failures after applying fix for: {issue_title}
+
+Failed tests:
+- {test_name_1}
+- {test_name_2}
+
+Action:
+1. Review the fix - did it break existing functionality?
+2. Either fix the implementation or update the tests
+3. Re-run tests
+4. Only proceed when tests pass
+```
+
+**If stuck on a fix:**
+```
+⚠️ Fix is more complex than estimated
+
+Issue: {issue_title}
+Estimated: {estimate}
+Actual time spent: {actual} (exceeded estimate)
+
+Options:
+[C] Continue - Keep working on this fix
+[D] Defer - Create tech debt ticket and continue
+[H] Help - Request human intervention
+
+If deferring:
+- Document current progress
+- Create detailed tech debt ticket
+- Note blocking issues
+- Continue with other fixes
+```
+
+---
+
+## Next Step
+
+Proceed to **Step 10: Complete + Update Status** ({nextStep})
+
+All issues fixed, all quality checks passed. Ready to mark story as done!
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-06-complete.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-10-complete.md
similarity index 68%
rename from src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-06-complete.md
rename to src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-10-complete.md
index d92f71a8..5a0de629 100644
--- a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-06-complete.md
+++ b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-10-complete.md
@@ -1,19 +1,21 @@
---
-name: 'step-06-complete'
-description: 'Commit and push story changes with targeted file list'
+name: 'step-10-complete'
+description: 'Complete story with MANDATORY sprint-status.yaml update and verification'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/4-implementation/super-dev-pipeline'
# File References
-thisStepFile: '{workflow_path}/steps/step-06-complete.md'
-nextStepFile: '{workflow_path}/steps/step-07-summary.md'
+thisStepFile: '{workflow_path}/steps/step-10-complete.md'
+nextStepFile: '{workflow_path}/steps/step-11-summary.md'
+stateFile: '{state_file}'
+sprint_status: '{sprint_artifacts}/sprint-status.yaml'
# Role Switch
role: sm
---
-# Step 6: Complete Story
+# Step 10: Complete Story (v1.5.0: Mandatory Status Update)
## ROLE SWITCH
@@ -23,13 +25,15 @@ You are now completing the story and preparing changes for git commit.
## STEP GOAL
-Complete the story with safety checks:
+Complete the story with safety checks and MANDATORY status updates:
1. Extract file list from story
2. Stage only story-related files
3. Generate commit message
4. Create commit
5. Push to remote (if configured)
-6. Update story status
+6. Update story file status to "done"
+7. **UPDATE sprint-status.yaml (MANDATORY - NO EXCEPTIONS)**
+8. **VERIFY sprint-status.yaml update persisted (CRITICAL)**
## MANDATORY EXECUTION RULES
@@ -200,13 +204,65 @@ git push
You can push manually when ready
```
-### 8. Update Story Status
+### 8. Update Story Status (File + Sprint-Status)
+
+**CRITICAL: Two-location update with verification**
+
+#### 8.1: Update Story File
Update story file frontmatter:
```yaml
-status: review # Ready for human review
+status: done # Story completed (v1.5.0: changed from "review" to "done")
+completed_date: {date}
```
+#### 8.2: Update sprint-status.yaml (MANDATORY - NO EXCEPTIONS)
+
+**This is CRITICAL and CANNOT be skipped.**
+
+```bash
+# Read current sprint-status.yaml
+sprint_status_file="{sprint_artifacts}/sprint-status.yaml"
+story_key="{story_id}"
+
+# Update development_status section
+# Change status from whatever it was to "done"
+
+development_status:
+ {story_id}: done # ✅ COMPLETED: {story_title}
+```
+
+**Implementation:**
+```bash
+# Read current status
+current_status=$(grep "^\s*{story_id}:" "$sprint_status_file" | awk '{print $2}')
+
+# Update to done
+sed -i'' "s/^\s*{story_id}:.*/ {story_id}: done # ✅ COMPLETED: {story_title}/" "$sprint_status_file"
+
+echo "✅ Updated sprint-status.yaml: {story_id} → done"
+```
+
+#### 8.3: Verify Update Persisted (CRITICAL)
+
+```bash
+# Re-read sprint-status.yaml to verify change
+verification=$(grep "^\s*{story_id}:" "$sprint_status_file" | awk '{print $2}')
+
+if [ "$verification" != "done" ]; then
+ echo "❌ CRITICAL: sprint-status.yaml update FAILED!"
+ echo "Expected: done"
+ echo "Got: $verification"
+ echo ""
+ echo "HALTING pipeline - status update is MANDATORY"
+ exit 1
+fi
+
+echo "✅ Verified: sprint-status.yaml correctly updated"
+```
+
+**NO EXCEPTIONS:** If verification fails, pipeline MUST HALT.
+
### 9. Update Pipeline State
Update state file:
@@ -242,11 +298,15 @@ Ready for Summary Generation
## QUALITY GATE
-Before proceeding:
+Before proceeding (BLOCKING - ALL must pass):
- [ ] Targeted files staged (from File List)
- [ ] Commit message generated
- [ ] Commit created successfully
-- [ ] Story status updated to "review"
+- [ ] Story file status updated to "done"
+- [ ] **sprint-status.yaml updated to "done" (MANDATORY)**
+- [ ] **sprint-status.yaml update VERIFIED (CRITICAL)**
+
+**If ANY check fails, pipeline MUST HALT.**
## CRITICAL STEP COMPLETION
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-06a-queue-commit.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-10a-queue-commit.md
similarity index 100%
rename from src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-06a-queue-commit.md
rename to src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-10a-queue-commit.md
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-07-summary.md b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-11-summary.md
similarity index 94%
rename from src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-07-summary.md
rename to src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-11-summary.md
index a8134c24..30860fed 100644
--- a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-07-summary.md
+++ b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/steps/step-11-summary.md
@@ -1,18 +1,21 @@
---
-name: 'step-07-summary'
-description: 'Generate audit trail and pipeline summary'
+name: 'step-11-summary'
+description: 'Generate comprehensive audit trail and pipeline summary'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmm/workflows/4-implementation/super-dev-pipeline'
# File References
-thisStepFile: '{workflow_path}/steps/step-07-summary.md'
+thisStepFile: '{workflow_path}/steps/step-11-summary.md'
+stateFile: '{state_file}'
+storyFile: '{story_file}'
+auditTrail: '{audit_trail}'
# Role
role: null
---
-# Step 7: Pipeline Summary
+# Step 11: Pipeline Summary
## STEP GOAL
diff --git a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/workflow.yaml b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/workflow.yaml
index fd417a36..bbcc0f68 100644
--- a/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/workflow.yaml
+++ b/src/modules/bmm/workflows/4-implementation/super-dev-pipeline/workflow.yaml
@@ -1,7 +1,7 @@
name: super-dev-pipeline
-description: "Step-file architecture with complexity-based routing, smart batching, and auto-story-creation. Micro stories get lightweight path, standard/complex get full quality gates."
+description: "Complete a-k workflow: test-first development, smart gap analysis, quality gates, intelligent multi-agent review, and mandatory status updates. Risk-based complexity routing with variable agent counts."
author: "BMad"
-version: "1.4.0" # Added auto-create story via /create-story-with-gap-analysis when story missing or incomplete
+version: "1.5.0" # Complete a-k workflow with TDD, quality gates, multi-agent review, and mandatory sprint-status updates
# Critical variables from config
config_source: "{project-root}/_bmad/bmm/config.yaml"
@@ -34,17 +34,25 @@ auto_create_story:
# Controls which pipeline steps to execute
complexity_level: "standard" # micro | standard | complex
-# Complexity-based step skipping (NEW v1.2.0)
+# Risk-based complexity routing (UPDATED v1.5.0)
+# Complexity determined by RISK level, not task count
+# Risk keywords: auth, security, payment, file handling, architecture changes
complexity_routing:
micro:
- skip_steps: [2, 5] # Skip pre-gap analysis and code review
- description: "Lightweight path for simple stories (≤3 tasks, low risk)"
+ skip_steps: [3, 7, 8, 9] # Skip write-tests, code-review, review-analysis, fix-issues
+ description: "Lightweight path for low-risk stories (UI tweaks, text, simple CRUD)"
+ multi_agent_count: 2
+ examples: ["UI tweaks", "text changes", "simple CRUD", "documentation"]
standard:
skip_steps: [] # Full pipeline
- description: "Normal path with all quality gates"
+ description: "Balanced path for medium-risk stories (APIs, business logic)"
+ multi_agent_count: 4
+ examples: ["API endpoints", "business logic", "data validation"]
complex:
- skip_steps: [] # Full pipeline + warnings
- description: "Enhanced path for high-risk stories"
+ skip_steps: [] # Full pipeline + comprehensive review
+ description: "Comprehensive path for high-risk stories (auth, payments, security)"
+ multi_agent_count: 6
+ examples: ["auth/security", "payments", "file handling", "architecture changes"]
warn_before_start: true
suggest_split: true
@@ -111,63 +119,106 @@ agents:
dev:
name: "Developer"
persona: "{project-root}/_bmad/bmm/agents/dev.md"
- description: "Pre-gap, implementation, post-validation, code review"
- used_in_steps: [2, 3, 4, 5]
+ description: "Gap analysis, write tests, implementation, validation, review, fixes"
+ used_in_steps: [2, 3, 4, 5, 6, 7, 8, 9]
sm:
name: "Scrum Master"
persona: "{project-root}/_bmad/bmm/agents/sm.md"
- description: "Story completion and status"
- used_in_steps: [6]
+ description: "Story completion, status updates, sprint-status.yaml management"
+ used_in_steps: [10]
-# Step file definitions
+# Step file definitions (NEW v1.5.0: 11-step a-k workflow)
steps:
- step: 1
file: "{steps_path}/step-01-init.md"
- name: "Initialize"
- description: "Load story context and detect development mode"
+ name: "Init + Validate Story"
+ description: "Load, validate, auto-create if needed (a-c)"
agent: null
quality_gate: false
+ auto_create_story: true
- step: 2
- file: "{steps_path}/step-02-pre-gap-analysis.md"
- name: "Pre-Gap Analysis"
- description: "Validate tasks against codebase (critical for brownfield)"
+ file: "{steps_path}/step-02-smart-gap-analysis.md"
+ name: "Smart Gap Analysis"
+ description: "Gap analysis (skip if just created story) (d)"
agent: dev
quality_gate: true
+ skip_if_story_just_created: true
- step: 3
- file: "{steps_path}/step-03-implement.md"
- name: "Implement"
- description: "Adaptive implementation (TDD for new, refactor for existing)"
+ file: "{steps_path}/step-03-write-tests.md"
+ name: "Write Tests (TDD)"
+ description: "Write tests before implementation (e)"
agent: dev
- quality_gate: true
+ quality_gate: false
+ test_driven: true
- step: 4
- file: "{steps_path}/step-04-post-validation.md"
- name: "Post-Validation"
- description: "Verify completed tasks against codebase reality"
+ file: "{steps_path}/step-04-implement.md"
+ name: "Implement"
+ description: "Run dev-story implementation (f)"
agent: dev
quality_gate: true
- iterative: true # May re-invoke step 3 if gaps found
- step: 5
- file: "{steps_path}/step-05-code-review.md"
+ file: "{steps_path}/step-05-post-validation.md"
+ name: "Post-Validation"
+ description: "Verify work actually implemented (g)"
+ agent: dev
+ quality_gate: true
+ iterative: true
+
+ - step: 6
+ file: "{steps_path}/step-06-run-quality-checks.md"
+ name: "Quality Checks"
+ description: "Tests, type check, linter - fix all (h)"
+ agent: dev
+ quality_gate: true
+ blocking: true
+ required_checks:
+ - tests_passing
+ - type_check_passing
+ - lint_passing
+ - coverage_threshold
+
+ - step: 7
+ file: "{steps_path}/step-07-code-review.md"
name: "Code Review"
- description: "Adversarial code review finding 3-10 issues"
+ description: "Multi-agent review with fresh context (i)"
+ agent: dev
+ quality_gate: true
+ requires_fresh_context: true
+ multi_agent_review: true
+ variable_agent_count: true
+
+ - step: 8
+ file: "{steps_path}/step-08-review-analysis.md"
+ name: "Review Analysis"
+ description: "Analyze findings - reject gold plating (j)"
+ agent: dev
+ quality_gate: false
+ critical_thinking: true
+
+ - step: 9
+ file: "{steps_path}/step-09-fix-issues.md"
+ name: "Fix Issues"
+ description: "Implement MUST FIX and SHOULD FIX items"
agent: dev
quality_gate: true
- - step: 6
- file: "{steps_path}/step-06-complete.md"
- name: "Complete"
- description: "Commit and push changes"
+ - step: 10
+ file: "{steps_path}/step-10-complete.md"
+ name: "Complete + Update Status"
+ description: "Mark done, update sprint-status.yaml (k)"
agent: sm
- quality_gate: false
+ quality_gate: true
+ mandatory_sprint_status_update: true
+ verify_status_update: true
- - step: 7
- file: "{steps_path}/step-07-summary.md"
+ - step: 11
+ file: "{steps_path}/step-11-summary.md"
name: "Summary"
- description: "Generate audit trail"
+ description: "Generate comprehensive audit trail"
agent: null
quality_gate: false