13 KiB
13 KiB
TODO List for PR #827 Investigation
PR: #827 - Fix: Update references to 'v5' to be 'v6'
Created: 2025-10-28
Type: Incomplete documentation update - requires expansion
Phase 1: Comprehensive Search & Categorization
1.1 Gather PR Context
- 1.1.1 Download PR #827 details from GitHub API
- 1.1.2 Create PR-827-Summary.md with basic info
- 1.1.3 Save PR conversation (currently empty)
- 1.1.4 Download PR patch file (.patch) for offline analysis
- 1.1.5 Review PR description and contributor's testing notes
1.2 Apply and Analyze PR Changes
- 1.2.1 Create test branch from v6-alpha (pr-827-test)
- 1.2.2 Apply PR #827 patch to test branch (FAILED - outdated)
- 1.2.3 Review exact files modified by the patch (658 files discovered)
- 1.2.4 Document what the PR successfully changes (patch-analysis.md created)
- 1.2.5 Identify scope of PR's changes vs claims (COMPLETE - comprehensive but outdated)
1.3 Comprehensive Codebase Search
- 1.3.1 Search entire codebase for
\bv5\bpattern (443 matches in 44 files) - 1.3.2 Export grep results to structured format (CSV created)
- 1.3.3 Group results by file type (.md=432, .js=9, .yaml=2)
- 1.3.4 Group results by directory (documented in inventory)
- 1.3.5 Count total v5 references per file (443 total)
1.4 Categorize Each v5 Reference
- 1.4.1 Create v5-references-inventory.md template
- 1.4.2 Review each v5 reference and categorize:
- Type A: Intentional version markers (CHANGELOG - keep as-is)
- Type B: Documentation needing v6 update (~432 refs)
- Type C: Already fixed by PR #827 (N/A - PR outdated)
- Type D: Code/config requiring special handling (11 refs: 9 JS + 2 YAML)
- 1.4.3 Document reasoning for each categorization (in inventory)
- 1.4.4 Flag any ambiguous cases for manual review (Type D flagged)
1.5 Analyze bmad/ vs src/ Duplication
- 1.5.1 Identify which files exist in both bmad/ and src/
- 1.5.2 Verify if v5 references are identical in duplicates
- 1.5.3 Determine if duplication is intentional (appears to be mirrors)
- 1.5.4 Document synchronization requirements (both need updates)
Phase 1 Completion Criteria:
- Complete inventory of all v5 references with categories
- Clear understanding of PR scope vs total scope (PR: 658 files Oct 2025, Current: 44 files)
- Documentation of bmad/src relationship (mirrors - both need fixing)
Phase 2: Pattern Analysis & Test Design
2.1 Extract Common Patterns
- 2.1.1 List all unique v5 reference patterns found
- 2.1.2 Group by context (conversion, compliance, versioning, footers)
- 2.1.3 Identify regex patterns for each type
- 2.1.4 Document edge cases (v5.0.0 vs v5 compliant)
2.2 Design Detection Tests
- 2.2.1 Create grep test for "v4 to v5" pattern
- 2.2.2 Create grep test for "v5 compliant" pattern
- 2.2.3 Create grep test for "v5 architecture/conventions/patterns"
- 2.2.4 Create grep test for footer "Part of BMad Method v5"
- 2.2.5 Create grep test for version "v5.0.0"
- 2.2.6 Create grep test for "v5-specific" references
2.3 Design Validation Tests
- 2.3.1 Write script to find all remaining v5 references
- 2.3.2 Write script to verify bmad/ and src/ synchronization
- 2.3.3 Write script to check for broken references after replacement
- 2.3.4 Design test for CHANGELOG.md historical accuracy
- 2.3.5 Create checklist for manual validation
2.4 Create Test Scripts
- 2.4.1 Create validate-v5-references.ps1 (PowerShell)
- 2.4.2 Add function: Find-V5References
- 2.4.3 Add function: Test-CategoryA-Preserved (intentional markers)
- 2.4.4 Add function: Test-CategoryB-Fixed (documentation)
- 2.4.5 Add function: Test-BmadSrcSync
- 2.4.6 Add comprehensive test output formatting
2.5 Document Edge Cases
- 2.5.1 Document CHANGELOG.md "[v5.0.0] - SKIPPED" (keep)
- 2.5.2 Document any code comments referencing v5 historically
- 2.5.3 Document version history entries (context-dependent)
- 2.5.4 Flag any external references or URLs with v5
Phase 2 Completion Criteria:
- Test script created and functional
- All patterns documented with regex
- Edge cases clearly identified
Phase 3: Fix Development
3.1 Create Fix Strategy
- 3.1.1 Decide on fix method (automated script vs manual vs patch)
- 3.1.2 Create fix execution plan with file-by-file approach
- 3.1.3 Identify files requiring manual review
- 3.1.4 Plan bmad/ and src/ synchronization approach
3.2 Handle Category A (Keep As-Is)
- 3.2.1 Document CHANGELOG.md "[v5.0.0] - SKIPPED" preservation
- 3.2.2 Verify no accidental changes to intentional markers
- 3.2.3 Create whitelist of approved v5 references
3.3 Fix Category B (Documentation Updates)
- 3.3.1 Fix all "v4 to v5" → "v4 to v6" in convert-legacy
- 3.3.2 Fix all "v5 compliant" → "v6 compliant"
- 3.3.3 Fix all "v5 architecture" → "v6 architecture"
- 3.3.4 Fix all "v5 conventions" → "v6 conventions"
- 3.3.5 Fix all "v5 patterns" → "v6 patterns"
- 3.3.6 Fix all "v5 structure" → "v6 structure"
- 3.3.7 Fix all footers "Part of BMad Method v5" → "v6"
- 3.3.8 Fix version history "v5.0.0" → "v6.0.0" (where appropriate)
3.4 Fix Specific Files
- 3.4.1 CHANGELOG.md line 19: Fix "from v5 to modules in v5"
- 3.4.2 bmad/bmb/workflows/convert-legacy/README.md (all v5 refs)
- 3.4.3 bmad/bmb/workflows/convert-legacy/checklist.md (all v5 refs)
- 3.4.4 bmad/bmb/workflows/convert-legacy/instructions.md (all v5 refs)
- 3.4.5 bmad/bmb/workflows/convert-legacy/workflow.yaml
- 3.4.6 src/ mirrors of above files (maintain sync)
- 3.4.7 All module README footers still showing v5
- 3.4.8 Any other files identified in inventory
3.5 Create Fix Artifacts
- 3.5.1 Generate complete-v5-to-v6.patch file
- 3.5.2 Create before/after diff summary
- 3.5.3 Document all changes made
- 3.5.4 Verify bmad/ and src/ receive identical changes
Phase 3 Completion Criteria:
- All Category B references fixed
- Category A references preserved
- Patch file created
- bmad/ and src/ synchronized
Phase 4: Test Execution
4.1 Run Automated Tests
- 4.1.1 Execute validate-v5-references.ps1 script
- 4.1.2 Verify only whitelisted v5 references remain
- 4.1.3 Check bmad/ and src/ synchronization
- 4.1.4 Grep for any new v5 references accidentally introduced
- 4.1.5 Verify no broken internal links (v5 → v6 paths)
4.2 Run Repository Tests
- 4.2.1 Run
npm run format:checkfor style compliance - 4.2.2 Run
npm run lintfor any issues - 4.2.3 Run
npm testif applicable - 4.2.4 Run
npm run validate:schemasfor YAML validation
4.3 Manual Validation
- 4.3.1 Review CHANGELOG.md - verify historical accuracy maintained
- 4.3.2 Review convert-legacy workflow docs - check all v5 → v6
- 4.3.3 Review module footers - verify all updated to v6
- 4.3.4 Check version history entries - ensure consistency
- 4.3.5 Spot check 5-10 files for contextual accuracy
4.4 Regression Testing
- 4.4.1 Verify no code files accidentally modified
- 4.4.2 Check no config files broken
- 4.4.3 Ensure no agent YAML files affected
- 4.4.4 Confirm documentation formatting preserved
4.5 Document Test Results
- 4.5.1 Create test-results.md with pass/fail for each test
- 4.5.2 Document any remaining v5 references with justification
- 4.5.3 List any edge cases requiring manual review
- 4.5.4 Summarize regression test results
Phase 4 Completion Criteria:
- All automated tests pass
- All manual validation complete
- Zero unintended v5 references
- No regressions introduced
Phase 5: PR Review & Recommendation
5.1 Assess PR Completeness
- 5.1.1 Compare PR #827 changes vs our comprehensive fix
- 5.1.2 List what PR got right (15 files successfully updated)
- 5.1.3 List what PR missed (remaining v5 references)
- 5.1.4 Calculate coverage: PR changes / total needed changes
- 5.1.5 Assess if PR scope was intentionally limited
5.2 Formulate Recommendation
- 5.2.1 Decide on recommendation type:
- Option A: REQUEST CHANGES with complete list
- Option B: APPROVE with follow-up companion PR
- Option C: COMMENT with offer to complete
- 5.2.2 Draft rationale for chosen recommendation
- 5.2.3 Prepare list of specific changes needed
- 5.2.4 Consider contributor's time/expertise
5.3 Draft PR Review Comment
- 5.3.1 Thank contributor for finding and addressing v5 issue
- 5.3.2 Acknowledge work done (15 files is significant effort)
- 5.3.3 Explain gap diplomatically (100+ refs, 15 files addressed)
- 5.3.4 Provide complete inventory of remaining v5 references
- 5.3.5 Offer specific fix recommendations or patch file
- 5.3.6 Address contributor's testing documentation concern
- 5.3.7 Offer to help complete if contributor prefers
5.4 Prepare Supporting Artifacts
- 5.4.1 Attach v5-references-inventory.md
- 5.4.2 Attach complete-v5-to-v6.patch (if offering)
- 5.4.3 Attach validate-v5-references.ps1 script
- 5.4.4 Create PR-827-review-comment.md
5.5 Address Testing Documentation Issue
- 5.5.1 Investigate contributor's claim about missing pre-release script
- 5.5.2 Check CONTRIBUTING.md for outdated testing instructions
- 5.5.3 Verify current testing process in package.json
- 5.5.4 Consider separate issue for documentation update
Phase 5 Completion Criteria:
- Clear recommendation formulated
- Constructive review comment drafted
- All supporting artifacts prepared
- Testing documentation issue addressed
Phase 6: Application & Cleanup
6.1 Apply Fix (If Doing It Ourselves)
- 6.1.1 Commit all changes to patch-827 branch
- 6.1.2 Write comprehensive commit message
- 6.1.3 Run final validation tests
- 6.1.4 Create patch file for PR comment
- 6.1.5 Decide: push to fork vs attach to comment
6.2 Post Review (If Requesting Contributor Changes)
- 6.2.1 Post review comment to PR #827
- 6.2.2 Attach inventory and patch file
- 6.2.3 Set review status (REQUEST CHANGES, COMMENT, or APPROVE)
- 6.2.4 Monitor for contributor response
6.3 Archive Investigation Artifacts
- 6.3.1 Save all created files to
.patch/827/ - 6.3.2 Save test scripts and validation results
- 6.3.3 Create final-summary.md with complete investigation
- 6.3.4 Document lessons learned
6.4 Workspace Cleanup
- 6.4.1 Delete pr-827-test branch (if created)
- 6.4.2 Checkout v6-alpha branch
- 6.4.3 Verify .patch/827/ preserved
- 6.4.4 Run git status to ensure clean workspace
6.5 Follow-up Actions
- 6.5.1 Create issue for CONTRIBUTING.md testing docs update (if needed)
- 6.5.2 Monitor PR #827 for contributor response
- 6.5.3 Offer additional help if contributor has questions
- 6.5.4 Re-review when changes applied
Phase 6 Completion Criteria:
- Fix applied or review posted
- All artifacts archived
- Workspace clean
- Follow-up plan established
Quick Reference
Current Status: Phase 1 partially complete
- PR details gathered
- Initial codebase search complete (100+ v5 refs found)
- Patch not yet downloaded/applied
- Inventory not yet categorized
Next Immediate Tasks:
- Download and apply PR #827 patch
- Create complete v5 reference inventory
- Categorize each reference (A/B/C/D)
Key Files to Create:
.patch/827/v5-references-inventory.md.patch/827/validate-v5-references.ps1.patch/827/complete-v5-to-v6.patch.patch/827/PR-827-review-comment.md.patch/827/test-results.md.patch/827/final-summary.md
Decision Points:
- Phase 2: Automated vs manual fix approach
- Phase 5: REQUEST CHANGES vs APPROVE vs COMMENT
- Phase 6: Complete ourselves vs guide contributor
Notes
- Contributor Insight: @davedittrich tested convert-legacy workflow and found v5 refs in output - good testing approach
- Testing Gap: Contributor couldn't validate using CONTRIBUTING.md instructions (pre-release script missing) - separate issue?
- PR Intent: Contributor used Claude Code for find/replace - may not have caught all instances
- Scope Clarity: PR description says "all references" but only changed 15 files - need to clarify if scope was intentional
Status: TODO LIST CREATED - Ready to begin Phase 1.4 (Categorization)