diff --git a/src/bmm/workflows/4-implementation/detect-ghost-features/workflow.md b/src/bmm/workflows/4-implementation/detect-ghost-features/workflow.md
new file mode 100644
index 00000000..61132bf3
--- /dev/null
+++ b/src/bmm/workflows/4-implementation/detect-ghost-features/workflow.md
@@ -0,0 +1,278 @@
+# Detect Ghost Features v3.0 - Reverse Gap Analysis
+
+
+Find undocumented code (components, APIs, services, tables) that exist in codebase
+but aren't tracked in any story. "Who you gonna call?" - Ghost Features.
+
+
+
+**Reverse Gap Analysis**
+
+Normal gap analysis: story says X should exist → does it?
+Reverse gap analysis: X exists in code → is it documented?
+
+Undocumented features become maintenance nightmares.
+Find them, create backfill stories, restore traceability.
+
+
+
+name: detect-ghost-features
+version: 3.0.0
+
+scan_scope:
+ epic: "Filter to specific epic number"
+ sprint: "All stories in sprint-status.yaml"
+ codebase: "All stories in sprint-artifacts"
+
+scan_for:
+ components: true
+ api_endpoints: true
+ database_tables: true
+ services: true
+
+severity:
+ critical: "APIs, auth, payment (undocumented = high risk)"
+ high: "Components, DB tables, services"
+ medium: "Utilities, helpers"
+ low: "Config files, constants"
+
+defaults:
+ create_backfill_stories: false
+ auto_create: false
+ add_to_sprint_status: true
+ create_report: true
+
+
+
+@patterns/hospital-grade.md
+
+
+
+
+
+**Load documented artifacts from stories**
+
+Based on scan_scope (epic/sprint/codebase):
+
+```bash
+# Get all story files
+STORIES=$(ls docs/sprint-artifacts/*.md | grep -v "epic-")
+```
+
+For each story:
+1. Read story file
+2. Extract documented artifacts:
+ - File List (all paths mentioned)
+ - Tasks (file/component/service names)
+ - ACs (features/functionality)
+3. Store in: documented_artifacts[story_key]
+
+
+
+**Scan codebase for actual implementations**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+👻 SCANNING FOR GHOST FEATURES
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+**Components:**
+```bash
+# Find React/Vue/Angular components
+find . -name "*.tsx" -o -name "*.jsx" | xargs grep -l "export.*function\|export.*const"
+```
+
+**API Endpoints:**
+```bash
+# Find Next.js/Express routes
+find . -path "*/api/*" -name "*.ts"
+grep -r "export.*GET\|export.*POST\|router\.\(get\|post\)" .
+```
+
+**Database Tables:**
+```bash
+# Find Prisma/TypeORM models
+grep -r "^model " prisma/schema.prisma
+find . -name "*.entity.ts"
+```
+
+**Services:**
+```bash
+find . -name "*.service.ts" -o -name "*Service.ts"
+```
+
+
+
+**Compare codebase artifacts to story documentation**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 CROSS-REFERENCING
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+For each codebase artifact:
+1. Search all stories for mentions of:
+ - Component/file name
+ - File path
+ - Feature description
+2. If NO stories mention it → ORPHAN (ghost feature)
+3. If stories mention it → Documented
+
+Track orphans with:
+- type (component/api/db/service)
+- name and path
+- severity
+- inferred purpose
+
+
+
+**Analyze and prioritize ghost features**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+👻 GHOST FEATURES DETECTED
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Total Orphans: {{count}}
+
+By Severity:
+- 🔴 CRITICAL: {{critical}} (APIs, security)
+- 🟠 HIGH: {{high}} (Components, DB, services)
+- 🟡 MEDIUM: {{medium}} (Utilities)
+- 🟢 LOW: {{low}} (Config)
+
+By Type:
+- Components: {{components}}
+- API Endpoints: {{apis}}
+- Database Tables: {{tables}}
+- Services: {{services}}
+
+Documentation Coverage: {{documented_pct}}%
+Orphan Rate: {{orphan_pct}}%
+
+{{#if orphan_pct > 20}}
+⚠️ HIGH ORPHAN RATE - Over 20% undocumented!
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Generate stories for orphaned features**
+
+For each orphan (prioritized by severity):
+
+1. **Analyze orphan** - Read implementation, find tests, understand purpose
+2. **Generate story draft:**
+
+```markdown
+# Story: Document existing {{name}}
+
+**Type:** BACKFILL (documenting existing code)
+
+## Business Context
+{{inferred_from_code}}
+
+## Current State
+✅ Implementation EXISTS: {{file}}
+{{#if has_tests}}✅ Tests exist{{else}}❌ No tests{{/if}}
+
+## Acceptance Criteria
+{{inferred_acs}}
+
+## Tasks
+- [x] {{name}} implementation (ALREADY EXISTS)
+{{#if !has_tests}}- [ ] Add tests{{/if}}
+- [ ] Verify functionality
+- [ ] Assign to epic
+```
+
+3. **Ask user** (unless auto_create):
+ - [Y] Create story
+ - [A] Auto-create all remaining
+ - [S] Skip this orphan
+ - [H] Halt
+
+4. **Write story file:** `docs/sprint-artifacts/backfill-{{type}}-{{name}}.md`
+
+5. **Update sprint-status.yaml** (if enabled)
+
+
+
+**Recommend epic assignment**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 BACKFILL ORGANIZATION
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+Options:
+[A] Create Epic-Backfill (recommended)
+ - Single epic for all backfill stories
+ - Clear separation from feature work
+
+[B] Distribute to existing epics
+ - Add each to its logical epic
+
+[C] Leave in backlog
+ - Manual assignment later
+```
+
+
+
+**Write comprehensive ghost features report**
+
+Write to: `docs/sprint-artifacts/ghost-features-report-{{timestamp}}.md`
+
+Include:
+- Executive summary
+- Full orphan list by severity
+- Backfill stories created
+- Recommendations
+- Scan methodology
+
+
+
+**Display results and next steps**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ GHOST FEATURE DETECTION COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Orphans Found: {{orphan_count}}
+Backfill Stories Created: {{backfill_count}}
+Documentation Coverage: {{documented_pct}}%
+
+{{#if orphan_count == 0}}
+✅ All code is documented in stories!
+{{else}}
+Next Steps:
+1. Review backfill stories for accuracy
+2. Assign to epics
+3. Add tests/docs for orphans
+4. Run revalidation to verify
+{{/if}}
+
+💡 Pro Tip: Run this periodically to catch
+ vibe-coded features before they become
+ maintenance nightmares.
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+
+
+**No stories found:** Check scan_scope, verify sprint-artifacts exists.
+**Scan fails:** Report which scan type failed, continue others.
+**Backfill creation fails:** Skip, continue to next orphan.
+
+
+
+- [ ] All artifact types scanned
+- [ ] Cross-reference completed
+- [ ] Orphans categorized by severity
+- [ ] Backfill stories created (if enabled)
+- [ ] Report generated
+
diff --git a/src/bmm/workflows/4-implementation/migrate-to-github/workflow.md b/src/bmm/workflows/4-implementation/migrate-to-github/workflow.md
new file mode 100644
index 00000000..6d16f06d
--- /dev/null
+++ b/src/bmm/workflows/4-implementation/migrate-to-github/workflow.md
@@ -0,0 +1,279 @@
+# Migrate to GitHub v3.0 - Production-Grade Story Migration
+
+
+Migrate BMAD stories to GitHub Issues with full safety guarantees.
+Idempotent, atomic, verified, resumable, and reversible.
+
+
+
+**Reliability First, Data Integrity Over Speed**
+
+- Idempotent: Can re-run safely (checks for duplicates)
+- Atomic: Each story fully succeeds or rolls back
+- Verified: Reads back each created issue
+- Resumable: Saves state after each story
+- Reversible: Creates rollback manifest
+
+
+
+name: migrate-to-github
+version: 3.0.0
+
+modes:
+ dry-run: {description: "Preview only, no changes", default: true}
+ execute: {description: "Actually create issues"}
+ verify: {description: "Double-check migration accuracy"}
+ rollback: {description: "Close migrated issues"}
+
+defaults:
+ update_existing: false
+ halt_on_critical_error: true
+ save_state_after_each: true
+ max_retries: 3
+ retry_backoff_ms: [1000, 3000, 10000]
+
+labels:
+ - "type:story"
+ - "story:{{story_key}}"
+ - "status:{{status}}"
+ - "epic:{{epic_number}}"
+ - "complexity:{{complexity}}"
+
+
+
+@patterns/hospital-grade.md
+
+
+
+
+
+**Verify all prerequisites before ANY operations**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🛡️ PRE-FLIGHT SAFETY CHECKS
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+**1. Verify GitHub MCP access:**
+```
+Call: mcp__github__get_me()
+If fails: HALT - Cannot proceed without GitHub API access
+```
+
+**2. Verify repository access:**
+```
+Call: mcp__github__list_issues(owner, repo, per_page=1)
+If fails: HALT - Repository not accessible
+```
+
+**3. Verify local files exist:**
+```bash
+[ -f "docs/sprint-artifacts/sprint-status.yaml" ] || { echo "HALT"; exit 1; }
+```
+
+**4. Check for existing migration:**
+- If state file exists: offer Resume/Fresh/View/Delete
+- If resuming: load already-migrated stories, filter from queue
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ PRE-FLIGHT CHECKS PASSED
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Preview migration plan without making changes**
+
+For each story:
+1. Search GitHub for existing issue with label `story:{{story_key}}`
+2. If exists: mark as "Would UPDATE" or "Would SKIP"
+3. If not exists: mark as "Would CREATE"
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 DRY-RUN SUMMARY
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Would CREATE: {{create_count}} new issues
+Would UPDATE: {{update_count}} existing issues
+Would SKIP: {{skip_count}}
+
+Estimated API Calls: ~{{total_calls}}
+Rate Limit Impact: Safe (< 1000 calls)
+
+⚠️ This was a DRY-RUN. No issues created.
+To execute: /migrate-to-github mode=execute
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Perform migration with atomic operations**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+⚡ EXECUTE MODE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+**Final confirmation:**
+```
+Type "I understand and want to proceed" to continue:
+```
+
+Initialize migration state and rollback manifest.
+
+For each story:
+
+**1. Check if exists (idempotent):**
+```
+Search: label:story:{{story_key}}
+If exists AND update_existing=false: SKIP
+```
+
+**2. Generate issue body:**
+```markdown
+**Story File:** [{{story_key}}.md](path)
+**Epic:** {{epic_number}}
+
+## Business Context
+{{parsed.businessContext}}
+
+## Acceptance Criteria
+{{#each ac}}
+- [ ] {{this}}
+{{/each}}
+
+## Tasks
+{{#each tasks}}
+- [ ] {{this}}
+{{/each}}
+```
+
+**3. Create/update with retry and verification:**
+```
+attempt = 0
+WHILE attempt < max_retries:
+ TRY:
+ result = mcp__github__issue_write(create/update)
+ sleep 2 seconds # GitHub eventual consistency
+
+ verification = mcp__github__issue_read(issue_number)
+ IF verification.title != expected:
+ THROW "Verification failed"
+
+ SUCCESS - add to rollback manifest
+ BREAK
+
+ CATCH:
+ attempt++
+ IF attempt < max_retries:
+ sleep backoff_ms[attempt]
+ ELSE:
+ FAIL - add to issues_failed
+```
+
+**4. Save state after each story**
+
+**5. Progress updates every 10 stories:**
+```
+📊 Progress: {{index}}/{{total}}
+ Created: {{created}}, Updated: {{updated}}, Failed: {{failed}}
+```
+
+
+
+**Double-check migration accuracy**
+
+For each migrated story:
+1. Fetch issue from GitHub
+2. Verify title, labels, AC count match
+3. Report mismatches
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 VERIFICATION RESULTS
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Verified Correct: {{verified}}
+Warnings: {{warnings}}
+Failures: {{failures}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Close migrated issues (GitHub API doesn't support delete)**
+
+Load rollback manifest. For each created issue:
+```
+mcp__github__issue_write({
+ issue_number: {{number}},
+ state: "closed",
+ labels: ["migrated:rolled-back"],
+ state_reason: "not_planned"
+})
+
+mcp__github__add_issue_comment({
+ body: "Issue closed - migration was rolled back."
+})
+```
+
+
+
+**Create comprehensive migration report**
+
+Write to: `docs/sprint-artifacts/github-migration-{{timestamp}}.md`
+
+Include:
+- Executive summary
+- Created/updated/failed issues
+- GitHub URLs for each issue
+- Rollback instructions
+- Next steps
+
+
+
+**Display completion status**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ MIGRATION COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Total: {{total}} stories
+Created: {{created}}
+Updated: {{updated}}
+Failed: {{failed}}
+Success Rate: {{success_pct}}%
+
+View in GitHub:
+https://github.com/{{owner}}/{{repo}}/issues?q=label:type:story
+
+Rollback Manifest: {{rollback_path}}
+State File: {{state_path}}
+
+Next Steps:
+1. Verify: /migrate-to-github mode=verify
+2. Enable GitHub sync in workflow.yaml
+3. Share Issues URL with Product Owner
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+
+
+**GitHub MCP unavailable:** HALT - Cannot proceed.
+**Repository not accessible:** HALT - Check permissions.
+**Issue create fails:** Retry with backoff, then fail story.
+**Verification fails:** Log warning, continue.
+**All stories fail:** Report systemic issue, HALT.
+
+
+
+- [ ] Pre-flight checks passed
+- [ ] All stories processed
+- [ ] Issues verified after creation
+- [ ] State and rollback manifest saved
+- [ ] Report generated
+
diff --git a/src/bmm/workflows/4-implementation/multi-agent-review/workflow.md b/src/bmm/workflows/4-implementation/multi-agent-review/workflow.md
new file mode 100644
index 00000000..2d32d036
--- /dev/null
+++ b/src/bmm/workflows/4-implementation/multi-agent-review/workflow.md
@@ -0,0 +1,197 @@
+# Multi-Agent Code Review v3.0
+
+
+Perform unbiased code review using multiple specialized AI agents in fresh context.
+Agent count scales with story complexity. Independent perspective prevents bias.
+
+
+
+**Fresh Context, Multiple Perspectives**
+
+- Review happens in NEW session (not the agent that wrote the code)
+- Prevents bias from implementation decisions
+- Agent count determined by complexity, agents chosen by code analysis
+- Smart selection: touching auth code → auth-security agent, etc.
+
+
+
+name: multi-agent-review
+version: 3.0.0
+
+agent_selection:
+ micro: {count: 2, agents: [security, code_quality]}
+ standard: {count: 4, agents: [security, code_quality, architecture, testing]}
+ complex: {count: 6, agents: [security, code_quality, architecture, testing, performance, domain_expert]}
+
+available_agents:
+ security: "Identifies vulnerabilities and security risks"
+ code_quality: "Reviews style, maintainability, best practices"
+ architecture: "Reviews system design, patterns, structure"
+ testing: "Evaluates test coverage and quality"
+ performance: "Analyzes efficiency and optimization"
+ domain_expert: "Validates business logic and domain constraints"
+
+
+
+@patterns/security-checklist.md
+@patterns/hospital-grade.md
+@patterns/agent-completion.md
+
+
+
+
+
+**Select agents based on complexity**
+
+```
+If complexity_level == "micro":
+ agents = ["security", "code_quality"]
+ Display: 🔍 MICRO Review (2 agents)
+
+Else if complexity_level == "standard":
+ agents = ["security", "code_quality", "architecture", "testing"]
+ Display: 📋 STANDARD Review (4 agents)
+
+Else if complexity_level == "complex":
+ agents = ALL 6 agents
+ Display: 🔬 COMPLEX Review (6 agents)
+```
+
+
+
+**Load story file and understand requirements**
+
+```bash
+STORY_FILE="{{story_file}}"
+[ -f "$STORY_FILE" ] || { echo "❌ Story file not found"; exit 1; }
+```
+
+Use Read tool on story file. Extract:
+- What was supposed to be implemented
+- Acceptance criteria
+- Tasks and subtasks
+- File list
+
+
+
+**Spawn review agents in fresh context**
+
+For each agent in selected agents, spawn Task agent:
+
+```
+Task({
+ subagent_type: "general-purpose",
+ description: "{{agent_type}} review for {{story_key}}",
+ prompt: `
+You are the {{AGENT_TYPE}} reviewer for story {{story_key}}.
+
+
+@patterns/security-checklist.md
+@patterns/hospital-grade.md
+
+
+
+Story: [inline story content]
+Changed files: [git diff output]
+
+
+
+Review from your {{agent_type}} perspective. Find issues, be thorough.
+
+
+
+- [ ] All relevant files reviewed
+- [ ] Issues categorized by severity (CRITICAL/HIGH/MEDIUM/LOW)
+- [ ] Return ## AGENT COMPLETE with findings
+
+`
+})
+```
+
+Wait for all agents to complete. Aggregate findings.
+
+
+
+**Collect and categorize all findings**
+
+Merge findings from all agents:
+- CRITICAL: Security vulnerabilities, data loss risks
+- HIGH: Production bugs, logic errors
+- MEDIUM: Technical debt, maintainability
+- LOW: Nice-to-have improvements
+
+
+
+**Display review summary**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🤖 MULTI-AGENT CODE REVIEW COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+Agents Used: {{agent_count}}
+- Security Agent
+- Code Quality Agent
+[...]
+
+Findings:
+- 🔴 CRITICAL: {{critical_count}}
+- 🟠 HIGH: {{high_count}}
+- 🟡 MEDIUM: {{medium_count}}
+- 🔵 LOW: {{low_count}}
+```
+
+For each finding, display:
+- Severity and title
+- Agent that found it
+- Location (file:line)
+- Description and recommendation
+
+
+
+**Suggest next steps based on findings**
+
+```
+📋 RECOMMENDED NEXT STEPS:
+
+If CRITICAL findings exist:
+ ⚠️ MUST FIX before proceeding
+ - Address all critical security/correctness issues
+ - Re-run review after fixes
+
+If only HIGH/MEDIUM findings:
+ ✅ Story may proceed
+ - Consider addressing high-priority items
+ - Create follow-up tasks for medium items
+
+If only LOW/INFO findings:
+ ✅ Code quality looks good
+ - Optional: Address style/optimization suggestions
+```
+
+
+
+
+
+**When to use:**
+- Complex stories (≥16 tasks or high-risk keywords)
+- Security-sensitive code
+- Significant architectural changes
+- When single-agent review was inconclusive
+
+**When NOT to use:**
+- Micro stories (≤3 tasks)
+- Standard stories with simple changes
+- Stories that passed adversarial review cleanly
+
+
+
+**Review agent fails:** Fall back to adversarial code review.
+**API error:** Log failure, continue pipeline with warning.
+
+
+
+- [ ] All selected agents completed review
+- [ ] Findings aggregated and categorized
+- [ ] Report displayed with recommendations
+
diff --git a/src/bmm/workflows/4-implementation/recover-sprint-status/workflow.md b/src/bmm/workflows/4-implementation/recover-sprint-status/workflow.md
new file mode 100644
index 00000000..0b4c8017
--- /dev/null
+++ b/src/bmm/workflows/4-implementation/recover-sprint-status/workflow.md
@@ -0,0 +1,172 @@
+# Recover Sprint Status v3.0
+
+
+Fix sprint-status.yaml when tracking has drifted. Analyzes multiple sources
+(story files, git commits, completion reports) to rebuild accurate status.
+
+
+
+**Multiple Evidence Sources, Conservative Updates**
+
+1. Story file quality (size, tasks, checkboxes)
+2. Explicit Status: fields in stories
+3. Git commits (last 30 days)
+4. Autonomous completion reports
+5. Task completion rate
+
+Trust explicit Status: fields highest. Require evidence for status changes.
+
+
+
+name: recover-sprint-status
+version: 3.0.0
+
+modes:
+ dry-run: {description: "Analysis only, no changes", default: true}
+ conservative: {description: "High confidence updates only"}
+ aggressive: {description: "Medium+ confidence, infers from git"}
+ interactive: {description: "Ask before each batch"}
+
+confidence_levels:
+ very_high: {sources: [explicit_status, completion_report]}
+ high: {sources: [3+ git_commits, 90% tasks_complete]}
+ medium: {sources: [1-2 git_commits, 50-90% tasks_complete]}
+ low: {sources: [no_status, no_commits, small_file]}
+
+
+
+@patterns/hospital-grade.md
+
+
+
+
+
+**Scan all evidence sources**
+
+```bash
+# Find story files
+SPRINT_ARTIFACTS="docs/sprint-artifacts"
+STORIES=$(ls $SPRINT_ARTIFACTS/*.md 2>/dev/null | grep -v "epic-")
+
+# Get recent git commits
+git log --oneline --since="30 days ago" > /tmp/recent_commits.txt
+```
+
+For each story:
+1. Read story file, extract Status: field if present
+2. Check file size (≥10KB = properly detailed)
+3. Count tasks and checkbox completion
+4. Search git commits for story references
+5. Check for completion reports (.epic-*-completion-report.md)
+
+
+
+**Determine confidence level for each story**
+
+| Evidence | Confidence | Action |
+|----------|------------|--------|
+| Explicit Status: done | Very High | Trust it |
+| Completion report lists story | Very High | Mark done |
+| 3+ git commits + 90% checked | High | Mark done |
+| 1-2 commits OR 50-90% checked | Medium | Mark in-progress |
+| No commits, <50% checked | Low | Leave as-is |
+| File <10KB | Low | Downgrade if done |
+
+
+
+**Show recommendations without applying**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 RECOVERY ANALYSIS (Dry Run)
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+High Confidence Updates:
+- 2-5-auth: backlog → done (explicit Status:, 3 commits)
+- 2-6-profile: in-progress → done (completion report)
+
+Medium Confidence Updates:
+- 2-7-settings: backlog → in-progress (2 commits)
+
+Low Confidence (verify manually):
+- 2-8-dashboard: no Status:, no commits, <10KB file
+```
+
+Exit after preview. No changes made.
+
+
+
+**Apply only high/very-high confidence updates**
+
+For each high+ confidence story:
+1. Backup current sprint-status.yaml
+2. Use Edit tool to update status
+3. Log change
+
+```bash
+# Backup
+cp $SPRINT_STATUS .sprint-status-backups/sprint-status-recovery-$(date +%Y%m%d).yaml
+```
+
+Skip medium/low confidence stories.
+
+
+
+**Apply medium+ confidence updates**
+
+Includes:
+- Inferring from git commits (even 1 commit)
+- Using task completion rate
+- Pre-filling brownfield checkboxes
+
+```
+⚠️ AGGRESSIVE mode may make incorrect inferences.
+ Review results carefully.
+```
+
+
+
+**Verify recovery worked**
+
+```bash
+./scripts/sync-sprint-status.sh --validate
+```
+
+Should show:
+- "✓ sprint-status.yaml is up to date!" (success)
+- OR discrepancy count (if issues remain)
+
+
+
+**Commit the recovery**
+
+Use Bash to commit:
+```bash
+git add docs/sprint-artifacts/sprint-status.yaml
+git add .sprint-status-backups/
+git commit -m "fix(tracking): Recover sprint-status.yaml - {{mode}} recovery"
+```
+
+
+
+
+
+**No changes detected:** sprint-status.yaml already accurate.
+**Low confidence on known-done stories:** Add Status: field manually, re-run.
+**Recovery marks incomplete as done:** Use conservative mode, verify manually.
+
+
+
+- [ ] Run validation: `./scripts/sync-sprint-status.sh --validate`
+- [ ] Review backup in `.sprint-status-backups/`
+- [ ] Spot-check 5-10 stories for accuracy
+- [ ] Commit changes
+- [ ] Document why drift occurred
+
+
+
+- [ ] All evidence sources analyzed
+- [ ] Changes applied based on confidence threshold
+- [ ] Validation passes
+- [ ] Backup created
+
diff --git a/src/bmm/workflows/4-implementation/revalidate-epic/workflow.md b/src/bmm/workflows/4-implementation/revalidate-epic/workflow.md
new file mode 100644
index 00000000..0f2769b0
--- /dev/null
+++ b/src/bmm/workflows/4-implementation/revalidate-epic/workflow.md
@@ -0,0 +1,189 @@
+# Revalidate Epic v3.0 - Batch Story Revalidation
+
+
+Batch revalidate all stories in an epic using parallel agents (semaphore pattern).
+Clears checkboxes, verifies against codebase, re-checks verified items.
+
+
+
+**Parallel Verification, Continuous Worker Pool**
+
+- Spawn up to N workers, refill as each completes
+- Each story gets fresh context verification
+- Aggregate results into epic-level health score
+- Optionally fill gaps found during verification
+
+
+
+name: revalidate-epic
+version: 3.0.0
+
+defaults:
+ max_concurrent: 3
+ fill_gaps: false
+ continue_on_failure: true
+ create_epic_report: true
+ update_sprint_status: true
+
+
+
+@patterns/verification.md
+@patterns/hospital-grade.md
+@revalidate-story/workflow.md
+
+
+
+
+
+**Find all stories for the epic**
+
+```bash
+EPIC_NUMBER="{{epic_number}}"
+[ -n "$EPIC_NUMBER" ] || { echo "ERROR: epic_number required"; exit 1; }
+
+# Filter stories from sprint-status.yaml
+grep "^${EPIC_NUMBER}-" docs/sprint-artifacts/sprint-status.yaml
+```
+
+Use Read tool on sprint-status.yaml. Filter stories starting with `{epic_number}-`.
+Exclude epics and retrospectives.
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 EPIC {{epic_number}} REVALIDATION
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Stories Found: {{count}}
+Mode: {{fill_gaps ? "Verify & Fill Gaps" : "Verify Only"}}
+Max Concurrent: {{max_concurrent}} agents
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+Use AskUserQuestion: Proceed with revalidation? (yes/no)
+
+
+
+**Initialize semaphore pattern for parallel revalidation**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🚀 Starting Parallel Revalidation
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+Initialize state:
+- story_queue = epic_stories
+- active_workers = {}
+- completed_stories = []
+- failed_stories = []
+
+Fill initial worker slots (up to max_concurrent):
+
+```
+Task({
+ subagent_type: "general-purpose",
+ description: "Revalidate story {{story_key}}",
+ prompt: `
+Execute revalidate-story workflow for {{story_key}}.
+
+
+@revalidate-story/workflow.md
+
+
+Parameters:
+- story_file: {{story_file}}
+- fill_gaps: {{fill_gaps}}
+
+Return verification summary with verified_pct, gaps_found, gaps_filled.
+`,
+ run_in_background: true
+})
+```
+
+
+
+**Keep workers running until all stories done**
+
+While active_workers > 0 OR stories remaining in queue:
+
+1. Poll for completed workers (non-blocking with TaskOutput)
+2. When worker completes:
+ - Parse verification results
+ - Add to completed_stories
+ - If more stories in queue: spawn new worker in that slot
+3. Display progress every 30 seconds:
+
+```
+📊 Progress: {{completed}} completed, {{active}} active, {{queued}} queued
+```
+
+
+
+**Generate epic-level summary**
+
+Calculate totals across all stories:
+- epic_verified = sum of verified items
+- epic_partial = sum of partial items
+- epic_missing = sum of missing items
+- epic_verified_pct = (verified / total) × 100
+
+Group stories by health:
+- Complete (≥95% verified)
+- Mostly Complete (80-94%)
+- Partial (50-79%)
+- Incomplete (<50%)
+
+
+
+**Show epic revalidation results**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 EPIC {{epic_number}} REVALIDATION SUMMARY
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Total Stories: {{count}}
+Completed: {{completed_count}}
+Failed: {{failed_count}}
+
+Epic-Wide Verification:
+- ✅ Verified: {{verified}}/{{total}} ({{pct}}%)
+- 🔶 Partial: {{partial}}/{{total}}
+- ❌ Missing: {{missing}}/{{total}}
+
+Epic Health Score: {{epic_verified_pct}}/100
+
+{{#if pct >= 95}}
+✅ Epic is COMPLETE and verified
+{{else if pct >= 80}}
+🔶 Epic is MOSTLY COMPLETE
+{{else if pct >= 50}}
+⚠️ Epic is PARTIALLY COMPLETE
+{{else}}
+❌ Epic is INCOMPLETE (major rework needed)
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Update sprint-status with revalidation results**
+
+Use Edit tool to add comment to epic entry:
+```
+epic-{{epic_number}}: done # Revalidated: {{pct}}% verified ({{timestamp}})
+```
+
+
+
+
+
+**Worker fails:** Log error, refill slot if continue_on_failure=true.
+**All stories fail:** Report systemic issue, halt batch.
+**Story file missing:** Skip with warning.
+
+
+
+- [ ] All epic stories processed
+- [ ] Results aggregated
+- [ ] Epic health score calculated
+- [ ] Sprint status updated (if enabled)
+
diff --git a/src/bmm/workflows/4-implementation/revalidate-story/workflow.md b/src/bmm/workflows/4-implementation/revalidate-story/workflow.md
new file mode 100644
index 00000000..5e28a7ae
--- /dev/null
+++ b/src/bmm/workflows/4-implementation/revalidate-story/workflow.md
@@ -0,0 +1,225 @@
+# Revalidate Story v3.0 - Verify Checkboxes Against Codebase
+
+
+Clear all checkboxes and re-verify each item against actual codebase reality.
+Detects over-reported completion and identifies real gaps.
+Optionally fills gaps by implementing missing items.
+
+
+
+**Trust But Verify, Evidence Required**
+
+1. Clear all checkboxes (fresh start)
+2. For each AC/Task/DoD: search codebase for evidence
+3. Only re-check if evidence found AND not a stub
+4. Report accuracy: was completion over-reported or under-reported?
+
+
+
+name: revalidate-story
+version: 3.0.0
+
+defaults:
+ fill_gaps: false
+ max_gaps_to_fill: 10
+ commit_strategy: "all_at_once" # or "per_gap"
+ create_report: true
+ update_sprint_status: true
+
+verification_status:
+ verified: {checkbox: "[x]", evidence: "found, not stub, tests exist"}
+ partial: {checkbox: "[~]", evidence: "partial implementation or missing tests"}
+ missing: {checkbox: "[ ]", evidence: "not found in codebase"}
+
+
+
+@patterns/verification.md
+@patterns/hospital-grade.md
+
+
+
+
+
+**Load story and backup current state**
+
+```bash
+STORY_FILE="{{story_file}}"
+[ -f "$STORY_FILE" ] || { echo "ERROR: story_file required"; exit 1; }
+```
+
+Use Read tool on story file. Count current checkboxes:
+- ac_checked_before
+- tasks_checked_before
+- dod_checked_before
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 STORY REVALIDATION STARTED
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Story: {{story_key}}
+Mode: {{fill_gaps ? "Verify & Fill Gaps" : "Verify Only"}}
+
+Current State:
+- Acceptance Criteria: {{ac_checked}}/{{ac_total}} checked
+- Tasks: {{tasks_checked}}/{{tasks_total}} checked
+- DoD: {{dod_checked}}/{{dod_total}} checked
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Clear all checkboxes for fresh verification**
+
+Use Edit tool (replace_all: true):
+- `[x]` → `[ ]` in Acceptance Criteria section
+- `[x]` → `[ ]` in Tasks section
+- `[x]` → `[ ]` in Definition of Done section
+
+
+
+**Verify each AC against codebase**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📋 VERIFYING ACCEPTANCE CRITERIA
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+For each AC item:
+
+1. **Parse AC** - Extract file/component/feature mentions
+2. **Search codebase** - Use Glob/Grep to find evidence
+3. **Verify implementation** - Read files, check for:
+ - NOT a stub (no "TODO", "Not implemented", empty function)
+ - Has actual implementation
+ - Tests exist (*.test.* or *.spec.*)
+
+4. **Determine status:**
+ - VERIFIED: Evidence found, not stub, tests exist → check [x]
+ - PARTIAL: Partial evidence or missing tests → check [~]
+ - MISSING: No evidence found → leave [ ]
+
+5. **Record evidence or gap**
+
+
+
+**Verify each task against codebase**
+
+Same process as ACs:
+- Parse task description for artifacts
+- Search codebase with Glob/Grep
+- Read and verify (check for stubs, tests)
+- Update checkbox based on evidence
+
+
+
+**Verify DoD items**
+
+For common DoD items, run actual checks:
+- "Type check passes" → `npm run type-check`
+- "Unit tests pass" → `npm test`
+- "Linting clean" → `npm run lint`
+- "Build succeeds" → `npm run build`
+
+
+
+**Calculate and display results**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 REVALIDATION SUMMARY
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Story: {{story_key}}
+
+Verification Results:
+- ✅ Verified: {{verified}}/{{total}} ({{pct}}%)
+- 🔶 Partial: {{partial}}/{{total}}
+- ❌ Missing: {{missing}}/{{total}}
+
+Accuracy Check:
+- Before: {{pct_before}}% checked
+- After: {{verified_pct}}% verified
+- {{pct_before > verified_pct ? "Over-reported" : "Under-reported"}}
+
+{{#if missing > 0}}
+Gaps Found ({{missing}}):
+[list gaps with what's missing]
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Implement missing items**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔧 GAP FILLING MODE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+Safety check:
+```
+if gaps_found > max_gaps_to_fill:
+ echo "⚠️ TOO MANY GAPS ({{gaps}} > {{max}})"
+ echo "Consider re-implementing with /dev-story"
+ HALT
+```
+
+For each gap:
+1. Load story context
+2. Implement missing item
+3. Write tests
+4. Run tests to verify
+5. Check box [x] if successful
+6. Commit if commit_strategy == "per_gap"
+
+
+
+**Re-verify and commit**
+
+If gaps were filled:
+1. Re-run verification on filled gaps
+2. Commit all changes (if commit_strategy == "all_at_once")
+
+Update sprint-status.yaml with revalidation result:
+```
+{{story_key}}: {{status}} # Revalidated: {{pct}}% ({{timestamp}})
+```
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ REVALIDATION COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Final: {{verified}}/{{total}} verified ({{pct}}%)
+
+Recommendation:
+{{#if pct >= 95}}
+✅ Story is COMPLETE - mark as "done"
+{{else if pct >= 80}}
+🔶 Mostly complete - finish remaining items
+{{else if pct >= 50}}
+⚠️ Significant gaps - continue with /dev-story
+{{else}}
+❌ Mostly incomplete - consider re-implementing
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+
+
+**File not found:** HALT with error.
+**Verification fails:** Record gap, continue to next item.
+**Gap fill fails:** Leave unchecked, record failure.
+**Too many gaps:** HALT, recommend re-implementation.
+
+
+
+- [ ] All items verified against codebase
+- [ ] Checkboxes reflect actual implementation
+- [ ] Accuracy comparison displayed
+- [ ] Gaps filled (if enabled)
+- [ ] Sprint status updated
+
diff --git a/src/modules/bmm/workflows/4-implementation/detect-ghost-features/workflow.md b/src/modules/bmm/workflows/4-implementation/detect-ghost-features/workflow.md
new file mode 100644
index 00000000..61132bf3
--- /dev/null
+++ b/src/modules/bmm/workflows/4-implementation/detect-ghost-features/workflow.md
@@ -0,0 +1,278 @@
+# Detect Ghost Features v3.0 - Reverse Gap Analysis
+
+
+Find undocumented code (components, APIs, services, tables) that exist in codebase
+but aren't tracked in any story. "Who you gonna call?" - Ghost Features.
+
+
+
+**Reverse Gap Analysis**
+
+Normal gap analysis: story says X should exist → does it?
+Reverse gap analysis: X exists in code → is it documented?
+
+Undocumented features become maintenance nightmares.
+Find them, create backfill stories, restore traceability.
+
+
+
+name: detect-ghost-features
+version: 3.0.0
+
+scan_scope:
+ epic: "Filter to specific epic number"
+ sprint: "All stories in sprint-status.yaml"
+ codebase: "All stories in sprint-artifacts"
+
+scan_for:
+ components: true
+ api_endpoints: true
+ database_tables: true
+ services: true
+
+severity:
+ critical: "APIs, auth, payment (undocumented = high risk)"
+ high: "Components, DB tables, services"
+ medium: "Utilities, helpers"
+ low: "Config files, constants"
+
+defaults:
+ create_backfill_stories: false
+ auto_create: false
+ add_to_sprint_status: true
+ create_report: true
+
+
+
+@patterns/hospital-grade.md
+
+
+
+
+
+**Load documented artifacts from stories**
+
+Based on scan_scope (epic/sprint/codebase):
+
+```bash
+# Get all story files
+STORIES=$(ls docs/sprint-artifacts/*.md | grep -v "epic-")
+```
+
+For each story:
+1. Read story file
+2. Extract documented artifacts:
+ - File List (all paths mentioned)
+ - Tasks (file/component/service names)
+ - ACs (features/functionality)
+3. Store in: documented_artifacts[story_key]
+
+
+
+**Scan codebase for actual implementations**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+👻 SCANNING FOR GHOST FEATURES
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+**Components:**
+```bash
+# Find React/Vue/Angular components
+find . -name "*.tsx" -o -name "*.jsx" | xargs grep -l "export.*function\|export.*const"
+```
+
+**API Endpoints:**
+```bash
+# Find Next.js/Express routes
+find . -path "*/api/*" -name "*.ts"
+grep -r "export.*GET\|export.*POST\|router\.\(get\|post\)" .
+```
+
+**Database Tables:**
+```bash
+# Find Prisma/TypeORM models
+grep -r "^model " prisma/schema.prisma
+find . -name "*.entity.ts"
+```
+
+**Services:**
+```bash
+find . -name "*.service.ts" -o -name "*Service.ts"
+```
+
+
+
+**Compare codebase artifacts to story documentation**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 CROSS-REFERENCING
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+For each codebase artifact:
+1. Search all stories for mentions of:
+ - Component/file name
+ - File path
+ - Feature description
+2. If NO stories mention it → ORPHAN (ghost feature)
+3. If stories mention it → Documented
+
+Track orphans with:
+- type (component/api/db/service)
+- name and path
+- severity
+- inferred purpose
+
+
+
+**Analyze and prioritize ghost features**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+👻 GHOST FEATURES DETECTED
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Total Orphans: {{count}}
+
+By Severity:
+- 🔴 CRITICAL: {{critical}} (APIs, security)
+- 🟠 HIGH: {{high}} (Components, DB, services)
+- 🟡 MEDIUM: {{medium}} (Utilities)
+- 🟢 LOW: {{low}} (Config)
+
+By Type:
+- Components: {{components}}
+- API Endpoints: {{apis}}
+- Database Tables: {{tables}}
+- Services: {{services}}
+
+Documentation Coverage: {{documented_pct}}%
+Orphan Rate: {{orphan_pct}}%
+
+{{#if orphan_pct > 20}}
+⚠️ HIGH ORPHAN RATE - Over 20% undocumented!
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Generate stories for orphaned features**
+
+For each orphan (prioritized by severity):
+
+1. **Analyze orphan** - Read implementation, find tests, understand purpose
+2. **Generate story draft:**
+
+```markdown
+# Story: Document existing {{name}}
+
+**Type:** BACKFILL (documenting existing code)
+
+## Business Context
+{{inferred_from_code}}
+
+## Current State
+✅ Implementation EXISTS: {{file}}
+{{#if has_tests}}✅ Tests exist{{else}}❌ No tests{{/if}}
+
+## Acceptance Criteria
+{{inferred_acs}}
+
+## Tasks
+- [x] {{name}} implementation (ALREADY EXISTS)
+{{#if !has_tests}}- [ ] Add tests{{/if}}
+- [ ] Verify functionality
+- [ ] Assign to epic
+```
+
+3. **Ask user** (unless auto_create):
+ - [Y] Create story
+ - [A] Auto-create all remaining
+ - [S] Skip this orphan
+ - [H] Halt
+
+4. **Write story file:** `docs/sprint-artifacts/backfill-{{type}}-{{name}}.md`
+
+5. **Update sprint-status.yaml** (if enabled)
+
+
+
+**Recommend epic assignment**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 BACKFILL ORGANIZATION
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+Options:
+[A] Create Epic-Backfill (recommended)
+ - Single epic for all backfill stories
+ - Clear separation from feature work
+
+[B] Distribute to existing epics
+ - Add each to its logical epic
+
+[C] Leave in backlog
+ - Manual assignment later
+```
+
+
+
+**Write comprehensive ghost features report**
+
+Write to: `docs/sprint-artifacts/ghost-features-report-{{timestamp}}.md`
+
+Include:
+- Executive summary
+- Full orphan list by severity
+- Backfill stories created
+- Recommendations
+- Scan methodology
+
+
+
+**Display results and next steps**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ GHOST FEATURE DETECTION COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Orphans Found: {{orphan_count}}
+Backfill Stories Created: {{backfill_count}}
+Documentation Coverage: {{documented_pct}}%
+
+{{#if orphan_count == 0}}
+✅ All code is documented in stories!
+{{else}}
+Next Steps:
+1. Review backfill stories for accuracy
+2. Assign to epics
+3. Add tests/docs for orphans
+4. Run revalidation to verify
+{{/if}}
+
+💡 Pro Tip: Run this periodically to catch
+ vibe-coded features before they become
+ maintenance nightmares.
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+
+
+**No stories found:** Check scan_scope, verify sprint-artifacts exists.
+**Scan fails:** Report which scan type failed, continue others.
+**Backfill creation fails:** Skip, continue to next orphan.
+
+
+
+- [ ] All artifact types scanned
+- [ ] Cross-reference completed
+- [ ] Orphans categorized by severity
+- [ ] Backfill stories created (if enabled)
+- [ ] Report generated
+
diff --git a/src/modules/bmm/workflows/4-implementation/migrate-to-github/workflow.md b/src/modules/bmm/workflows/4-implementation/migrate-to-github/workflow.md
new file mode 100644
index 00000000..6d16f06d
--- /dev/null
+++ b/src/modules/bmm/workflows/4-implementation/migrate-to-github/workflow.md
@@ -0,0 +1,279 @@
+# Migrate to GitHub v3.0 - Production-Grade Story Migration
+
+
+Migrate BMAD stories to GitHub Issues with full safety guarantees.
+Idempotent, atomic, verified, resumable, and reversible.
+
+
+
+**Reliability First, Data Integrity Over Speed**
+
+- Idempotent: Can re-run safely (checks for duplicates)
+- Atomic: Each story fully succeeds or rolls back
+- Verified: Reads back each created issue
+- Resumable: Saves state after each story
+- Reversible: Creates rollback manifest
+
+
+
+name: migrate-to-github
+version: 3.0.0
+
+modes:
+ dry-run: {description: "Preview only, no changes", default: true}
+ execute: {description: "Actually create issues"}
+ verify: {description: "Double-check migration accuracy"}
+ rollback: {description: "Close migrated issues"}
+
+defaults:
+ update_existing: false
+ halt_on_critical_error: true
+ save_state_after_each: true
+ max_retries: 3
+ retry_backoff_ms: [1000, 3000, 10000]
+
+labels:
+ - "type:story"
+ - "story:{{story_key}}"
+ - "status:{{status}}"
+ - "epic:{{epic_number}}"
+ - "complexity:{{complexity}}"
+
+
+
+@patterns/hospital-grade.md
+
+
+
+
+
+**Verify all prerequisites before ANY operations**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🛡️ PRE-FLIGHT SAFETY CHECKS
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+**1. Verify GitHub MCP access:**
+```
+Call: mcp__github__get_me()
+If fails: HALT - Cannot proceed without GitHub API access
+```
+
+**2. Verify repository access:**
+```
+Call: mcp__github__list_issues(owner, repo, per_page=1)
+If fails: HALT - Repository not accessible
+```
+
+**3. Verify local files exist:**
+```bash
+[ -f "docs/sprint-artifacts/sprint-status.yaml" ] || { echo "HALT"; exit 1; }
+```
+
+**4. Check for existing migration:**
+- If state file exists: offer Resume/Fresh/View/Delete
+- If resuming: load already-migrated stories, filter from queue
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ PRE-FLIGHT CHECKS PASSED
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Preview migration plan without making changes**
+
+For each story:
+1. Search GitHub for existing issue with label `story:{{story_key}}`
+2. If exists: mark as "Would UPDATE" or "Would SKIP"
+3. If not exists: mark as "Would CREATE"
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 DRY-RUN SUMMARY
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Would CREATE: {{create_count}} new issues
+Would UPDATE: {{update_count}} existing issues
+Would SKIP: {{skip_count}}
+
+Estimated API Calls: ~{{total_calls}}
+Rate Limit Impact: Safe (< 1000 calls)
+
+⚠️ This was a DRY-RUN. No issues created.
+To execute: /migrate-to-github mode=execute
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Perform migration with atomic operations**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+⚡ EXECUTE MODE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+**Final confirmation:**
+```
+Type "I understand and want to proceed" to continue:
+```
+
+Initialize migration state and rollback manifest.
+
+For each story:
+
+**1. Check if exists (idempotent):**
+```
+Search: label:story:{{story_key}}
+If exists AND update_existing=false: SKIP
+```
+
+**2. Generate issue body:**
+```markdown
+**Story File:** [{{story_key}}.md](path)
+**Epic:** {{epic_number}}
+
+## Business Context
+{{parsed.businessContext}}
+
+## Acceptance Criteria
+{{#each ac}}
+- [ ] {{this}}
+{{/each}}
+
+## Tasks
+{{#each tasks}}
+- [ ] {{this}}
+{{/each}}
+```
+
+**3. Create/update with retry and verification:**
+```
+attempt = 0
+WHILE attempt < max_retries:
+ TRY:
+ result = mcp__github__issue_write(create/update)
+ sleep 2 seconds # GitHub eventual consistency
+
+ verification = mcp__github__issue_read(issue_number)
+ IF verification.title != expected:
+ THROW "Verification failed"
+
+ SUCCESS - add to rollback manifest
+ BREAK
+
+ CATCH:
+ attempt++
+ IF attempt < max_retries:
+ sleep backoff_ms[attempt]
+ ELSE:
+ FAIL - add to issues_failed
+```
+
+**4. Save state after each story**
+
+**5. Progress updates every 10 stories:**
+```
+📊 Progress: {{index}}/{{total}}
+ Created: {{created}}, Updated: {{updated}}, Failed: {{failed}}
+```
+
+
+
+**Double-check migration accuracy**
+
+For each migrated story:
+1. Fetch issue from GitHub
+2. Verify title, labels, AC count match
+3. Report mismatches
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 VERIFICATION RESULTS
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Verified Correct: {{verified}}
+Warnings: {{warnings}}
+Failures: {{failures}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Close migrated issues (GitHub API doesn't support delete)**
+
+Load rollback manifest. For each created issue:
+```
+mcp__github__issue_write({
+ issue_number: {{number}},
+ state: "closed",
+ labels: ["migrated:rolled-back"],
+ state_reason: "not_planned"
+})
+
+mcp__github__add_issue_comment({
+ body: "Issue closed - migration was rolled back."
+})
+```
+
+
+
+**Create comprehensive migration report**
+
+Write to: `docs/sprint-artifacts/github-migration-{{timestamp}}.md`
+
+Include:
+- Executive summary
+- Created/updated/failed issues
+- GitHub URLs for each issue
+- Rollback instructions
+- Next steps
+
+
+
+**Display completion status**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ MIGRATION COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Total: {{total}} stories
+Created: {{created}}
+Updated: {{updated}}
+Failed: {{failed}}
+Success Rate: {{success_pct}}%
+
+View in GitHub:
+https://github.com/{{owner}}/{{repo}}/issues?q=label:type:story
+
+Rollback Manifest: {{rollback_path}}
+State File: {{state_path}}
+
+Next Steps:
+1. Verify: /migrate-to-github mode=verify
+2. Enable GitHub sync in workflow.yaml
+3. Share Issues URL with Product Owner
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+
+
+**GitHub MCP unavailable:** HALT - Cannot proceed.
+**Repository not accessible:** HALT - Check permissions.
+**Issue create fails:** Retry with backoff, then fail story.
+**Verification fails:** Log warning, continue.
+**All stories fail:** Report systemic issue, HALT.
+
+
+
+- [ ] Pre-flight checks passed
+- [ ] All stories processed
+- [ ] Issues verified after creation
+- [ ] State and rollback manifest saved
+- [ ] Report generated
+
diff --git a/src/modules/bmm/workflows/4-implementation/multi-agent-review/workflow.md b/src/modules/bmm/workflows/4-implementation/multi-agent-review/workflow.md
new file mode 100644
index 00000000..2d32d036
--- /dev/null
+++ b/src/modules/bmm/workflows/4-implementation/multi-agent-review/workflow.md
@@ -0,0 +1,197 @@
+# Multi-Agent Code Review v3.0
+
+
+Perform unbiased code review using multiple specialized AI agents in fresh context.
+Agent count scales with story complexity. Independent perspective prevents bias.
+
+
+
+**Fresh Context, Multiple Perspectives**
+
+- Review happens in NEW session (not the agent that wrote the code)
+- Prevents bias from implementation decisions
+- Agent count determined by complexity, agents chosen by code analysis
+- Smart selection: touching auth code → auth-security agent, etc.
+
+
+
+name: multi-agent-review
+version: 3.0.0
+
+agent_selection:
+ micro: {count: 2, agents: [security, code_quality]}
+ standard: {count: 4, agents: [security, code_quality, architecture, testing]}
+ complex: {count: 6, agents: [security, code_quality, architecture, testing, performance, domain_expert]}
+
+available_agents:
+ security: "Identifies vulnerabilities and security risks"
+ code_quality: "Reviews style, maintainability, best practices"
+ architecture: "Reviews system design, patterns, structure"
+ testing: "Evaluates test coverage and quality"
+ performance: "Analyzes efficiency and optimization"
+ domain_expert: "Validates business logic and domain constraints"
+
+
+
+@patterns/security-checklist.md
+@patterns/hospital-grade.md
+@patterns/agent-completion.md
+
+
+
+
+
+**Select agents based on complexity**
+
+```
+If complexity_level == "micro":
+ agents = ["security", "code_quality"]
+ Display: 🔍 MICRO Review (2 agents)
+
+Else if complexity_level == "standard":
+ agents = ["security", "code_quality", "architecture", "testing"]
+ Display: 📋 STANDARD Review (4 agents)
+
+Else if complexity_level == "complex":
+ agents = ALL 6 agents
+ Display: 🔬 COMPLEX Review (6 agents)
+```
+
+
+
+**Load story file and understand requirements**
+
+```bash
+STORY_FILE="{{story_file}}"
+[ -f "$STORY_FILE" ] || { echo "❌ Story file not found"; exit 1; }
+```
+
+Use Read tool on story file. Extract:
+- What was supposed to be implemented
+- Acceptance criteria
+- Tasks and subtasks
+- File list
+
+
+
+**Spawn review agents in fresh context**
+
+For each agent in selected agents, spawn Task agent:
+
+```
+Task({
+ subagent_type: "general-purpose",
+ description: "{{agent_type}} review for {{story_key}}",
+ prompt: `
+You are the {{AGENT_TYPE}} reviewer for story {{story_key}}.
+
+
+@patterns/security-checklist.md
+@patterns/hospital-grade.md
+
+
+
+Story: [inline story content]
+Changed files: [git diff output]
+
+
+
+Review from your {{agent_type}} perspective. Find issues, be thorough.
+
+
+
+- [ ] All relevant files reviewed
+- [ ] Issues categorized by severity (CRITICAL/HIGH/MEDIUM/LOW)
+- [ ] Return ## AGENT COMPLETE with findings
+
+`
+})
+```
+
+Wait for all agents to complete. Aggregate findings.
+
+
+
+**Collect and categorize all findings**
+
+Merge findings from all agents:
+- CRITICAL: Security vulnerabilities, data loss risks
+- HIGH: Production bugs, logic errors
+- MEDIUM: Technical debt, maintainability
+- LOW: Nice-to-have improvements
+
+
+
+**Display review summary**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🤖 MULTI-AGENT CODE REVIEW COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+Agents Used: {{agent_count}}
+- Security Agent
+- Code Quality Agent
+[...]
+
+Findings:
+- 🔴 CRITICAL: {{critical_count}}
+- 🟠 HIGH: {{high_count}}
+- 🟡 MEDIUM: {{medium_count}}
+- 🔵 LOW: {{low_count}}
+```
+
+For each finding, display:
+- Severity and title
+- Agent that found it
+- Location (file:line)
+- Description and recommendation
+
+
+
+**Suggest next steps based on findings**
+
+```
+📋 RECOMMENDED NEXT STEPS:
+
+If CRITICAL findings exist:
+ ⚠️ MUST FIX before proceeding
+ - Address all critical security/correctness issues
+ - Re-run review after fixes
+
+If only HIGH/MEDIUM findings:
+ ✅ Story may proceed
+ - Consider addressing high-priority items
+ - Create follow-up tasks for medium items
+
+If only LOW/INFO findings:
+ ✅ Code quality looks good
+ - Optional: Address style/optimization suggestions
+```
+
+
+
+
+
+**When to use:**
+- Complex stories (≥16 tasks or high-risk keywords)
+- Security-sensitive code
+- Significant architectural changes
+- When single-agent review was inconclusive
+
+**When NOT to use:**
+- Micro stories (≤3 tasks)
+- Standard stories with simple changes
+- Stories that passed adversarial review cleanly
+
+
+
+**Review agent fails:** Fall back to adversarial code review.
+**API error:** Log failure, continue pipeline with warning.
+
+
+
+- [ ] All selected agents completed review
+- [ ] Findings aggregated and categorized
+- [ ] Report displayed with recommendations
+
diff --git a/src/modules/bmm/workflows/4-implementation/recover-sprint-status/workflow.md b/src/modules/bmm/workflows/4-implementation/recover-sprint-status/workflow.md
new file mode 100644
index 00000000..0b4c8017
--- /dev/null
+++ b/src/modules/bmm/workflows/4-implementation/recover-sprint-status/workflow.md
@@ -0,0 +1,172 @@
+# Recover Sprint Status v3.0
+
+
+Fix sprint-status.yaml when tracking has drifted. Analyzes multiple sources
+(story files, git commits, completion reports) to rebuild accurate status.
+
+
+
+**Multiple Evidence Sources, Conservative Updates**
+
+1. Story file quality (size, tasks, checkboxes)
+2. Explicit Status: fields in stories
+3. Git commits (last 30 days)
+4. Autonomous completion reports
+5. Task completion rate
+
+Trust explicit Status: fields highest. Require evidence for status changes.
+
+
+
+name: recover-sprint-status
+version: 3.0.0
+
+modes:
+ dry-run: {description: "Analysis only, no changes", default: true}
+ conservative: {description: "High confidence updates only"}
+ aggressive: {description: "Medium+ confidence, infers from git"}
+ interactive: {description: "Ask before each batch"}
+
+confidence_levels:
+ very_high: {sources: [explicit_status, completion_report]}
+ high: {sources: [3+ git_commits, 90% tasks_complete]}
+ medium: {sources: [1-2 git_commits, 50-90% tasks_complete]}
+ low: {sources: [no_status, no_commits, small_file]}
+
+
+
+@patterns/hospital-grade.md
+
+
+
+
+
+**Scan all evidence sources**
+
+```bash
+# Find story files
+SPRINT_ARTIFACTS="docs/sprint-artifacts"
+STORIES=$(ls $SPRINT_ARTIFACTS/*.md 2>/dev/null | grep -v "epic-")
+
+# Get recent git commits
+git log --oneline --since="30 days ago" > /tmp/recent_commits.txt
+```
+
+For each story:
+1. Read story file, extract Status: field if present
+2. Check file size (≥10KB = properly detailed)
+3. Count tasks and checkbox completion
+4. Search git commits for story references
+5. Check for completion reports (.epic-*-completion-report.md)
+
+
+
+**Determine confidence level for each story**
+
+| Evidence | Confidence | Action |
+|----------|------------|--------|
+| Explicit Status: done | Very High | Trust it |
+| Completion report lists story | Very High | Mark done |
+| 3+ git commits + 90% checked | High | Mark done |
+| 1-2 commits OR 50-90% checked | Medium | Mark in-progress |
+| No commits, <50% checked | Low | Leave as-is |
+| File <10KB | Low | Downgrade if done |
+
+
+
+**Show recommendations without applying**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 RECOVERY ANALYSIS (Dry Run)
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+High Confidence Updates:
+- 2-5-auth: backlog → done (explicit Status:, 3 commits)
+- 2-6-profile: in-progress → done (completion report)
+
+Medium Confidence Updates:
+- 2-7-settings: backlog → in-progress (2 commits)
+
+Low Confidence (verify manually):
+- 2-8-dashboard: no Status:, no commits, <10KB file
+```
+
+Exit after preview. No changes made.
+
+
+
+**Apply only high/very-high confidence updates**
+
+For each high+ confidence story:
+1. Backup current sprint-status.yaml
+2. Use Edit tool to update status
+3. Log change
+
+```bash
+# Backup
+cp $SPRINT_STATUS .sprint-status-backups/sprint-status-recovery-$(date +%Y%m%d).yaml
+```
+
+Skip medium/low confidence stories.
+
+
+
+**Apply medium+ confidence updates**
+
+Includes:
+- Inferring from git commits (even 1 commit)
+- Using task completion rate
+- Pre-filling brownfield checkboxes
+
+```
+⚠️ AGGRESSIVE mode may make incorrect inferences.
+ Review results carefully.
+```
+
+
+
+**Verify recovery worked**
+
+```bash
+./scripts/sync-sprint-status.sh --validate
+```
+
+Should show:
+- "✓ sprint-status.yaml is up to date!" (success)
+- OR discrepancy count (if issues remain)
+
+
+
+**Commit the recovery**
+
+Use Bash to commit:
+```bash
+git add docs/sprint-artifacts/sprint-status.yaml
+git add .sprint-status-backups/
+git commit -m "fix(tracking): Recover sprint-status.yaml - {{mode}} recovery"
+```
+
+
+
+
+
+**No changes detected:** sprint-status.yaml already accurate.
+**Low confidence on known-done stories:** Add Status: field manually, re-run.
+**Recovery marks incomplete as done:** Use conservative mode, verify manually.
+
+
+
+- [ ] Run validation: `./scripts/sync-sprint-status.sh --validate`
+- [ ] Review backup in `.sprint-status-backups/`
+- [ ] Spot-check 5-10 stories for accuracy
+- [ ] Commit changes
+- [ ] Document why drift occurred
+
+
+
+- [ ] All evidence sources analyzed
+- [ ] Changes applied based on confidence threshold
+- [ ] Validation passes
+- [ ] Backup created
+
diff --git a/src/modules/bmm/workflows/4-implementation/revalidate-epic/workflow.md b/src/modules/bmm/workflows/4-implementation/revalidate-epic/workflow.md
new file mode 100644
index 00000000..0f2769b0
--- /dev/null
+++ b/src/modules/bmm/workflows/4-implementation/revalidate-epic/workflow.md
@@ -0,0 +1,189 @@
+# Revalidate Epic v3.0 - Batch Story Revalidation
+
+
+Batch revalidate all stories in an epic using parallel agents (semaphore pattern).
+Clears checkboxes, verifies against codebase, re-checks verified items.
+
+
+
+**Parallel Verification, Continuous Worker Pool**
+
+- Spawn up to N workers, refill as each completes
+- Each story gets fresh context verification
+- Aggregate results into epic-level health score
+- Optionally fill gaps found during verification
+
+
+
+name: revalidate-epic
+version: 3.0.0
+
+defaults:
+ max_concurrent: 3
+ fill_gaps: false
+ continue_on_failure: true
+ create_epic_report: true
+ update_sprint_status: true
+
+
+
+@patterns/verification.md
+@patterns/hospital-grade.md
+@revalidate-story/workflow.md
+
+
+
+
+
+**Find all stories for the epic**
+
+```bash
+EPIC_NUMBER="{{epic_number}}"
+[ -n "$EPIC_NUMBER" ] || { echo "ERROR: epic_number required"; exit 1; }
+
+# Filter stories from sprint-status.yaml
+grep "^${EPIC_NUMBER}-" docs/sprint-artifacts/sprint-status.yaml
+```
+
+Use Read tool on sprint-status.yaml. Filter stories starting with `{epic_number}-`.
+Exclude epics and retrospectives.
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 EPIC {{epic_number}} REVALIDATION
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Stories Found: {{count}}
+Mode: {{fill_gaps ? "Verify & Fill Gaps" : "Verify Only"}}
+Max Concurrent: {{max_concurrent}} agents
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+Use AskUserQuestion: Proceed with revalidation? (yes/no)
+
+
+
+**Initialize semaphore pattern for parallel revalidation**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🚀 Starting Parallel Revalidation
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+Initialize state:
+- story_queue = epic_stories
+- active_workers = {}
+- completed_stories = []
+- failed_stories = []
+
+Fill initial worker slots (up to max_concurrent):
+
+```
+Task({
+ subagent_type: "general-purpose",
+ description: "Revalidate story {{story_key}}",
+ prompt: `
+Execute revalidate-story workflow for {{story_key}}.
+
+
+@revalidate-story/workflow.md
+
+
+Parameters:
+- story_file: {{story_file}}
+- fill_gaps: {{fill_gaps}}
+
+Return verification summary with verified_pct, gaps_found, gaps_filled.
+`,
+ run_in_background: true
+})
+```
+
+
+
+**Keep workers running until all stories done**
+
+While active_workers > 0 OR stories remaining in queue:
+
+1. Poll for completed workers (non-blocking with TaskOutput)
+2. When worker completes:
+ - Parse verification results
+ - Add to completed_stories
+ - If more stories in queue: spawn new worker in that slot
+3. Display progress every 30 seconds:
+
+```
+📊 Progress: {{completed}} completed, {{active}} active, {{queued}} queued
+```
+
+
+
+**Generate epic-level summary**
+
+Calculate totals across all stories:
+- epic_verified = sum of verified items
+- epic_partial = sum of partial items
+- epic_missing = sum of missing items
+- epic_verified_pct = (verified / total) × 100
+
+Group stories by health:
+- Complete (≥95% verified)
+- Mostly Complete (80-94%)
+- Partial (50-79%)
+- Incomplete (<50%)
+
+
+
+**Show epic revalidation results**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 EPIC {{epic_number}} REVALIDATION SUMMARY
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Total Stories: {{count}}
+Completed: {{completed_count}}
+Failed: {{failed_count}}
+
+Epic-Wide Verification:
+- ✅ Verified: {{verified}}/{{total}} ({{pct}}%)
+- 🔶 Partial: {{partial}}/{{total}}
+- ❌ Missing: {{missing}}/{{total}}
+
+Epic Health Score: {{epic_verified_pct}}/100
+
+{{#if pct >= 95}}
+✅ Epic is COMPLETE and verified
+{{else if pct >= 80}}
+🔶 Epic is MOSTLY COMPLETE
+{{else if pct >= 50}}
+⚠️ Epic is PARTIALLY COMPLETE
+{{else}}
+❌ Epic is INCOMPLETE (major rework needed)
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Update sprint-status with revalidation results**
+
+Use Edit tool to add comment to epic entry:
+```
+epic-{{epic_number}}: done # Revalidated: {{pct}}% verified ({{timestamp}})
+```
+
+
+
+
+
+**Worker fails:** Log error, refill slot if continue_on_failure=true.
+**All stories fail:** Report systemic issue, halt batch.
+**Story file missing:** Skip with warning.
+
+
+
+- [ ] All epic stories processed
+- [ ] Results aggregated
+- [ ] Epic health score calculated
+- [ ] Sprint status updated (if enabled)
+
diff --git a/src/modules/bmm/workflows/4-implementation/revalidate-story/workflow.md b/src/modules/bmm/workflows/4-implementation/revalidate-story/workflow.md
new file mode 100644
index 00000000..5e28a7ae
--- /dev/null
+++ b/src/modules/bmm/workflows/4-implementation/revalidate-story/workflow.md
@@ -0,0 +1,225 @@
+# Revalidate Story v3.0 - Verify Checkboxes Against Codebase
+
+
+Clear all checkboxes and re-verify each item against actual codebase reality.
+Detects over-reported completion and identifies real gaps.
+Optionally fills gaps by implementing missing items.
+
+
+
+**Trust But Verify, Evidence Required**
+
+1. Clear all checkboxes (fresh start)
+2. For each AC/Task/DoD: search codebase for evidence
+3. Only re-check if evidence found AND not a stub
+4. Report accuracy: was completion over-reported or under-reported?
+
+
+
+name: revalidate-story
+version: 3.0.0
+
+defaults:
+ fill_gaps: false
+ max_gaps_to_fill: 10
+ commit_strategy: "all_at_once" # or "per_gap"
+ create_report: true
+ update_sprint_status: true
+
+verification_status:
+ verified: {checkbox: "[x]", evidence: "found, not stub, tests exist"}
+ partial: {checkbox: "[~]", evidence: "partial implementation or missing tests"}
+ missing: {checkbox: "[ ]", evidence: "not found in codebase"}
+
+
+
+@patterns/verification.md
+@patterns/hospital-grade.md
+
+
+
+
+
+**Load story and backup current state**
+
+```bash
+STORY_FILE="{{story_file}}"
+[ -f "$STORY_FILE" ] || { echo "ERROR: story_file required"; exit 1; }
+```
+
+Use Read tool on story file. Count current checkboxes:
+- ac_checked_before
+- tasks_checked_before
+- dod_checked_before
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔍 STORY REVALIDATION STARTED
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Story: {{story_key}}
+Mode: {{fill_gaps ? "Verify & Fill Gaps" : "Verify Only"}}
+
+Current State:
+- Acceptance Criteria: {{ac_checked}}/{{ac_total}} checked
+- Tasks: {{tasks_checked}}/{{tasks_total}} checked
+- DoD: {{dod_checked}}/{{dod_total}} checked
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Clear all checkboxes for fresh verification**
+
+Use Edit tool (replace_all: true):
+- `[x]` → `[ ]` in Acceptance Criteria section
+- `[x]` → `[ ]` in Tasks section
+- `[x]` → `[ ]` in Definition of Done section
+
+
+
+**Verify each AC against codebase**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📋 VERIFYING ACCEPTANCE CRITERIA
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+For each AC item:
+
+1. **Parse AC** - Extract file/component/feature mentions
+2. **Search codebase** - Use Glob/Grep to find evidence
+3. **Verify implementation** - Read files, check for:
+ - NOT a stub (no "TODO", "Not implemented", empty function)
+ - Has actual implementation
+ - Tests exist (*.test.* or *.spec.*)
+
+4. **Determine status:**
+ - VERIFIED: Evidence found, not stub, tests exist → check [x]
+ - PARTIAL: Partial evidence or missing tests → check [~]
+ - MISSING: No evidence found → leave [ ]
+
+5. **Record evidence or gap**
+
+
+
+**Verify each task against codebase**
+
+Same process as ACs:
+- Parse task description for artifacts
+- Search codebase with Glob/Grep
+- Read and verify (check for stubs, tests)
+- Update checkbox based on evidence
+
+
+
+**Verify DoD items**
+
+For common DoD items, run actual checks:
+- "Type check passes" → `npm run type-check`
+- "Unit tests pass" → `npm test`
+- "Linting clean" → `npm run lint`
+- "Build succeeds" → `npm run build`
+
+
+
+**Calculate and display results**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+📊 REVALIDATION SUMMARY
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Story: {{story_key}}
+
+Verification Results:
+- ✅ Verified: {{verified}}/{{total}} ({{pct}}%)
+- 🔶 Partial: {{partial}}/{{total}}
+- ❌ Missing: {{missing}}/{{total}}
+
+Accuracy Check:
+- Before: {{pct_before}}% checked
+- After: {{verified_pct}}% verified
+- {{pct_before > verified_pct ? "Over-reported" : "Under-reported"}}
+
+{{#if missing > 0}}
+Gaps Found ({{missing}}):
+[list gaps with what's missing]
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+**Implement missing items**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+🔧 GAP FILLING MODE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+Safety check:
+```
+if gaps_found > max_gaps_to_fill:
+ echo "⚠️ TOO MANY GAPS ({{gaps}} > {{max}})"
+ echo "Consider re-implementing with /dev-story"
+ HALT
+```
+
+For each gap:
+1. Load story context
+2. Implement missing item
+3. Write tests
+4. Run tests to verify
+5. Check box [x] if successful
+6. Commit if commit_strategy == "per_gap"
+
+
+
+**Re-verify and commit**
+
+If gaps were filled:
+1. Re-run verification on filled gaps
+2. Commit all changes (if commit_strategy == "all_at_once")
+
+Update sprint-status.yaml with revalidation result:
+```
+{{story_key}}: {{status}} # Revalidated: {{pct}}% ({{timestamp}})
+```
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+✅ REVALIDATION COMPLETE
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+Final: {{verified}}/{{total}} verified ({{pct}}%)
+
+Recommendation:
+{{#if pct >= 95}}
+✅ Story is COMPLETE - mark as "done"
+{{else if pct >= 80}}
+🔶 Mostly complete - finish remaining items
+{{else if pct >= 50}}
+⚠️ Significant gaps - continue with /dev-story
+{{else}}
+❌ Mostly incomplete - consider re-implementing
+{{/if}}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+
+
+
+
+**File not found:** HALT with error.
+**Verification fails:** Record gap, continue to next item.
+**Gap fill fails:** Leave unchecked, record failure.
+**Too many gaps:** HALT, recommend re-implementation.
+
+
+
+- [ ] All items verified against codebase
+- [ ] Checkboxes reflect actual implementation
+- [ ] Accuracy comparison displayed
+- [ ] Gaps filled (if enabled)
+- [ ] Sprint status updated
+