๐ฏ Major Release: Frontmatter-Only Lane Management
This release fundamentally changes how Spec Kitty manages work package lanes, eliminating directory-based lane tracking in favor of a simpler, conflict-free frontmatter-only system.
โ ๏ธ Breaking Changes
-
Lane system completely redesigned
- Work packages now live in a flat
kitty-specs/<feature>/tasks/directory - Lane status determined solely by
lane:frontmatter field (no more subdirectories) - Old system:
tasks/planned/WP01.md,tasks/doing/WP02.mdโ - New system:
tasks/WP01.mdwithlane: "planned"โ
- Work packages now live in a flat
-
Command renamed:
moveโupdatetasks_cli.py movecommand removed- Use
tasks_cli.py update <feature> <WP> <lane>instead - Semantic clarity: command updates metadata, doesn't move files
- Legacy format detection:
updatecommand refuses to work on old directory-based structure
-
Direct frontmatter editing now supported
- You can now directly edit the
lane:field in WP frontmatter - Previous "DO NOT EDIT" warnings removed from all templates
- System recognizes manual lane changes immediately
- No file movement required for lane transitions
- You can now directly edit the
๐ Added
-
Migration command:
spec-kitty upgrade- Automatically migrates features from directory-based to frontmatter-only format
- Preserves all lane assignments during migration
- Idempotent: safe to run multiple times
- Cleans up empty lane subdirectories after migration
- Migrates both main repo and worktree features
-
Legacy format detection
is_legacy_format()function detects old directory-based structure- CLI commands display helpful warnings when legacy format detected
- Dashboard shows migration prompt for legacy features
- Non-blocking: legacy features remain functional until migrated
-
Enhanced status command
- Better formatted output with lane grouping
- Auto-detects feature from branch/worktree when not specified
- Shows work packages organized by current lane
- Works with both legacy and new formats
๐ง Changed
-
Work package location logic
locate_work_package()now searches flattasks/directory first- Falls back to legacy subdirectory search for backwards compatibility
- Exact WP ID matching (WP04 won't match WP04b)
-
Lane extraction utilities
- New
get_lane_from_frontmatter()function extracts lane from YAML - Defaults to "planned" when
lane:field missing - Validates lane values against allowed set
- Available in both
task_helpers.pyandtasks_support.py
- New
-
Dashboard scanner updates
- Reads lane from frontmatter instead of directory location
- Displays legacy format warnings
- Works seamlessly with both formats during transition
-
Activity log behavior
- Lane transitions still append activity log entries
- Captures agent, shell PID, and timestamp
- No file movement logged (because no movement occurs)
๐ Documentation
-
Updated all templates
.kittify/templates/task-prompt-template.md- Removed "DO NOT EDIT" warnings.kittify/templates/tasks-template.md- Updated for flat structure.kittify/templates/AGENTS.md- New lane management instructionstasks/README.md- Rewritten for flat directory layout
-
Updated mission templates
- All mission-specific templates updated (software-dev, research)
- Command templates updated (
implement.md,review.md,merge.md) - Examples updated to show new workflow
-
Updated main documentation
README.md- Updated quick start examplesdocs/quickstart.md- New lane management workflowdocs/multi-agent-orchestration.md- Updated collaboration examples- All
examples/updated with new commands
๐งช Testing
- 286 tests passing (0 failures)
- New tests for frontmatter-only lane system
- Legacy format detection tests
- Migration command tests
- Dual-format compatibility tests
๐ Migration Guide
For existing projects:
- Back up your work (commit changes, push to remote)
- Run migration:
spec-kitty upgrade - Verify:
spec-kitty status --feature <your-feature> - Update workflows: Replace
movewithupdatein scripts/docs
Key benefits of upgrading:
- โ No file conflicts during lane changes (especially in worktrees)
- โ
Direct editing of
lane:field supported - โ Better multi-agent compatibility
- โ Simpler mental model (one directory, not four)
- โ Fewer git operations per lane change
Legacy format still works - You can continue using old directory structure until ready to migrate. All commands detect format automatically.
๐ Fixed
- File conflicts during simultaneous lane changes by multiple agents
- Git staging issues with lane transitions
- Race conditions in worktree-based parallel development
- Lane mismatch validation errors (no longer possible with frontmatter-only)
๐ Related
- Feature implementation:
007-frontmatter-only-lane - All 6 work packages completed and reviewed
- Comprehensive test coverage added