- conftest.py: Create workspace dir before writing files (FileNotFoundError) - test_live_gui_integration.py: Call handler directly since start_services mocked - test_gui2_performance.py: Fix key mismatch (gui_2.py -> sloppy.py path lookup)
2.5 KiB
2.5 KiB
Implementation Plan: GUI Decoupling & Controller Architecture (gui_decoupling_controller_20260302)
Phase 1: Controller Skeleton & State Migration
- Task: Initialize MMA Environment
activate_skill mma-orchestrator[d0009bb] - Task: Create
app_controller.pySkeleton [d0009bb] - Task: Migrate Data State from GUI [
d0009bb] - Task: Conductor - User Manual Verification 'Phase 1: State Migration' (Protocol in workflow.md)
Phase 2: Logic & Background Thread Migration
- Task: Extract Background Threads & Event Queue [
9260c7d] - Task: Extract I/O and AI Methods [
9260c7d] - Task: Conductor - User Manual Verification 'Phase 2: Logic Migration' (Protocol in workflow.md)
Phase 3: Test Suite Refactoring
- Task: Update
conftest.pyFixtures [f2b2575] - Task: Resolve Broken GUI Tests [
f2b2575] - Task: Conductor - User Manual Verification 'Phase 3: Test Suite Refactoring' (Protocol in workflow.md)
Phase 4: Final Validation
- Task: Full Suite Validation & Warning Cleanup
- WHERE: Project root
- WHAT:
uv run pytest - HOW: Ensure 100% pass rate. (344 passed, 1 skipped, 2 warnings)
- SAFETY: Watch out for lingering thread closure issues.
- Task: Conductor - User Manual Verification 'Phase 4: Final Validation' (Protocol in workflow.md)
Phase 5: Stabilization & Cleanup (RECOVERY)
- Task: Task 5.1: AST Synchronization Audit [
16d337e] - Task: Task 5.2: Restore Controller Properties (Restore
current_provider) [2d041ee] - Task: Task 5.3: Replace magic
__getattr__with Explicit Delegation (DEFERRED - requires 80+ property definitions, separate track recommended) - Task: Task 5.4: Fix Sandbox Isolation logic in
conftest.py[88aefc2] - Task: Task 5.5: Event Loop Consolidation & Single-Writer Sync [
1b46534] - Task: Task 5.6: Fix
test_gui_provider_list_via_hooksworkspace creation- WHERE: tests/conftest.py:189-191
- WHAT: Add
temp_workspace.mkdir(parents=True, exist_ok=True)before writing files - HOW: The workspace directory was being deleted but not recreated before file writes
- SAFETY: Non-blocking, standard directory creation
- Task: Task 5.7: Fix
test_live_gui_integrationevent loop issue- WHERE: tests/test_live_gui_integration.py:34-40, 77
- WHAT: Replace async event queue push with direct handler call
- HOW: Call
app.controller._handle_request_event(event)directly sincestart_servicesis mocked - SAFETY: Test-only change, maintains test coverage