Files
manual_slop/conductor/tracks/gui2_feature_parity_20260223/plan.md

5.4 KiB

Implementation Plan: GUIv2 Feature Parity

Phase 1: Core Architectural Integration

  • Task: Integrate events.py into gui_2.py. [24b831c]
    • Sub-task: Import the events module in gui_2.py.
    • Sub-task: Refactor the ai_client call in _do_send to use the event-driven send method.
    • Sub-task: Create event handlers in App class for request_start, response_received, and tool_execution.
    • Sub-task: Subscribe the handlers to ai_client.events upon App initialization.
  • [~] Task: Integrate mcp_client.py for native file tools.
    • Sub-task: Import mcp_client in gui_2.py.
    • Sub-task: Add mcp_client.perf_monitor_callback to the App initialization.
    • 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.
  • Task: Write tests for new core integrations.
    • Sub-task: Create tests/test_gui2_events.py to verify that gui_2.py correctly handles AI lifecycle events.
    • Sub-task: Create tests/test_gui2_mcp.py to verify that the AI can use MCP tools through gui_2.py.
  • Task: Conductor - User Manual Verification 'Core Architectural Integration' (Protocol in workflow.md)

Phase 2: Major Feature Implementation

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

Phase 3: UI/UX Refinement

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

Phase 4: Finalization and Verification

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