From b30d9dd23bbb02ce8f0feeec6b2310cea855b3e5 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Thu, 5 Mar 2026 10:08:59 -0500 Subject: [PATCH] conductor(plan): Mark phase 'Phase 1 & 2' as complete --- .../plan.md | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/conductor/tracks/hook_api_ui_state_verification_20260302/plan.md b/conductor/tracks/hook_api_ui_state_verification_20260302/plan.md index 80994a3..35e6ac3 100644 --- a/conductor/tracks/hook_api_ui_state_verification_20260302/plan.md +++ b/conductor/tracks/hook_api_ui_state_verification_20260302/plan.md @@ -2,32 +2,32 @@ > **TEST DEBT FIX:** This track replaces fragile `time.sleep()` and string-matching assertions in simulations (like `test_visual_sim_mma_v2.py`) with deterministic UI state queries. This is critical for stabilizing the test suite after the GUI decoupling. -## Phase 1: API Endpoint Implementation +## Phase 1: API Endpoint Implementation [checkpoint: 9967fbd] - [x] Task: Initialize MMA Environment `activate_skill mma-orchestrator` [6b4c626] -- [ ] Task: Implement `/api/gui/state` GET Endpoint - - [ ] WHERE: `gui_2.py` (or `app_controller.py` if decoupled), inside `create_api()`. - - [ ] WHAT: Add a FastAPI route that serializes allowed UI state variables into JSON. - - [ ] HOW: Define a set of safe keys (e.g., `_gettable_fields`) and extract them from the App instance. - - [ ] SAFETY: Use thread-safe reads or deepcopies if accessing complex dictionaries. -- [ ] Task: Update `ApiHookClient` - - [ ] WHERE: `api_hook_client.py` - - [ ] WHAT: Add a `get_gui_state(self)` method that hits the new endpoint. - - [ ] HOW: Standard `requests.get`. - - [ ] SAFETY: Include error handling/timeouts. -- [ ] Task: Conductor - User Manual Verification 'Phase 1: API Endpoint' (Protocol in workflow.md) +- [x] Task: Implement `/api/gui/state` GET Endpoint [a783ee5] + - [x] WHERE: `gui_2.py` (or `app_controller.py` if decoupled), inside `create_api()`. + - [x] WHAT: Add a FastAPI route that serializes allowed UI state variables into JSON. + - [x] HOW: Define a set of safe keys (e.g., `_gettable_fields`) and extract them from the App instance. + - [x] SAFETY: Use thread-safe reads or deepcopies if accessing complex dictionaries. +- [x] Task: Update `ApiHookClient` [a783ee5] + - [x] WHERE: `api_hook_client.py` + - [x] WHAT: Add a `get_gui_state(self)` method that hits the new endpoint. + - [x] HOW: Standard `requests.get`. + - [x] SAFETY: Include error handling/timeouts. +- [x] Task: Conductor - User Manual Verification 'Phase 1: API Endpoint' (Protocol in workflow.md) [9967fbd] -## Phase 2: State Wiring & Integration Tests -- [ ] Task: Wire Critical UI States - - [ ] WHERE: `gui_2.py` - - [ ] WHAT: Ensure fields like `ui_focus_agent`, `active_discussion`, `_track_discussion_active` are included in the exposed state. - - [ ] HOW: Update the mapping definition. - - [ ] SAFETY: None. -- [ ] Task: Write `live_gui` Integration Tests - - [ ] WHERE: `tests/test_live_gui_integration.py` - - [ ] WHAT: Add a test that changes the provider/model or focus agent via actions, then asserts `client.get_gui_state()` reflects the change. - - [ ] HOW: Use `pytest` and `live_gui` fixture. - - [ ] SAFETY: Ensure robust wait conditions for GUI updates. -- [ ] Task: Conductor - User Manual Verification 'Phase 2: State Wiring & Tests' (Protocol in workflow.md) +## Phase 2: State Wiring & Integration Tests [checkpoint: 9967fbd] +- [x] Task: Wire Critical UI States [a783ee5] + - [x] WHERE: `gui_2.py` + - [x] WHAT: Ensure fields like `ui_focus_agent`, `active_discussion`, `_track_discussion_active` are included in the exposed state. + - [x] HOW: Update the mapping definition. + - [x] SAFETY: None. +- [x] Task: Write `live_gui` Integration Tests [a783ee5] + - [x] WHERE: `tests/test_live_gui_integration.py` + - [x] WHAT: Add a test that changes the provider/model or focus agent via actions, then asserts `client.get_gui_state()` reflects the change. + - [x] HOW: Use `pytest` and `live_gui` fixture. + - [x] SAFETY: Ensure robust wait conditions for GUI updates. +- [x] Task: Conductor - User Manual Verification 'Phase 2: State Wiring & Tests' (Protocol in workflow.md) [9967fbd] ## Phase 3: Final Validation - [ ] Task: Full Suite Validation & Warning Cleanup