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
This commit is contained in:
51
commit_message.txt
Normal file
51
commit_message.txt
Normal file
@@ -0,0 +1,51 @@
|
||||
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
|
||||
Reference in New Issue
Block a user