# Implementation Plan: Rich Thinking Trace Handling ## Phase 1: Core Parsing & Model Update - [x] Task: Audit `src/models.py` and `src/project_manager.py` to identify current message serialization schemas. - [x] Task: Write Tests: Verify that raw AI responses with ``, ``, and `Thinking:` markers are correctly parsed into segmented data structures (Thinking vs. Response). - [x] Task: Implement: Add `ThinkingSegment` model and update `ChatMessage` schema in `src/models.py` to support optional thinking traces. - [x] Task: Implement: Update parsing logic in `src/ai_client.py` or a dedicated utility to extract segments from raw provider responses. - [ ] Task: Conductor - User Manual Verification 'Phase 1: Core Parsing & Model Update' (Protocol in workflow.md) - [ ] Task: Write Tests: Verify that `ProjectManager` correctly serializes and deserializes messages with thinking segments to/from TOML history files. - [ ] Task: Implement: Update `src/project_manager.py` to handle the new `ChatMessage` schema during session save/load. - [ ] Task: Implement: Ensure `src/aggregate.py` or relevant context builders include thinking traces in the "Discussion History" sent back to the AI. - [ ] Task: Conductor - User Manual Verification 'Phase 2: Persistence & History Integration' (Protocol in workflow.md) ## Phase 3: GUI Rendering - Comms & Discussion - [ ] Task: Write Tests: Verify the GUI rendering logic correctly handles messages with and without thinking segments. - [ ] Task: Implement: Create a reusable `_render_thinking_trace` helper in `src/gui_2.py` using a collapsible header (e.g., `imgui.collapsing_header`). - [ ] Task: Implement: Integrate the thinking trace renderer into the **Comms History** panel in `src/gui_2.py`. - [ ] Task: Implement: Integrate the thinking trace renderer into the **Discussion Hub** message loop in `src/gui_2.py`. - [ ] Task: Conductor - User Manual Verification 'Phase 3: GUI Rendering - Comms & Discussion' (Protocol in workflow.md) ## Phase 4: Final Polish & Theming - [ ] Task: Implement: Apply specialized styling (e.g., tinted background or italicized text) to expanded thinking traces to distinguish them from direct responses. - [ ] Task: Implement: Ensure thinking trace headers show a "Calculating..." or "Monologue" indicator while an agent is active. - [ ] Task: Conductor - User Manual Verification 'Phase 4: Final Polish & Theming' (Protocol in workflow.md)