chore(conductor): Archive track 'gui2_parity_20260224'

This commit is contained in:
2026-02-24 22:01:30 -05:00
parent 48b2993089
commit 828f728d67
5 changed files with 85 additions and 5 deletions

View File

@@ -0,0 +1,5 @@
# Track gui2_parity_20260224 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./metadata.json)

View File

@@ -0,0 +1,8 @@
{
"track_id": "gui2_parity_20260224",
"type": "feature",
"status": "new",
"created_at": "2026-02-24T18:38:00Z",
"updated_at": "2026-02-24T18:38:00Z",
"description": "Investigate differences left between gui.py and gui_2.py. Needs to reach full parity, so we can sunset guy.py"
}

View File

@@ -0,0 +1,43 @@
# Implementation Plan: GUI 2.0 Feature Parity and Migration
This plan follows the project's standard task workflow to ensure full feature parity and a stable transition to the ImGui-based `gui_2.py`.
## Phase 1: Research and Gap Analysis [checkpoint: 36988cb]
Identify and document the exact differences between `gui.py` and `gui_2.py`.
- [x] Task: Audit `gui.py` and `gui_2.py` side-by-side to document specific visual and functional gaps. [fe33822]
- [x] Task: Map existing `EventEmitter` and `ApiHookClient` integrations in `gui.py` to `gui_2.py`. [579b004]
- [x] Task: Write failing tests in `tests/test_gui2_parity.py` that identify missing UI components or broken hooks in `gui_2.py`. [7c51674]
- [x] Task: Verify failing parity tests. [0006f72]
- [x] Task: Conductor - User Manual Verification 'Phase 1: Research and Gap Analysis' (Protocol in workflow.md) [9f99b77]
## Phase 2: Visual and Functional Parity Implementation [checkpoint: ad84843]
Address all identified gaps and ensure functional equivalence.
- [x] Task: Implement missing panels and UX nuances (text sizing, font rendering) in `gui_2.py`. [a85293f]
- [x] Task: Complete integration of all `EventEmitter` hooks in `gui_2.py` to match `gui.py`. [9d59a45]
- [x] Task: Verify functional parity by running `tests/test_gui2_events.py` and `tests/test_gui2_layout.py`. [450820e]
- [x] Task: Address any identified regressions or missing interactive elements. [2d8ee64]
- [x] Task: Conductor - User Manual Verification 'Phase 2: Visual and Functional Parity Implementation' (Protocol in workflow.md) [ad84843]
## Phase 3: Performance Optimization and Final Validation [checkpoint: 611c897]
Ensure `gui_2.py` meets performance requirements and passes all quality gates.
- [x] Task: Conduct performance benchmarking (FPS, CPU, Frame Time) for both `gui.py` and `gui_2.py`. [312b0ef]
- [x] Task: Optimize rendering and docking logic in `gui_2.py` if performance targets are not met. [d647251]
- [x] Task: Verify performance parity using `tests/test_gui2_performance.py`. [d647251]
- [x] Task: Run full suite of automated GUI tests with `live_gui` fixture on `gui_2.py`. [d647251]
- [x] Task: Conductor - User Manual Verification 'Phase 3: Performance Optimization and Final Validation' (Protocol in workflow.md) [14984c5]
## Phase 4: Deprecation and Cleanup
Finalize the migration and decommission the original `gui.py`.
- [x] Task: Rename gui.py to gui_legacy.py. [c4c47b8]
- [x] Task: Update project entry point or documentation to point to `gui_2.py` as the primary interface. [b92fa90]
- [x] Task: Final project-wide link validation and documentation update. [14984c5]
- [x] Task: Conductor - User Manual Verification 'Phase 4: Deprecation and Cleanup' (Protocol in workflow.md) [14984c5]
## Phase: Review Fixes
- [x] Task: Apply review suggestions [6f1e00b]
---
[checkpoint: 6f1e00b]

View File

@@ -0,0 +1,29 @@
# Specification: GUI 2.0 Feature Parity and Migration
## Overview
The project is transitioning from `gui.py` (Dear PyGui-based) to `gui_2.py` (ImGui Bundle-based) to leverage advanced multi-viewport and docking features not natively supported by Dear PyGui. This track focuses on achieving full visual, functional, and performance parity between the two implementations, ultimately enabling the decommissioning of the original `gui.py`.
## Functional Requirements
1. **Visual Parity:**
- Ensure all panels, layouts, and interactive elements in `gui_2.py` match the established UX of `gui.py`.
- Address nuances in UX, such as text panel sizing and font rendering, to ensure a seamless transition for existing users.
2. **Functional Parity:**
- Verify that all backend hooks (API metrics, context management, MCP tools, shell execution) work identically in `gui_2.py`.
- Ensure all interactive controls (buttons, inputs, dropdowns) trigger the correct application state changes.
3. **Performance Parity:**
- Benchmark `gui_2.py` against `gui.py` for FPS, frame time, and CPU/memory usage.
- Optimize `gui_2.py` to meet or exceed the performance metrics of the original implementation.
## Non-Functional Requirements
- **Multi-Viewport Stability:** Ensure the ImGui-bundle implementation is stable across multiple windows and docking configurations.
- **Deprecation Workflow:** Establish a clear path for renaming `gui.py` to `gui_legacy.py` for a transition period.
## Acceptance Criteria
- [ ] `gui_2.py` successfully passes the full suite of GUI automated verification tests (e.g., `test_gui2_events.py`, `test_gui2_layout.py`).
- [ ] A side-by-side audit confirms visual and functional parity for all core Hub panels.
- [ ] Performance benchmarks show `gui_2.py` is within +/- 5% of `gui.py` metrics.
- [ ] `gui.py` is renamed to `gui_legacy.py`.
## Out of Scope
- Introducing new UI features or backend capabilities not present in `gui.py`.
- Modifying the core `EventEmitter` or `AiClient` logic (unless required for GUI hook integration).