From 96c51f22b3b8cc15e0968d4cb311ec1ea12cc08d Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 2 Mar 2026 22:18:42 -0500 Subject: [PATCH] chore(conductor): Add constraints against Mock-Rot to stabilization track --- conductor/tracks/test_stabilization_20260302/plan.md | 3 ++- conductor/tracks/test_stabilization_20260302/spec.md | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/conductor/tracks/test_stabilization_20260302/plan.md b/conductor/tracks/test_stabilization_20260302/plan.md index 5c1032e..a739007 100644 --- a/conductor/tracks/test_stabilization_20260302/plan.md +++ b/conductor/tracks/test_stabilization_20260302/plan.md @@ -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) diff --git a/conductor/tracks/test_stabilization_20260302/spec.md b/conductor/tracks/test_stabilization_20260302/spec.md index 8c85fd9..ac83bd2 100644 --- a/conductor/tracks/test_stabilization_20260302/spec.md +++ b/conductor/tracks/test_stabilization_20260302/spec.md @@ -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.