Private
Public Access
0
0

docs(reports): Phase 14 addendum - 2 documented test issues fixed; 11/11 tiers PASS clean

Updates both the per-site report and the completion report for
result_migration_small_files_20260617 with a Phase 14 addendum that:

- Documents the 2 fixes (Issue 1: GUI subprocess crash; Issue 2:
  xdist race in workspace fixture)
- References the follow-up track live_gui_test_fixes_20260618
- States the final test pass count: 11/11 tiers PASS clean
- Lists the remaining Gemini 503 skip markers as out of scope
- Confirms sub-track 2 is fully ready for merge with no documented
  issues from this track

Sub-track 3 (result_migration_app_controller) is now unblocked.
This commit is contained in:
2026-06-18 15:28:53 -04:00
parent c17bc25d49
commit d5cbd3b0a1
2 changed files with 118 additions and 0 deletions
@@ -136,3 +136,68 @@ The 4 UNCLEAR classifications suggest 2 heuristic gaps:
2. **`openai_compatible.py:87` (Result-based SDK boundary)**: The audit doesn't have a heuristic for "try/except SDK_error + body returns Result with errors list." This is the canonical migrated pattern. A heuristic could classify these as BOUNDARY_SDK or INTERNAL_COMPLIANT.
These heuristic improvements are deferred to a follow-up track. The sub-track 2 migrations (Phase 7) handle the 2 migration-target sites directly.
---
## Phase 14 Addendum (Live GUI Test Fixes)
This track shipped with 2 documented test infrastructure issues that
blocked the full closure of sub-track 2. Both issues have been fixed
in the follow-up track `live_gui_test_fixes_20260618`.
### Issue 1: test_execution_sim_live GUI subprocess crash (tier-3-live_gui)
GUI subprocess crashed mid-test with `0xC00000FD = STATUS_STACK_OVERFLOW`.
Root cause: `imgui.set_window_focus("Response")` was called directly
during the response panel render, exhausting the GUI main thread's
1.94 MB stack.
Fix: defer the focus call to the next frame's idle phase via a new
`_pending_focus_response` flag. Mirrors the existing
`_autofocus_response_tab` pattern at `gui_2.py:5353-5356`.
Tracks the same root cause as `test_z_negative_flows.py` (documented
in `docs/reports/NEGATIVE_FLOWS_INVESTIGATION_20260617_REFINED.md`).
### Issue 2: test_live_gui_workspace_exists xdist race (tier-1-unit-gui)
In pytest-xdist batched runs, the owner worker's live_gui fixture
teardown removes the shared workspace path via `shutil.rmtree` when
the owner's session ends. This can race with client workers' tests
that assert `live_gui_workspace.exists()`, leaving the workspace
missing.
Root cause: the `live_gui_workspace` fixture returned `handle.workspace`
without ensuring the path exists.
Fix: call `workspace.mkdir(parents=True, exist_ok=True)` before
returning. Idempotent and resilient to concurrent teardown.
Pre-existing on parent commit `4ab7c732` (verified in
`tests/artifacts/PHASE14_PARENT_VERIFICATION.log`).
### Final result: 11/11 tiers PASS clean
The 11/11 verification is in `tests/artifacts/PHASE14_TEST_RUN_RESULTS.log`.
| Tier | Status |
|---|---|
| tier-1-unit-comms | PASS |
| tier-1-unit-core | PASS |
| tier-1-unit-gui | PASS |
| tier-1-unit-headless | PASS |
| tier-1-unit-mma | PASS |
| tier-2-mock_app-comms | PASS |
| tier-2-mock_app-core | PASS |
| tier-2-mock_app-gui | PASS |
| tier-2-mock_app-headless | PASS |
| tier-2-mock_app-mma | PASS |
| tier-3-live_gui | PASS |
The 4 Gemini 503 pre-existing skip markers remain (out of scope for
the fix track; deferred to a follow-up track to mock the Gemini API
in `summarize.summarise_file`).
Sub-track 2 (`result_migration_small_files_20260617`) is now FULLY
ready for merge with no documented issues from this track. Sub-track
3 (`result_migration_app_controller`) is unblocked.
@@ -210,3 +210,56 @@ Note: UNCLEAR went UP from 7 to 21 because the narrowing created patterns that d
**Total runtime:** ~2 hours
**Test pass rate:** 100% (all 10 tiers PASS)
**Verification:** ✓ (with documented G4 scope deviation)
---
## Phase 14 Addendum (Live GUI Test Fixes - track live_gui_test_fixes_20260618)
After this track shipped with 2 documented test infrastructure issues
blocking sub-track 2's full closure, a follow-up track was created to
fix those issues. **Both issues are now fixed**, and **all 11 test
tiers PASS clean** (was 10/11 in this track).
### The 2 documented issues (now resolved)
**Issue 1: test_execution_sim_live GUI subprocess crash (tier-3-live_gui)**
- Symptom: GUI subprocess crashes mid-test with `0xC00000FD = STATUS_STACK_OVERFLOW`
- Root cause: `imgui.set_window_focus("Response")` was called directly during the response panel render, exhausting the main thread's 1.94 MB stack
- Fix: defer the focus call to the next frame's idle phase via `_pending_focus_response` flag (commits d02c6d56, 0f796d7d)
- Same fix as `test_z_negative_flows.py` documented in `docs/reports/NEGATIVE_FLOWS_INVESTIGATION_20260617_REFINED.md`
**Issue 2: test_live_gui_workspace_exists xdist race (tier-1-unit-gui)**
- Symptom: xdist race where the owner worker's teardown removes the shared workspace path before a client worker's test can assert it exists
- Root cause: `live_gui_workspace` fixture returned the path without ensuring it existed
- Fix: call `workspace.mkdir(parents=True, exist_ok=True)` before returning (commits 3fdb2592, bf6bc67b)
- Pre-existing on parent commit 4ab7c732 (verified in `tests/artifacts/PHASE14_PARENT_VERIFICATION.log`)
### Final test pass count
**11/11 tiers PASS clean** (about 825 seconds total):
| Tier | Status | Time |
|---|---|---|
| tier-1-unit-comms | PASS | 25.0s |
| tier-1-unit-core | PASS | 56.1s |
| tier-1-unit-gui | PASS | 27.5s |
| tier-1-unit-headless | PASS | 23.0s |
| tier-1-unit-mma | PASS | 26.3s |
| tier-2-mock_app-comms | PASS | 10.2s |
| tier-2-mock_app-core | PASS | 15.9s |
| tier-2-mock_app-gui | PASS | 12.9s |
| tier-2-mock_app-headless | PASS | 10.9s |
| tier-2-mock_app-mma | PASS | 14.9s |
| tier-3-live_gui | PASS | 601.7s |
The 4 Gemini 503 pre-existing skip markers remain (out of scope for
the live_gui_test_fixes track; deferred to a follow-up track to mock
the Gemini API in `summarize.summarise_file`).
### References
- `conductor/tracks/live_gui_test_fixes_20260618/spec.md` - the fix track's spec
- `conductor/tracks/live_gui_test_fixes_20260618/plan.md` - the fix track's plan
- `docs/reports/TRACK_COMPLETION_live_gui_test_fixes_20260618.md` - the fix track's completion report
- `tests/artifacts/PHASE14_PARENT_VERIFICATION.log` - Issue 2 parent-commit verification
- `tests/artifacts/PHASE14_TEST_RUN_RESULTS.log` - 11/11 tier verification