chore(conductor): Add new track 'phase7_monolithic_stabilization_20260602'
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user