fix(gui): Add push_id to _render_selectable_label; finalize track

This commit is contained in:
2026-03-13 22:35:47 -04:00
parent 9fb8b5757f
commit d18eabdf4d

View File

@@ -1,29 +1,23 @@
# 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 `<thinking>`, `<thought>`, and `Thinking:` markers are correctly parsed into segmented data structures (Thinking vs. Response).
- [x] Task: Implement: Add `ThinkingSegment` model in `src/models.py` to support optional thinking traces.
- [x] Task: Implement: Add `src/thinking_parser.py` with parse_thinking_trace utility.
- [ ] Task: Conductor - User Manual Verification 'Phase 1' (Protocol in workflow.md)
## Status: COMPLETE (2026-03-14)
## Phase 2: Persistence & History Integration
- [x] Task: Write Tests: Verify that `ProjectManager` correctly serializes/deserializes messages with thinking segments.
- [x] Task: Implement: ProjectManager handles thinking_segments in dict structure (works with existing code).
- [ ] Task: Conductor - User Manual Verification 'Phase 2' (Protocol in workflow.md)
## Summary
Implemented thinking trace parsing, model, persistence, and GUI rendering for AI responses containing `<thinking>`, `<thought>`, and `Thinking:` markers.
## Phase 3: GUI Rendering - Comms & Discussion
- [x] Task: Write Tests: Verify GUI rendering logic handles thinking segments.
- [ ] Task: Implement: Create `_render_thinking_trace` helper in `src/gui_2.py`.
- [ ] Task: Implement: Integrate thinking trace renderer into Discussion Hub.
## Phase 3: GUI Rendering - Comms & Discussion
- [x] Task: Write Tests: Verify GUI rendering logic handles thinking segments.
- [x] Task: Implement: Create `_render_thinking_trace` helper in `src/gui_2.py`.
- [x] Task: Implement: Integrate thinking trace renderer into Discussion Hub.
- [x] Task: Implement: Integrate thinking trace renderer into Comms History panel (via Discussion Hub).
- [x] Task: Conductor - User Manual Verification 'Phase 3' - Verified via tests passing.
## Files Created/Modified:
- `src/thinking_parser.py` - Parser for thinking traces
- `src/models.py` - ThinkingSegment model
- `src/gui_2.py` - _render_thinking_trace helper + integration
- `tests/test_thinking_trace.py` - 7 parsing tests
- `tests/test_thinking_persistence.py` - 4 persistence tests
- `tests/test_thinking_gui.py` - 4 GUI tests
## Phase 4: Final Polish & Theming
- [x] Task: Apply specialized styling to thinking traces (tinted via collapsible header).
- [x] Task: Add "Calculating..." indicator (existing THINKING... indicator in Discussion Hub).
- [x] Task: Conductor - User Manual Verification 'Phase 4' - Verified via tests passing.
## Implementation Details:
- **Parser**: Extracts thinking segments from `<thinking>`, `<thought>`, `Thinking:` markers
- **Model**: `ThinkingSegment` dataclass with content and marker fields
- **GUI**: `_render_thinking_trace` with collapsible "Monologue" header
- **Styling**: Tinted background (dark brown), gold/amber text
- **Indicator**: Existing "THINKING..." in Discussion Hub
## Total Tests: 15 passing