# Implementation Plan: Context Composition Presets ## Phase 1: Context Preset Data Models Focus: Create models and serialization - [ ] Task 1.1: Create ContextPreset and ContextFileEntry models - [ ] Task 1.2: Implement relative path storage (relative to project root) - [ ] Task 1.3: Add to_dict() and from_dict() methods - [ ] Task 1.4: Write tests for preset models ## Phase 2: Preset Persistence Focus: Save/load presets to project config - [ ] Task 2.1: Add ContextPresetManager class (follows PresetManager pattern) - [ ] Task 2.2: Add save_context_preset() to AppController - [ ] Task 2.3: Add load_context_preset() to AppController - [ ] Task 2.4: Write tests for preset persistence ## Phase 3: Save Preset UI Focus: UI for saving presets with validation - [ ] Task 3.1: Add [Save] button and dialog to Context Composition - [ ] Task 3.2: Implement validation (check files exist before save) - [ ] Task 3.3: Warning dialog for missing files with options - [ ] Task 3.4: Write tests for save UI ## Phase 4: Load Preset UI Focus: UI for loading presets with validation - [ ] Task 4.1: Add preset selector dropdown to Context Composition - [ ] Task 4.2: Implement load validation (check files exist after load) - [ ] Task 4.3: Missing file highlighting in red - [ ] Task 4.4: Write tests for load UI ## Phase 5: Context Preview Focus: Show what will be sent to agent - [ ] Task 5.1: Add [Preview] button to Context Composition - [ ] Task 5.2: Collapsed preview: file list + view modes - [ ] Task 5.3: Expanded preview: actual text/slices - [ ] Task 5.4: Token estimate display - [ ] Task 5.5: Write tests for preview ## Phase 6: Integration + Validation Focus: End-to-end testing - [ ] Task 6.1: Full workflow test: save preset, close, reload, load preset - [ ] Task 6.2: Test with gencpp project files - [ ] Task 6.3: Conductor - User Manual Verification