chore(conductor): Add constraints against Mock-Rot to stabilization track

This commit is contained in:
2026-03-02 22:18:42 -05:00
parent e8479bf9ab
commit 96c51f22b3
2 changed files with 8 additions and 1 deletions

View File

@@ -29,9 +29,10 @@
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Assertions & Legacy Cleanup' (Protocol in workflow.md)
## Phase 4: Documentation & Final Verification
- [ ] Task: Update Core Documentation
- [ ] Task: Update Core Documentation & Workflow Contract
- [ ] Update `Readme.md` regarding the test framework and artifact/log locations.
- [ ] Update `docs/guide_simulations.md` to detail the `live_gui` fixture requirement and removal of manual simulation scripts.
- [ ] Update `conductor/workflow.md` to establish a strict "Structural Testing Contract": explicitly banning arbitrary `unittest.mock.patch` on core infra and mandating the use of centralized fixtures for all future Tier 2/Tier 3 agents.
- [ ] Task: Full Suite Validation & Warning Cleanup
- [ ] Task: Final Artifact Isolation Verification
- [ ] Task: Conductor - User Manual Verification 'Phase 4: Documentation & Final Verification' (Protocol in workflow.md)

View File

@@ -3,6 +3,12 @@
## Overview
The goal of this track is to stabilize and unify the project's test suite. This involves resolving pervasive `asyncio` lifecycle errors, consolidating redundant testing paradigms (specifically manual GUI subprocesses), ensuring artifact isolation in `./tests/artifacts/`, implementing functional assertions for currently mocked-out tests, and updating documentation to reflect the finalized verification framework.
## Architectural Constraints: Combating Mock-Rot
To prevent future testing entropy caused by "Green-Light Bias" and stateless Tier 3 delegation, this track establishes strict constraints:
- **Ban on Aggressive Mocking:** Tests MUST NOT use `unittest.mock.patch` to arbitrarily hollow out core infrastructure (e.g., the `App` lifecycle or async loops) just to achieve exit code 0.
- **Mandatory Centralized Fixtures:** All tests interacting with the GUI or AI client MUST use the centralized `app_instance` or `live_gui` fixtures defined in `conftest.py`.
- **Structural Testing Contract:** The project workflow must enforce that future AI agents write integration tests against the live state rather than hallucinated mocked environments.
## Functional Requirements
- **Asyncio Lifecycle Stabilization:**
- Resolve `RuntimeError: Event loop is closed` across the suite.