This commit introduces the foundational infrastructure for tagged task lists,
enabling multi-context task management without remote storage to prevent merge conflicts.
CORE ARCHITECTURE:
• Silent migration system transforms tasks.json from old format { "tasks": [...] }
to new tagged format { "master": { "tasks": [...] } }
• Tag resolution layer provides complete backward compatibility - existing code continues to work
• Automatic configuration and state management for seamless user experience
SILENT MIGRATION SYSTEM:
• Automatic detection and migration of legacy tasks.json format
• Complete project migration: tasks.json + config.json + state.json
• Transparent tag resolution returns old format to maintain compatibility
• Zero breaking changes - all existing functionality preserved
CONFIGURATION MANAGEMENT:
• Added global.defaultTag setting (defaults to 'master')
• New tags section with gitIntegration placeholders for future features
• Automatic config.json migration during first run
• Proper state.json creation with migration tracking
USER EXPERIENCE:
• Clean, one-time FYI notice after migration (no emojis, professional styling)
• Notice appears after 'Suggested Next Steps' and is tracked in state.json
• Silent operation - users unaware migration occurred unless explicitly shown
TECHNICAL IMPLEMENTATION:
• Enhanced readJSON() with automatic migration detection and processing
• New utility functions: getCurrentTag(), resolveTag(), getTasksForTag(), setTasksForTag()
• Complete migration orchestration via performCompleteTagMigration()
• Robust error handling and fallback mechanisms
BACKWARD COMPATIBILITY:
• 100% backward compatibility maintained
• Existing CLI commands and MCP tools continue to work unchanged
• Legacy tasks.json format automatically upgraded on first read
• All existing workflows preserved
TESTING VERIFIED:
• Complete migration from legacy state works correctly
• Config.json properly updated with tagged system settings
• State.json created with correct initial values
• Migration notice system functions as designed
• All existing functionality continues to work normally
Part 2 will implement tag management commands (add-tag, use-tag, list-tags)
and MCP tool updates for full tagged task system functionality.
Related: Task 103 - Implement Tagged Task Lists System for Multi-Context Task Management
51 lines
2.4 KiB
Plaintext
51 lines
2.4 KiB
Plaintext
feat(tags): Implement tagged task lists migration system (Part 1/2)
|
|
|
|
This commit introduces the foundational infrastructure for tagged task lists,
|
|
enabling multi-context task management without remote storage to prevent merge conflicts.
|
|
|
|
CORE ARCHITECTURE:
|
|
• Silent migration system transforms tasks.json from old format { "tasks": [...] }
|
|
to new tagged format { "master": { "tasks": [...] } }
|
|
• Tag resolution layer provides complete backward compatibility - existing code continues to work
|
|
• Automatic configuration and state management for seamless user experience
|
|
|
|
SILENT MIGRATION SYSTEM:
|
|
• Automatic detection and migration of legacy tasks.json format
|
|
• Complete project migration: tasks.json + config.json + state.json
|
|
• Transparent tag resolution returns old format to maintain compatibility
|
|
• Zero breaking changes - all existing functionality preserved
|
|
|
|
CONFIGURATION MANAGEMENT:
|
|
• Added global.defaultTag setting (defaults to 'master')
|
|
• New tags section with gitIntegration placeholders for future features
|
|
• Automatic config.json migration during first run
|
|
• Proper state.json creation with migration tracking
|
|
|
|
USER EXPERIENCE:
|
|
• Clean, one-time FYI notice after migration (no emojis, professional styling)
|
|
• Notice appears after 'Suggested Next Steps' and is tracked in state.json
|
|
• Silent operation - users unaware migration occurred unless explicitly shown
|
|
|
|
TECHNICAL IMPLEMENTATION:
|
|
• Enhanced readJSON() with automatic migration detection and processing
|
|
• New utility functions: getCurrentTag(), resolveTag(), getTasksForTag(), setTasksForTag()
|
|
• Complete migration orchestration via performCompleteTagMigration()
|
|
• Robust error handling and fallback mechanisms
|
|
|
|
BACKWARD COMPATIBILITY:
|
|
• 100% backward compatibility maintained
|
|
• Existing CLI commands and MCP tools continue to work unchanged
|
|
• Legacy tasks.json format automatically upgraded on first read
|
|
• All existing workflows preserved
|
|
|
|
TESTING VERIFIED:
|
|
• Complete migration from legacy state works correctly
|
|
• Config.json properly updated with tagged system settings
|
|
• State.json created with correct initial values
|
|
• Migration notice system functions as designed
|
|
• All existing functionality continues to work normally
|
|
|
|
Part 2 will implement tag management commands (add-tag, use-tag, list-tags)
|
|
and MCP tool updates for full tagged task system functionality.
|
|
|
|
Related: Task 103 - Implement Tagged Task Lists System for Multi-Context Task Management |