# Implementation Plan: Context Composition Presets

## Phase 1: Context Preset Data Models [checkpoint: ebd78bb]
Focus: Create models and serialization

- [x] Task 1.1: Create ContextPreset and ContextFileEntry models 8467cdd
- [x] Task 1.2: Implement relative path storage (relative to project root) 8467cdd
- [x] Task 1.3: Add to_dict() and from_dict() methods 8467cdd
- [x] Task 1.4: Write tests for preset models 8467cdd

## Phase 2: Preset Persistence [checkpoint: 338eae7]
Focus: Save/load presets to project config

- [x] Task 2.1: Add ContextPresetManager class (follows PresetManager pattern) e3d84bc
- [x] Task 2.2: Add save_context_preset() to AppController e3d84bc
- [x] Task 2.3: Add load_context_preset() to AppController e3d84bc
- [x] Task 2.4: Write tests for preset persistence e3d84bc

## 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
