# Implementation Plan: GUIv2 Feature Parity

## Phase 1: Core Architectural Integration [checkpoint: 712d5a8]

- [x] **Task:** Integrate `events.py` into `gui_2.py`. [24b831c]
    - [x] Sub-task: Import the `events` module in `gui_2.py`.
    - [x] Sub-task: Refactor the `ai_client` call in `_do_send` to use the event-driven `send` method.
    - [x] Sub-task: Create event handlers in `App` class for `request_start`, `response_received`, and `tool_execution`.
    - [x] Sub-task: Subscribe the handlers to `ai_client.events` upon `App` initialization.
- [x] **Task:** Integrate `mcp_client.py` for native file tools. [ece84d4]
    - [x] Sub-task: Import `mcp_client` in `gui_2.py`.
    - [x] Sub-task: Add `mcp_client.perf_monitor_callback` to the `App` initialization.
    - [x] Sub-task: In `ai_client`, ensure the MCP tools are registered and available for the AI to call when `gui_2.py` is the active UI.
- [x] **Task:** Write tests for new core integrations. [ece84d4]
    - [x] Sub-task: Create `tests/test_gui2_events.py` to verify that `gui_2.py` correctly handles AI lifecycle events.
    - [x] Sub-task: Create `tests/test_gui2_mcp.py` to verify that the AI can use MCP tools through `gui_2.py`.
- [x] **Task:** Conductor - User Manual Verification 'Core Architectural Integration' (Protocol in workflow.md)

## Phase 2: Major Feature Implementation

- [x] **Task:** Port the API Hooks System. [merged]
    - [x] Sub-task: Import `api_hooks` in `gui_2.py`.
    - [x] Sub-task: Instantiate `HookServer` in the `App` class.
    - [x] Sub-task: Implement the logic to start the server based on a CLI flag (e.g., `--enable-test-hooks`).
    - [x] Sub-task: Implement the queue and lock for pending GUI tasks from the hook server, similar to `gui.py`.
    - [x] Sub-task: Add a main loop task to process the GUI task queue.
- [x] **Task:** Port the Performance & Diagnostics feature. [merged]
    - [x] Sub-task: Import `PerformanceMonitor` in `gui_2.py`.
    - [x] Sub-task: Instantiate `PerformanceMonitor` in the `App` class.
    - [x] Sub-task: Create a new "Diagnostics" window in `gui_2.py`.
    - [x] Sub-task: Add UI elements (plots, labels) to the Diagnostics window to display FPS, CPU, frame time, etc.
    - [x] Sub-task: Add a throttled update mechanism in the main loop to refresh diagnostics data.
- [x] **Task:** Implement the Prior Session Viewer. [merged]
    - [x] Sub-task: Add a "Load Prior Session" button to the UI.
    - [x] Sub-task: Implement the file dialog logic to select a `.log` file.
    - [x] Sub-task: Implement the logic to parse the log file and populate the comms history view.
    - [x] Sub-task: Implement the "tinted" theme application when in viewing mode and a way to exit this mode.
- [x] **Task:** Write tests for major features.
    - [x] Sub-task: Create `tests/test_gui2_api_hooks.py` to test the hook server integration.
    - [x] Sub-task: Create `tests/test_gui2_diagnostics.py` to verify the diagnostics panel displays data.
- [x] **Task:** Conductor - User Manual Verification 'Major Feature Implementation' (Protocol in workflow.md)

## Phase 3: UI/UX Refinement [checkpoint: cc5074e]

- [x] **Task:** Refactor UI to a "Hub" based layout. [ddb53b2]
    - [x] Sub-task: Analyze the docking layout of `gui.py`.
    - [x] Sub-task: Create wrapper windows for "Context Hub", "AI Settings Hub", "Discussion Hub", and "Operations Hub" in `gui_2.py`.
    - [x] Sub-task: Move existing windows into their respective Hubs using the `imgui-bundle` docking API.
    - [x] Sub-task: Ensure the default layout is saved to and loaded from `manualslop_layout.ini`.
- [x] **Task:** Add Agent Capability Toggles to the UI. [merged]
    - [x] Sub-task: In the "Projects" or a new "Agent" panel, add checkboxes for each agent tool (e.g., `run_powershell`, `read_file`).
    - [x] Sub-task: Ensure these UI toggles are saved to the project\'s `.toml` file.
    - [x] Sub-task: Ensure `ai_client` respects these settings when determining which tools are available to the AI.
- [x] **Task:** Full Theme Integration. [merged]
    - [x] Sub-task: Review all newly added windows and controls.
    - [x] Sub-task: Ensure that colors, fonts, and scaling from `theme_2.py` are correctly applied everywhere.
    - [x] Sub-task: Test theme switching to confirm all elements update correctly.
- [x] **Task:** Write tests for UI/UX changes. [ddb53b2]
    - [x] Sub-task: Create `tests/test_gui2_layout.py` to verify the hub structure is created.
    - [x] Sub-task: Add tests to verify agent capability toggles are respected.
- [x] **Task:** Conductor - User Manual Verification 'UI/UX Refinement' (Protocol in workflow.md)

## Phase 4: Finalization and Verification

- [x] **Task:** Conduct full manual testing against `spec.md` Acceptance Criteria. (Note: Some UI display issues for text panels persist and will be addressed in a future track.)
    - [x] Sub-task: Verify AC1: `gui_2.py` launches.
    - [x] Sub-task: Verify AC2: Hub layout is correct.
    - [x] Sub-task: Verify AC3: Diagnostics panel works.
    - [x] Sub-task: Verify AC4: API hooks server runs.
    - [x] Sub-task: Verify AC5: MCP tools are usable by AI.
    - [x] Sub-task: Verify AC6: Prior Session Viewer works.
    - [x] Sub-task: Verify AC7: Theming is consistent.
- [x] **Task:** Run the full project test suite.
    - [x] Sub-task: Execute `uv run run_tests.py` (or equivalent).
    - [x] Sub-task: Ensure all existing and new tests pass.
- [x] **Task:** Code Cleanup and Refactoring.
    - [x] Sub-task: Remove any dead code or temporary debug statements.
    - [x] Sub-task: Ensure code follows project style guides.
- [x] **Task:** Conductor - User Manual Verification 'Finalization and Verification' (Protocol in workflow.md)

---
**Note:** This track is being closed. Remaining UI display issues for text panels in the comms and tool call history will be addressed in a subsequent track. Please see the project's issue tracker for details on the new track.
