# Gap Analysis Migration Guide

## Quick Start

**For existing BMAD users:** Gap analysis is now automatic. No changes required to your workflow!

## What Changed

### Before (BMAD v6.0.0-alpha.21 and earlier)

```
create-story → generates complete story with "verified" tasks
dev-story → blindly follows tasks as written
```

**Problem:** Tasks become stale in batch planning scenarios

### After (BMAD v6.0.0-alpha.22+)

```
create-story → generates requirements + DRAFT tasks
dev-story → validates tasks against codebase → implementation
```

**Solution:** Tasks always reflect current codebase state

## For Existing Stories

### Stories Already Created

**Option 1: No action needed**
- Gap analysis runs automatically when you use `dev-story`
- You'll be prompted to approve task updates
- Select [Y] to proceed with refinements

**Option 2: Regenerate stories** (optional)
- Delete existing story files
- Run `create-story` again
- New stories will have "DRAFT TASKS" notation

### Stories In Progress

**If you've already started development:**
- Gap analysis detects partial implementations
- Proposes tasks for remaining work only
- Use [e] Edit to manually adjust if needed

## New Workflow Steps

### When Planning (create-story)

**No changes to your workflow!** Just be aware:
- Tasks are now marked as "DRAFT"
- They'll be validated at dev-time
- This is expected behavior

### When Developing (dev-story)

**New Step 1.5 (automatic):**

1. Gap analysis runs
2. Shows findings (What Exists / What's Missing)
3. Proposes task updates
4. Waits for your approval

**Your options:**
- [Y] Yes - approve and proceed (recommended)
- [A] Auto-accept - apply + auto-accept future (automation)
- [n] No - keep draft tasks (not recommended)
- [e] Edit - manually adjust
- [s] Skip - halt development
- [r] Review - more details first

## Common Scenarios

### Scenario 1: Just-in-Time Planning

**Before:**
```bash
/create-story  # Story 1.1
/dev-story     # Implement immediately
```

**After:**
```bash
/create-story  # Story 1.1 with DRAFT tasks
/dev-story     # Gap analysis → minimal changes → implement
```

**Impact:** Minimal. Tasks stay mostly accurate.

### Scenario 2: Batch Planning (This is the game-changer!)

**Before:**
```bash
Day 1:
/create-story  # Story 1.1 says "Create validation.ts"
/create-story  # Story 1.2 says "Create validation.ts" (duplicate!)

Day 2:
/dev-story     # Implements 1.1, creates validation.ts
/dev-story     # Implements 1.2, creates validation.ts AGAIN ❌
```

**After:**
```bash
Day 1:
/create-story  # Story 1.1 DRAFT: "Create validation.ts"
/create-story  # Story 1.2 DRAFT: "Create validation.ts"

Day 2:
/dev-story     # Gap analysis: nothing exists → creates validation.ts ✅
/dev-story     # Gap analysis: validation.ts exists!
               # Updated task: "Extend validation.ts" ✅
```

**Impact:** Massive! Prevents all duplicate implementations.

## For Custom Workflows

### If You've Customized create-story

**Changes you need to merge:**
1. Step labels changed (removed "EXHAUSTIVE ANALYSIS")
2. Focus shifted to requirements (not codebase scanning)
3. Tasks marked as "DRAFT" in story files

**Compatibility:** High. Changes are mostly textual.

### If You've Customized dev-story

**Changes you need to merge:**
1. New Step 1.5 (gap analysis) between Step 1 and 2
2. Step numbers shifted (old Step 2 is now Step 2, but Step 1.5 added)
3. Story file updates (Gap Analysis section, Change Log)

**Compatibility:** Medium. Review carefully if you have custom logic.

### If You've Customized Both

**Recommendation:**
1. Review changes in both workflows
2. Test with a sample story
3. Merge your customizations carefully
4. Validate with your use cases

## Rollback Instructions

If gap analysis causes issues, you can temporarily revert:

### Temporary Workaround (keep updated workflows)

When dev-story prompts for gap analysis approval:
- Select [n] No to keep original draft tasks
- Development proceeds without task refinement

### Full Rollback (revert to old workflows)

```bash
# In BMAD-METHOD repo
git checkout v6.0.0-alpha.21 -- src/modules/bmm/workflows/4-implementation/
git checkout v6.0.0-alpha.21 -- src/modules/bmgd/workflows/4-production/

# Reinstall in your project
cd ~/git/your-project
rm -rf _bmad
npx bmad-method@alpha install
```

**Note:** Report issues to help us improve gap analysis!

## Testing Checklist

Before fully adopting gap analysis, test these scenarios:

- [ ] **Just-in-time planning** - Create + develop story immediately
- [ ] **Batch planning** - Create 3-5 stories, develop sequentially
- [ ] **Auto-accept mode** - Use [A] option for automation
- [ ] **Edit mode** - Use [e] to manually adjust tasks
- [ ] **Existing codebase** - Develop story in project with existing code
- [ ] **Greenfield project** - Develop first story (nothing exists)

## FAQ

### Q: Do I need to regenerate existing stories?

**A:** No. Gap analysis works with any story format. It will validate tasks regardless of when the story was created.

### Q: Will this break my CI/CD pipeline?

**A:** Only if your pipeline auto-runs dev-story. Add [A] auto-accept flag or pre-approve in your automation.

### Q: Can I keep the old behavior?

**A:** Select [n] when prompted. But you'll lose the benefits of gap analysis.

### Q: What if gap analysis is wrong?

**A:** Use [e] Edit to manually correct, or [n] to keep original tasks. Also report the issue so we can improve detection.

## Getting Help

**Issues or questions?**
1. Join [Discord #general-dev](https://discord.gg/gk8jAdXWmj)
2. Open issue in [BMAD-METHOD repo](https://github.com/bmad-code-org/BMAD-METHOD)
3. Check [full gap analysis documentation](./gap-analysis.md)

## Feedback Welcome

This is a new feature in BMAD v6. We'd love your feedback!

**What we want to know:**
- Does gap analysis work correctly for your use case?
- Are the proposed task updates accurate?
- Any false positives/negatives in codebase scanning?
- Feature requests or improvements?

Share in Discord or open a GitHub issue.

---

**Gap Analysis: Keeping BMAD stories grounded in reality since v6.0.0-alpha.22**
