# Implementation Plan: Mock Provider Hardening (mock_provider_hardening_20260305) ## Phase 1: Mock Script Extension [checkpoint: f186d81] - [x] Task: Initialize MMA Environment `activate_skill mma-orchestrator` [0e23d6a] - [x] Task: Add `MOCK_MODE` to `mock_gemini_cli.py` [0e23d6a] - [x] WHERE: `tests/mock_gemini_cli.py` - [x] WHAT: Implement conditional branches based on `MOCK_MODE` environment variable. - [x] HOW: Support `success`, `malformed_json`, `error_result`, and `timeout`. - [x] SAFETY: Ensure it still defaults to `success` to not break existing tests. - [x] Task: Conductor - User Manual Verification 'Phase 1: Mock Extension' [f186d81] ## Phase 2: Negative Path Testing [checkpoint: 7e88ef6] - [x] Task: Write `test_negative_flows.py` [f5fa001] - [x] WHERE: `tests/test_negative_flows.py` - [x] WHAT: Write tests that launch `live_gui`, inject `MOCK_MODE` via `ApiHookClient` custom callback or `env` dictionary, and assert the UI gracefully handles the failure. - [x] HOW: Use `wait_for_event('response')` and check that the payload status is `"error"`. - [x] SAFETY: Ensure `timeout` tests don't actually hang the test suite for 120s (configure the timeout shorter if possible in test setup). - [x] Task: Conductor - User Manual Verification 'Phase 2: Negative Tests' [7e88ef6] ## Phase 3: Final Validation - [ ] Task: Full Suite Validation - [ ] WHERE: Project root - [ ] WHAT: `uv run pytest` - [ ] HOW: Ensure 100% pass rate. - [ ] SAFETY: None. - [ ] Task: Conductor - User Manual Verification 'Phase 3: Final Validation'