conductor(plan): Mark phase 'Phase 1 & 2' as complete
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user