conductor(track): Initialize testing consolidation track and add execution order
This commit is contained in:
23
TASKS.md
23
TASKS.md
@@ -64,3 +64,26 @@
|
||||
|
||||
**Scope:** Phase 1 (Meta-tooling token fix) → Phase 2 (Seal GUI HITL bypass) → Phase 3 (Fix DAG Engine cascading blocks).
|
||||
|
||||
### `testing_consolidation_20260302` (initialized)
|
||||
**Priority:** Medium
|
||||
**Depends on:** `tech_debt_and_test_cleanup_20260302`
|
||||
**Track dir:** `conductor/tracks/testing_consolidation_20260302/`
|
||||
|
||||
**Audit-confirmed gaps:**
|
||||
- `visual_mma_verification.py` manually runs `subprocess.Popen` instead of using the robust `live_gui` fixture.
|
||||
- Duplicate architectural logic between tests and `simulation/` directories causing fragmentation.
|
||||
|
||||
**Scope:** Phase 1 (Migrate manual launchers to fixtures) → Phase 2 (Consolidate simulation scripts).
|
||||
|
||||
---
|
||||
|
||||
## Track Dependency Order (Execution Guide)
|
||||
To ensure smooth execution, execute the tracks in the following order:
|
||||
1. `feature_bleed_cleanup_20260302` (Base cleanup of GUI structure)
|
||||
2. `mma_agent_focus_ux_20260302` (Depends on feature bleed cleanup Phase 1)
|
||||
3. `architecture_boundary_hardening_20260302` (Fixes critical HITL & Token leaks; independent but foundational)
|
||||
4. `tech_debt_and_test_cleanup_20260302` (Re-establishes testing foundation; run after feature tracks)
|
||||
5. `testing_consolidation_20260302` (Refactors testing methodology; depends on tech debt cleanup)
|
||||
6. `conductor_workflow_improvements_20260302` (Meta-level updates to skills/workflow docs; can be run anytime)
|
||||
|
||||
|
||||
|
||||
5
conductor/tracks/testing_consolidation_20260302/index.md
Normal file
5
conductor/tracks/testing_consolidation_20260302/index.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Track testing_consolidation_20260302 Context
|
||||
|
||||
- [Specification](./spec.md)
|
||||
- [Implementation Plan](./plan.md)
|
||||
- [Metadata](./metadata.json)
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"track_id": "testing_consolidation_20260302",
|
||||
"type": "chore",
|
||||
"status": "new",
|
||||
"created_at": "2026-03-02T00:00:00Z",
|
||||
"updated_at": "2026-03-02T00:00:00Z",
|
||||
"description": "Consolidate divergent simulation tests to uniformly use the pytest live_gui fixture and remove redundant subprocess launcher scripts."
|
||||
}
|
||||
16
conductor/tracks/testing_consolidation_20260302/plan.md
Normal file
16
conductor/tracks/testing_consolidation_20260302/plan.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Implementation Plan: Testing & Simulation Consolidation
|
||||
|
||||
Architecture reference: [docs/guide_simulations.md](../../../docs/guide_simulations.md)
|
||||
|
||||
---
|
||||
|
||||
## Phase 1: Migrate Manual Launchers to Pytest Fixtures
|
||||
Focus: Remove `subprocess.Popen` from visual verification scripts and convert them to proper pytest tests.
|
||||
|
||||
- [ ] Task 1.1: Refactor `tests/visual_mma_verification.py` to be a standard pytest function: `def test_visual_mma_verification(live_gui):`. Remove all `subprocess.Popen` and directory changing logic.
|
||||
- [ ] Task 1.2: Audit `tests/` for any other file containing `subprocess.Popen` pointing to `gui_2.py` and refactor them similarly.
|
||||
|
||||
## Phase 2: Consolidate Simulation Scripts
|
||||
Focus: Ensure the `simulation/` directory integrates cleanly with the pytest framework or serves a distinct non-testing purpose.
|
||||
|
||||
- [ ] Task 2.1: Audit the `simulation/` directory. If scripts there are just tests in disguise, move them into `tests/` and wrap them in the `live_gui` fixture. If they are intended as standalone interactive demos, clearly document their purpose and ensure they don't duplicate `conftest.py` logic unnecessarily.
|
||||
16
conductor/tracks/testing_consolidation_20260302/spec.md
Normal file
16
conductor/tracks/testing_consolidation_20260302/spec.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Track Specification: Testing & Simulation Consolidation
|
||||
|
||||
## Overview
|
||||
Currently, the codebase has redundant testing paradigms. Some tests (`tests/visual_sim_gui_ux.py`) properly use the `live_gui` fixture managed by `pytest` in `conftest.py`. However, other visual verification scripts (like `tests/visual_mma_verification.py` and potentially files in `simulation/`) reinvent the wheel by manually opening subprocesses with `subprocess.Popen` to launch the GUI. This fragmentation causes tech debt and test flakiness.
|
||||
|
||||
## Current State Audit
|
||||
1. **Redundant Subprocess Launching**: `tests/visual_mma_verification.py` manually spawns `gui_2.py` via `subprocess.Popen` instead of using the `conftest.py` `live_gui` fixture.
|
||||
2. **Simulation Redundancy**: The `simulation/` directory contains `sim_base.py`, `workflow_sim.py`, etc., that also use `ApiHookClient` but may be reinventing pytest workflows outside of the standard test runner.
|
||||
|
||||
## Desired State
|
||||
- All "visual" or "integration" testing scripts that interact with the live GUI via `ApiHookClient` MUST use the `live_gui` pytest fixture and be executed via `pytest`.
|
||||
- Any standalone scripts in `tests/` that manually spawn `subprocess.Popen` for `gui_2.py` must be rewritten as standard pytest functions taking the `live_gui` argument.
|
||||
|
||||
## Technical Constraints
|
||||
- No tests should manually spawn `gui_2.py`. They must rely on `conftest.py`.
|
||||
- Keep testing framework unified strictly under `pytest`.
|
||||
Reference in New Issue
Block a user