Merge branch 'tier2/live_gui_test_fixes_20260618' into tier2/result_migration_small_files_20260617

# Conflicts:
#	conductor/tracks/live_gui_test_fixes_20260618/state.toml
#	docs/reports/RESULT_MIGRATION_SMALL_FILES_20260617.md
#	docs/reports/TRACK_COMPLETION_result_migration_small_files_20260617.md
#	scripts/tier2/failcount.py
#	scripts/tier2/write_report.py
This commit is contained in:
ed
2026-06-18 17:55:05 -04:00
15 changed files with 704 additions and 841 deletions
@@ -507,6 +507,49 @@ Total: 1 + 5*5 = 26 commits across the 5 sub-tracks.
---
## Phase 14 Update (2026-06-18): Live GUI Test Fixes
Sub-track 2 (`result_migration_small_files_20260617`) shipped on
2026-06-17 with **2 documented test infrastructure issues** that blocked
full closure. The follow-up track `live_gui_test_fixes_20260618` was
created and shipped on 2026-06-18 with both fixes applied.
### The 2 fixes
**Issue 1: `test_execution_sim_live` GUI subprocess crash (`tier-3-live_gui`)**
- Symptom: GUI subprocess (port 8999) 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 GUI main thread's 1.94 MB stack on Windows
- Fix: defer the focus call to the next frame's idle phase via a new `_pending_focus_response` flag
- 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`)**
- 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
- Pre-existing on parent commit `4ab7c732` (verified)
### Final test pass count: 11/11 tiers PASS clean
After both fixes, **all 11 test tiers pass clean** (~825s total). This
is the final pass count for sub-track 2. 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`).
### Sub-track 2 status
Sub-track 2 (`result_migration_small_files_20260617`) is now FULLY
ready for merge with no documented issues from the live_gui_test_fixes
track. Sub-track 3 (`result_migration_app_controller`) is unblocked.
### References
- `conductor/tracks/live_gui_test_fixes_20260618/spec.md` - the fix track spec
- `conductor/tracks/live_gui_test_fixes_20260618/plan.md` - the fix track plan
- `docs/reports/TRACK_COMPLETION_live_gui_test_fixes_20260618.md` - the fix track completion report
- `tests/artifacts/PHASE14_TEST_RUN_RESULTS.log` - 11/11 tier verification
## 8. See Also
- `conductor/code_styleguides/error_handling.md` — the canonical convention