# Implementation Plan: Expanded Test Coverage and Stress Testing ## Phase 1: Tool Accessibility and State Unit Tests - [ ] Task: Review current tool registration and disabling logic in `src/mcp_client.py` and `src/api_hooks.py`. - [ ] Task: Write Tests: Create unit tests in `tests/test_agent_tools_wiring.py` (or similar) to verify turning a tool off removes it from the agent's available tool list. - [ ] Task: Implement: If tests fail due to missing logic, update the tool filtering implementation to ensure disabled tools are strictly excluded from the context sent to the provider. - [ ] Task: Conductor - User Manual Verification 'Phase 1: Tool Accessibility and State Unit Tests' (Protocol in workflow.md) ## Phase 2: MMA Agent 'Step Mode' Simulation Tests - [ ] Task: Investigate existing simulation test patterns in `tests/simulation/` and the Hook API coverage for Step Mode. - [ ] Task: Write Tests: Create a new simulation test (`tests/test_mma_step_mode_sim.py`) that initializes an MMA track and specifically forces 'Step Mode' via API hooks. - [ ] Task: Implement/Refine: Ensure the simulation script correctly waits for and manually approves task transitions, validating that the execution engine pauses appropriately between steps. - [ ] Task: Conductor - User Manual Verification 'Phase 2: MMA Agent Step Mode Simulation Tests' (Protocol in workflow.md) ## Phase 3: Multi-Epic and Advanced DAG Stress Tests - [ ] Task: Analyze the DAG execution engine (`src/dag_engine.py` and `src/multi_agent_conductor.py`) for handling multiple concurrent tracks/epics. - [ ] Task: Write Tests: Create an integration/simulation test that loads two or more complex tracks with interconnected dependencies simultaneously. - [ ] Task: Implement/Refine: Stress test the system by allowing the agent pool to execute these concurrent DAGs. Verify that blocked statuses propagate correctly and that the orchestrator does not deadlock or crash. - [ ] Task: Conductor - User Manual Verification 'Phase 3: Multi-Epic and Advanced DAG Stress Tests' (Protocol in workflow.md)