# Implementation Plan: Agent Personas - Unified Profiles ## Phase 1: Core Model and Migration - [x] Task: Audit `src/models.py` and `src/app_controller.py` for all existing AI settings. - [x] Task: Write Tests: Verify the `Persona` dataclass can be serialized/deserialized to TOML. - [x] Task: Implement: Create the `Persona` model in `src/models.py` and implement the `PersonaManager` in `src/personas.py` (inheriting logic from `PresetManager`). - [x] Task: Implement: Create a migration utility to convert existing `active_preset` and system prompts into an "Initial Legacy" Persona. - [x] Task: Conductor - User Manual Verification 'Phase 1: Core Model and Migration' (Protocol in workflow.md) ## Phase 2: Granular MMA Integration [checkpoint: 523cf31] - [x] Task: Write Tests: Verify that a `Ticket` or `Track` can hold a `persona_id` override. - [x] Task: Implement: Update the MMA internal state to support per-epic, per-track, and per-task Persona assignments. - [x] Task: Implement: Update the `WorkerContext` and `ConductorEngine` to resolve and apply the correct Persona before spawning an agent. - [x] Task: Implement: Add "Persona" metadata to the Tier Stream logs to visually confirm which profile is active. - [x] Task: Conductor - User Manual Verification 'Phase 2: Granular MMA Integration' (Protocol in workflow.md) ## Phase 3: Hybrid Persona UI [checkpoint: 523cf31] - [x] Task: Write Tests: Verify that changing the Persona Selector updates the associated UI fields using `live_gui`. - [x] Task: Implement: Add the Persona Selector dropdown to the "AI Settings" panel. - [x] Task: Implement: Refactor the "Manage Presets" modal into a full "Persona Editor" supporting model sets and linked tool presets. - [x] Task: Implement: Add "Persona Override" controls to the Ticket editing panel in the MMA Dashboard. - [x] Task: Conductor - User Manual Verification 'Phase 3: Hybrid Persona UI' (Protocol in workflow.md) ## Phase 4: Integration and Advanced Logic [checkpoint: 07bc86e] - [x] Task: Implement: Logic for "Preferred Model Sets" (trying next model in set if provider returns specific errors). - [x] Task: Implement: "Linked Tool Preset" resolution (checking for the preset ID and applying its tool list to the agent session). - [x] Task: Final UI polish, tooltips, and documentation sync. - [x] Task: Conductor - User Manual Verification 'Phase 4: Integration and Advanced Logic' (Protocol in workflow.md)