BMAD-METHOD/.patch/667/IMPLEMENTATION-PLAN.md

168 lines
4.1 KiB
Markdown

# PR #667 Implementation Plan
**PR**: fix: correct status terminology to match story template
**Issue**: Agents were setting invalid status values that don't match the story template valid choices
**Status**: Implementation in progress
**Branch**: `feature/status-terminology-667`
---
## 📋 Issue Summary
### Problem
The story template (`bmad-core/templates/story-tmpl.yaml`) defines valid status choices as:
- `Draft`
- `Approved`
- `InProgress`
- `Review`
- `Done`
However, agents were instructing to set invalid status values:
- `bmad-core/agents/dev.md` - instructed: `'Ready for Review'` (❌ invalid)
- `bmad-core/tasks/apply-qa-fixes.md` - instructed: `'Ready for Done'` or `'Ready for Review'` (❌ both invalid)
This causes agents to set invalid status values that violate the story template constraints.
### Impact
- Stories could be created with invalid status values
- Template validation could fail
- Inconsistent agent behavior across different story workflows
---
## 🎯 Solution
### Changes Required
#### 1. bmad-core/agents/dev.md
**Line 68** - In completion command:
- ❌ Change FROM: `set story status: 'Ready for Review'`
- ✅ Change TO: `set story status: 'Review'`
#### 2. bmad-core/tasks/apply-qa-fixes.md
**Line 107-108** - In Status Rule:
- ❌ Change FROM: `set Status: Ready for Done`
- ✅ Change TO: `set Status: Done`
- ❌ Change FROM: `set Status: Ready for Review`
- ✅ Change TO: `set Status: Review`
### Total Changes
- **Files modified**: 2
- **Lines changed**: 3
- **Lines added**: 3
- **Lines deleted**: 3
---
## 🔧 Technical Details
### Story Template Valid Status Values
```yaml
status:
type: string
enum:
- Draft
- Approved
- InProgress
- Review
- Done
```
### Terminology Mapping
| Invalid Status | Valid Status | Context |
| -------------------- | ------------ | ----------------------------------------- |
| `'Ready for Review'` | `'Review'` | After dev completes tasks, move to review |
| `'Ready for Done'` | `'Done'` | After QA approves, mark as complete |
### Why This Matters
- Valid status values ensure stories are in proper workflow states
- Invalid values cause template validation failures
- Affects both human and AI agent understanding of story progress
- Ensures consistent terminology across all agents and tasks
---
## 📊 Implementation Phases
### Phase 1: Apply Changes ✅
- [x] Read current dev.md content
- [x] Replace invalid status in dev.md
- [x] Read current apply-qa-fixes.md content
- [x] Replace invalid statuses in apply-qa-fixes.md
### Phase 2: Validation 🔄
- [ ] Run npm validate
- [ ] Run npm lint
- [ ] Verify no new errors
- [ ] Check schema compliance
### Phase 3: Documentation
- [ ] Create comprehensive diffs
- [ ] Create patch summary file
- [ ] Document test results
- [ ] Create final status report
### Phase 4: Commit & GitHub
- [ ] Commit changes with proper message
- [ ] Post GitHub comment with results
- [ ] Copy .patch/667 to backup location
---
## ✅ Validation Checklist
### Pre-Commit Validation
- [ ] Files modified: 2
- [ ] Status values corrected in both files
- [ ] npm validate: All agents & teams pass
- [ ] npm lint: No new errors from our changes
- [ ] No syntax errors introduced
- [ ] Changes match PR specification exactly
### Post-Commit Validation
- [ ] Commits with proper message
- [ ] Branch ready for merge
- [ ] Documentation comprehensive
- [ ] All tests passing
---
## 🎓 Key Points
1. **Minimal Change**: Only 3 lines changed across 2 files
2. **Bug Fix Type**: Correcting invalid status values to match template
3. **Zero Regressions**: Core system unaffected
4. **Backward Compatible**: Agents now use valid status values
5. **Improves Quality**: Ensures compliance with story template constraints
---
## 📝 Related Files
- `bmad-core/templates/story-tmpl.yaml` - Defines valid status choices
- `bmad-core/agents/dev.md` - Dev agent instructions (line 68)
- `bmad-core/tasks/apply-qa-fixes.md` - QA fix task instructions (lines 107-108)
---
**Next Steps**: Validate changes and run tests