Private
Public Access
0
0
Files
manual_slop/conductor/tracks/phase7_monolithic_stabilization_20260602/spec.md
T
ed df6aa1f455 fix(gui): Resolve Text Viewer docking conflict with unified ID
- Update Text Viewer window ID to '###Text_Viewer_Unified'.
- Ensures ImGui treats the window as a single stable entity across title changes.
- Prevents docking loop glitches.
2026-06-02 15:45:07 -04:00

2.1 KiB

Specification: Phase 7 Monolithic Stabilization

1. Current State Audit

  • Window Management: render_text_viewer_window (gui_2.py:3843) uses ID ###Text_Viewer_Unified. Call site at line 1226 is direct. Registry key is "Text Viewer".
  • Rendering Logic: Discussion entries are currently delegated to src/discussion_entry_renderer.py, which is causing ImportError and access violation crashes in unit tests due to mock patching limits.
  • Markdown Tables: Content is vertically squashed because the begin_group width is determined by small header buttons, not the full panel.
  • MiniMax Support: run_discussion_compression exists but may have routing nuances or base URL mismatches with the M3 model.

2. Functional Requirements

  • Monolithic Restoration: Move render_discussion_entry, render_discussion_entry_read_mode, and render_thinking_trace back into src/gui_2.py. Remove src/discussion_entry_renderer.py.
  • Definitive Docking Fix: Standardize the Text Viewer ID to ###Text_Viewer_Unified across all GUI and state logic. Ensure it is never called via _render_window_if_open.
  • Full-Width Markdown: Implement a dummy horizontal expansion in the monolithic render_discussion_entry to ensure tables and text blocks utilize the full panel width.
  • Theme Integration: Move all vec4 color literals from rendering functions into src/theme_2.py. Expose them via theme.get_role_tint() and theme.get_color(name).
  • Stable ID Stack: Ensure src/imgui_scopes.py uses explicit string conversion for all IDs to prevent memory corruption in nanobind.

3. Non-Functional Requirements

  • Incremental TDD: Every task MUST have a corresponding failing test in tests/ before implementation.
  • MMA Delegation: All code changes must be performed by Tier 3 Workers via mma_exec.py.

4. Acceptance Criteria

  • Application launches and renders without any ImportError.
  • Text Viewer docks reliably without flickering or duplication.
  • Markdown tables are full-width and readable.
  • All existing GUI unit tests pass.