Private
Public Access
0
0

chore(conductor): Add new track 'phase7_monolithic_stabilization_20260602'

This commit is contained in:
2026-06-02 15:14:18 -04:00
parent e5a6dd7fd3
commit fee41032b6
6 changed files with 71 additions and 1 deletions
+5
View File
@@ -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/)*
@@ -0,0 +1,5 @@
# Track phase7_monolithic_stabilization_20260602 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./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."
}
@@ -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)
@@ -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.
+1 -1
View File
@@ -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