docs: Reorder track queue and initialize final stabilization tracks
- Initialize asyncio_decoupling_refactor_20260306 track - Initialize mock_provider_hardening_20260305 track - Initialize simulation_fidelity_enhancement_20260305 track - Update TASKS.md and tracks.md to reflect new strict execution queue - Archive completed tracks and remove deprecated test performance track
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "mock_provider_hardening_20260305",
|
||||
"title": "Mock Provider Hardening",
|
||||
"description": "Introduce negative testing paths (malformed JSON, timeouts) into the mock AI provider.",
|
||||
"status": "planned",
|
||||
"created_at": "2026-03-05T00:00:00Z",
|
||||
"updated_at": "2026-03-05T00:00:00Z"
|
||||
}
|
||||
26
conductor/tracks/mock_provider_hardening_20260305/plan.md
Normal file
26
conductor/tracks/mock_provider_hardening_20260305/plan.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Implementation Plan: Mock Provider Hardening (mock_provider_hardening_20260305)
|
||||
|
||||
## Phase 1: Mock Script Extension
|
||||
- [ ] Task: Initialize MMA Environment `activate_skill mma-orchestrator`
|
||||
- [ ] Task: Add `MOCK_MODE` to `mock_gemini_cli.py`
|
||||
- [ ] WHERE: `tests/mock_gemini_cli.py`
|
||||
- [ ] WHAT: Implement conditional branches based on `MOCK_MODE` environment variable.
|
||||
- [ ] HOW: Support `success`, `malformed_json`, `error_result`, and `timeout`.
|
||||
- [ ] SAFETY: Ensure it still defaults to `success` to not break existing tests.
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Mock Extension'
|
||||
|
||||
## Phase 2: Negative Path Testing
|
||||
- [ ] Task: Write `test_negative_flows.py`
|
||||
- [ ] WHERE: `tests/test_negative_flows.py`
|
||||
- [ ] 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.
|
||||
- [ ] HOW: Use `wait_for_event('response')` and check that the payload status is `"error"`.
|
||||
- [ ] SAFETY: Ensure `timeout` tests don't actually hang the test suite for 120s (configure the timeout shorter if possible in test setup).
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Negative Tests'
|
||||
|
||||
## 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'
|
||||
14
conductor/tracks/mock_provider_hardening_20260305/spec.md
Normal file
14
conductor/tracks/mock_provider_hardening_20260305/spec.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Specification: Mock Provider Hardening
|
||||
|
||||
## Background
|
||||
The current `mock_gemini_cli.py` provider only tests the "happy path". It always returns successfully parsed JSON-L responses, which masks potential error-handling bugs in `ai_client.py` and `AppController`. To properly verify the system's robustness, the mock must be capable of failing realistically.
|
||||
|
||||
## Objective
|
||||
Extend `mock_gemini_cli.py` to support negative testing paths, controlled via an environment variable `MOCK_MODE`.
|
||||
|
||||
## Requirements
|
||||
1. **MOCK_MODE parsing:** The mock script must read `os.environ.get("MOCK_MODE", "success")`.
|
||||
2. **malformed_json:** If mode is `malformed_json`, the mock should print a truncated or syntactically invalid JSON string to `stdout` and exit.
|
||||
3. **error_result:** If mode is `error_result`, the mock should print a valid JSON string but with `"status": "error"` and an error message payload.
|
||||
4. **timeout:** If mode is `timeout`, the mock should `time.sleep(120)` to force the parent process to handle a subprocess timeout.
|
||||
5. **Integration Tests:** New tests must be written to explicitly trigger these modes using `ApiHookClient` and verify that the GUI displays an error state rather than crashing.
|
||||
Reference in New Issue
Block a user