Files
manual_slop/conductor/tracks/test_engine_integration_20260627/state.toml
T
ed ca185235e9 conductor(track): init test_engine_integration_20260627 (Track 1 of 3)
Spec + plan + metadata + state for the ImGui Test Engine integration.
Enables the test engine via --enable-test-engine flag, bridges it through
the existing API hooks layer (4 new /api/test_engine/* endpoints + 4 new
ApiHookClient methods), and proves the full bridge with a smoke test.

The test engine enables high-fidelity simulation of docking, window focus,
panel visibility, drag-and-drop, and keyboard input that the current Hook
API cannot express. The API hooks remain the single communication boundary;
the test engine is integrated behind it.

This is Track 1 of a 3-track campaign:
  Track 1: bridge + smoke test (this track)
  Track 2: migrate docking/focus/panel tests
  Track 3: visual regression via screenshot capture

Key risk: R1 (GIL-transfer crash) mitigated by Phase 1 Task 1.4 manual
verification checkpoint. Parallel-safe against the running tier2 taxonomy
branch and the enforcement_gap_closure track (zero file overlap).
2026-06-26 23:43:56 -04:00

64 lines
4.2 KiB
TOML

# Track state for test_engine_integration_20260627
# Initialized by Tier 1 Orchestrator on 2026-06-27.
# Implementation delegated to Tier 2 (autonomous) or Tier 3 worker dispatch.
# This is Track 1 of 3 in the Test Engine Campaign.
[meta]
track_id = "test_engine_integration_20260627"
name = "ImGui Test Engine Integration (Bridge via API Hooks)"
status = "active"
current_phase = 0
last_updated = "2026-06-27"
[blocked_by]
# None. Parallel-safe against tier2/post_module_taxonomy_de_cruft_20260627
# (zero file overlap: this track touches sloppy.py, gui_2.py:641-700,
# api_hooks.py, api_hook_client.py, conftest.py — none of which Tier 2 touches)
# and enforcement_gap_closure_20260627 (scripts/audit_*, python.md — zero overlap).
[blocks]
test_engine_docking_tests = "planned (Track 2 of 3 campaign)"
test_engine_capture_regression = "planned (Track 3 of 3 campaign)"
[phases]
phase_1 = { status = "pending", checkpointsha = "", name = "Enable the Test Engine in the App (CLI flag + runner_params + register_tests callback)" }
phase_2 = { status = "pending", checkpointsha = "", name = "Build the API Hooks Bridge (4 endpoints + 4 client methods)" }
phase_3 = { status = "pending", checkpointsha = "", name = "Live_gui Fixture + Full Smoke Test" }
phase_4 = { status = "pending", checkpointsha = "", name = "End-of-Track Report + State Update + User Sign-off" }
[tasks]
# Phase 1: enable the engine
t1_1 = { status = "pending", commit_sha = "", description = "Write failing test for --enable-test-engine flag + engine activation (Red phase)" }
t1_2 = { status = "pending", commit_sha = "", description = "Add --enable-test-engine CLI flag to sloppy.py + test_engine_enabled field to AppController" }
t1_3 = { status = "pending", commit_sha = "", description = "Enable engine in App.run() (runner_params.use_imgui_test_engine = True + callbacks.register_tests = self._register_imgui_tests) + add _register_imgui_tests method with smoke test" }
t1_4 = { status = "pending", commit_sha = "", description = "Manual verification: run sloppy.py --enable-test-engine locally; confirm engine activates + no GIL-transfer crash" }
# Phase 2: build the bridge
t2_1 = { status = "pending", commit_sha = "", description = "Write failing tests for queue_test + wait_for_test_results + get_test_results (Red phase)" }
t2_2 = { status = "pending", commit_sha = "", description = "Add 4 /api/test_engine/* endpoints to HookServer (queue, status, results, abort)" }
t2_3 = { status = "pending", commit_sha = "", description = "Add 4 new methods to ApiHookClient (queue_test, get_test_status, get_test_results, wait_for_test_results)" }
t2_4 = { status = "pending", commit_sha = "", description = "Run Phase 2 tests (Green phase); verify all 3 smoke tests pass" }
# Phase 3: live_gui fixture + full smoke test
t3_1 = { status = "pending", commit_sha = "", description = "Update live_gui fixture (conftest.py:792) to pass --enable-test-engine" }
t3_2 = { status = "pending", commit_sha = "", description = "Run full smoke test + regression batch (Green phase)" }
# Phase 4: end-of-track
t4_1 = { status = "pending", commit_sha = "", description = "Write docs/reports/TRACK_COMPLETION_test_engine_integration_20260627.md" }
t4_2 = { status = "pending", commit_sha = "", description = "Update conductor/tracks.md + chronology.md + state.toml -> status='completed'" }
t4_3 = { status = "pending", commit_sha = "", description = "Conductor - User Manual Verification (PAUSE for user sign-off)" }
[verification]
phase_1_complete = false
phase_2_complete = false
phase_3_complete = false
phase_4_complete = false
engine_activates_without_crash = false
smoke_test_passes = false
no_live_gui_regression = false
[campaign_context]
# This is Track 1 of 3. The campaign enables high-fidelity UI simulation via the
# Dear ImGui Test Engine, bridged through the existing API hooks layer.
campaign_name = "Test Engine Campaign"
track_1 = "test_engine_integration_20260627 (THIS; bridge + smoke test)"
track_2 = "test_engine_docking_tests (migrate docking/focus/panel tests)"
track_3 = "test_engine_capture_regression (visual regression via screenshot capture)"
key_risk = "R1: GIL-transfer crash if the app's thread layout doesn't work with the engine's scenario thread (mitigated by Phase 1 Task 1.4 manual checkpoint)"