🐛 Fixed
Two-Branch Strategy Support (Critical):
- Fixed hardcoded
mainbranch in move-task validation (now usestarget_branchfrom meta.json) - Fixed misleading console messages showing "committed to main" for all features
- Enables proper separation between 1.x (main) and 2.x (SaaS) development per ADR-12
- Features targeting 2.x now validate against 2.x branch, not main
- Rebase instructions now show correct target branch
- Impact: Unblocks Feature 025 (CLI Event Log Integration) on 2.x branch
Multi-Parent Dependency Support (Critical):
- Fixed missing
forceparameter in implement command (line 561 used undefined variable) - Users can now bypass merge-first recommendation with
--forceflag - Impact: Unblocks all multi-parent workflows where dependencies are complete
- Error fixed:
NameError: name 'force' is not defined
Single Dependency Auto-Detection (UX):
- Auto-detect
--basefrom single dependency in frontmatter - No longer requires manual
--base WP01when WP has single dependency - Reduces command friction:
spec-kitty implement WP02just works - Impact: Simpler UX for 90% of work packages (most have single parent)
📝 Changed
Console Output:
- move-task validation messages now show target branch name (e.g., "behind 2.x by 3 commits")
- implement command shows accurate branch in status messages (e.g., "committed to 2.x")
✅ Tests
New Integration Tests:
- Added
tests/integration/test_two_branch_strategy.py - Verifies target_branch detection from meta.json
- Verifies default to "main" for legacy features
- Ensures two-branch strategy (ADR-12) works correctly