checkpoint(Saved system prompt presets)

This commit is contained in:
2026-03-09 22:27:40 -04:00
parent d8a4ec121d
commit e2a403a187
11 changed files with 649 additions and 35 deletions

View File

@@ -1,34 +1,34 @@
# Implementation Plan: Saved System Prompt Presets
## Phase 1: Foundation & Data Model
- [ ] Task: Define the `Preset` data model and storage logic.
- [ ] Create `src/models.py` (if not existing) or update it with a `Preset` dataclass/Pydantic model.
- [ ] Implement `PresetManager` in a new file `src/presets.py` to handle loading/saving to `presets.toml` and `project_presets.toml`.
- [ ] Implement the inheritance logic where project presets override global ones.
- [ ] Task: Write unit tests for `PresetManager`.
- [ ] Test loading global presets.
- [ ] Test loading project presets.
- [ ] Test the override logic (same name).
- [ ] Test saving/updating presets.
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Foundation & Data Model' (Protocol in workflow.md)
- [x] Task: Define the `Preset` data model and storage logic.
- [x] Create `src/models.py` (if not existing) or update it with a `Preset` dataclass/Pydantic model.
- [x] Implement `PresetManager` in a new file `src/presets.py` to handle loading/saving to `presets.toml` and `project_presets.toml`.
- [x] Implement the inheritance logic where project presets override global ones.
- [x] Task: Write unit tests for `PresetManager`.
- [x] Test loading global presets.
- [x] Test loading project presets.
- [x] Test the override logic (same name).
- [x] Test saving/updating presets.
- [x] Task: Conductor - User Manual Verification 'Phase 1: Foundation & Data Model' (Protocol in workflow.md)
## Phase 2: UI: Settings Integration
- [ ] Task: Add Preset Dropdown to Global AI Settings.
- [ ] Modify `gui_2.py` to include a dropdown in the "AI Settings" panel.
- [ ] Populated the dropdown with available global presets.
- [ ] Task: Add Preset Dropdown to Project Settings.
- [ ] Modify `gui_2.py` to include a dropdown in the "Project Settings" panel.
- [ ] Populated the dropdown with available project-specific presets (including overridden globals).
- [ ] Task: Implement "Auto-Load" logic.
- [ ] When a preset is selected, update the active system prompt and model settings in `gui_2.py`.
- [ ] Task: Write integration tests for settings integration using `live_gui`.
- [ ] Verify global dropdown shows global presets.
- [ ] Verify project dropdown shows project + global presets.
- [ ] Verify selecting a preset updates the UI fields (prompt, temperature).
- [ ] Task: Conductor - User Manual Verification 'Phase 2: UI: Settings Integration' (Protocol in workflow.md)
- [x] Task: Add Preset Dropdown to Global AI Settings.
- [x] Modify `gui_2.py` to include a dropdown in the "AI Settings" panel.
- [x] Populated the dropdown with available global presets.
- [x] Task: Add Preset Dropdown to Project Settings.
- [x] Modify `gui_2.py` to include a dropdown in the "Project Settings" panel.
- [x] Populated the dropdown with available project-specific presets (including overridden globals).
- [x] Task: Implement "Auto-Load" logic.
- [x] When a preset is selected, update the active system prompt and model settings in `gui_2.py`.
- [x] Task: Write integration tests for settings integration using `live_gui`.
- [x] Verify global dropdown shows global presets.
- [x] Verify project dropdown shows project + global presets.
- [x] Verify selecting a preset updates the UI fields (prompt, temperature).
- [x] Task: Conductor - User Manual Verification 'Phase 2: UI: Settings Integration' (Protocol in workflow.md)
## Phase 3: UI: Preset Manager Modal
- [ ] Task: Create the `PresetManagerModal` in `gui_2.py` (or a separate module).
- [~] Task: Create the `PresetManagerModal` in `gui_2.py` (or a separate module).
- [ ] Implement a list view of all presets (global and project).
- [ ] Implement "Add", "Edit", and "Delete" functionality.
- [ ] Ensure validation for unique names.