From fee41032b668a80e5ca33bbf69e8a687ceef8fb8 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Tue, 2 Jun 2026 15:14:18 -0400 Subject: [PATCH] chore(conductor): Add new track 'phase7_monolithic_stabilization_20260602' --- conductor/tracks.md | 5 ++++ .../index.md | 5 ++++ .../metadata.json | 8 ++++++ .../plan.md | 28 +++++++++++++++++++ .../spec.md | 24 ++++++++++++++++ config.toml | 2 +- 6 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 conductor/tracks/phase7_monolithic_stabilization_20260602/index.md create mode 100644 conductor/tracks/phase7_monolithic_stabilization_20260602/metadata.json create mode 100644 conductor/tracks/phase7_monolithic_stabilization_20260602/plan.md create mode 100644 conductor/tracks/phase7_monolithic_stabilization_20260602/spec.md diff --git a/conductor/tracks.md b/conductor/tracks.md index a4f28741..5e2de568 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -320,3 +320,8 @@ This file tracks all major tracks for the project. Each track has its own detail - [x] **Track: Phase 7 Stabilization and Polishing (Regressions Fix)** *Link: [./tracks/phase7_stabilization_and_polishing_20260601/](./tracks/phase7_stabilization_and_polishing_20260601/)* + +--- + +- [ ] **Track: Phase 7 Monolithic Stabilization (Final Cleanup)** +*Link: [./tracks/phase7_monolithic_stabilization_20260602/](./tracks/phase7_monolithic_stabilization_20260602/)* diff --git a/conductor/tracks/phase7_monolithic_stabilization_20260602/index.md b/conductor/tracks/phase7_monolithic_stabilization_20260602/index.md new file mode 100644 index 00000000..fb38b89f --- /dev/null +++ b/conductor/tracks/phase7_monolithic_stabilization_20260602/index.md @@ -0,0 +1,5 @@ +# Track phase7_monolithic_stabilization_20260602 Context + +- [Specification](./spec.md) +- [Implementation Plan](./plan.md) +- [Metadata](./metadata.json) \ No newline at end of file diff --git a/conductor/tracks/phase7_monolithic_stabilization_20260602/metadata.json b/conductor/tracks/phase7_monolithic_stabilization_20260602/metadata.json new file mode 100644 index 00000000..dc097607 --- /dev/null +++ b/conductor/tracks/phase7_monolithic_stabilization_20260602/metadata.json @@ -0,0 +1,8 @@ +{ + "track_id": "phase7_monolithic_stabilization_20260602", + "type": "bug", + "status": "new", + "created_at": "2026-06-02T14:40:00Z", + "updated_at": "2026-06-02T14:40:00Z", + "description": "Restore monolithic stability and fix regressions in UI rendering and docking." +} \ No newline at end of file diff --git a/conductor/tracks/phase7_monolithic_stabilization_20260602/plan.md b/conductor/tracks/phase7_monolithic_stabilization_20260602/plan.md new file mode 100644 index 00000000..13de222e --- /dev/null +++ b/conductor/tracks/phase7_monolithic_stabilization_20260602/plan.md @@ -0,0 +1,28 @@ +# Implementation Plan: Phase 7 Monolithic Stabilization + +## Phase 1: Architecture Consolidation +- [ ] Task: Restore Monolithic Rendering + - [ ] WHERE: `src/gui_2.py` + - [ ] WHAT: Move `render_discussion_entry` and related functions from `src/discussion_entry_renderer.py` back to `src/gui_2.py`. + - [ ] HOW: Use `py_update_definition` for surgical insertion. Remove `src/discussion_entry_renderer.py` afterwards. + - [ ] SAFETY: remap all `ui_shared` calls back to local versions or standard src imports. +- [ ] Task: Robustify ID Scopes + - [ ] WHERE: `src/imgui_scopes.py` + - [ ] WHAT: Update `_ScopeId.__enter__` to always use `str(self._id)`. + - [ ] HOW: Surgical `replace`. + +## Phase 2: Definitive UI Fixes +- [ ] Task: Fix Text Viewer Docking + - [ ] WHERE: `src/gui_2.py` + - [ ] WHAT: Update window ID to `###Text_Viewer_Unified`. +- [ ] Task: Fix Markdown Table Width + - [ ] WHERE: `src/gui_2.py` (`render_discussion_entry`) + - [ ] WHAT: Insert `imgui.dummy(imgui.ImVec2(full_width, 0))` at group start. +- [ ] Task: Centralize Theme Colors + - [ ] WHERE: `src/theme_2.py` and `src/gui_2.py` + - [ ] WHAT: Move all hardcoded `vec4` to theme module. Update call sites. + +## Phase 3: Verification +- [ ] Task: Verify Full Suite + - [ ] Run all tests in batches of 4. +- [ ] Task: Conductor - User Manual Verification 'Phase 3: Verification' (Protocol in workflow.md) diff --git a/conductor/tracks/phase7_monolithic_stabilization_20260602/spec.md b/conductor/tracks/phase7_monolithic_stabilization_20260602/spec.md new file mode 100644 index 00000000..16d15f4c --- /dev/null +++ b/conductor/tracks/phase7_monolithic_stabilization_20260602/spec.md @@ -0,0 +1,24 @@ +# Specification: Phase 7 Monolithic Stabilization + +## 1. Current State Audit +* **Window Management:** `render_text_viewer_window` (gui_2.py:3843) uses ID `###Text_Viewer_Stable`. 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. \ No newline at end of file diff --git a/config.toml b/config.toml index a6e8ed35..59a8adaf 100644 --- a/config.toml +++ b/config.toml @@ -25,7 +25,7 @@ separate_tool_calls_panel = true bg_shader_enabled = false crt_filter_enabled = false separate_task_dag = false -separate_usage_analytics = true +separate_usage_analytics = false separate_tier1 = false separate_tier2 = false separate_tier3 = false