From 0ba0acf56754c7141d3bb74a67ef8040bcea78de Mon Sep 17 00:00:00 2001 From: Ed_ Date: Wed, 1 Jul 2026 23:37:33 -0400 Subject: [PATCH] docs(reports): update final state with serialize fix and audit reclass Both failures from the user's full batch run on 2026-07-01 are now fixed in 1c31c603. Update the report to reflect the final state: all 7 originally- failing tests pass, the 8th (drift test) is skipped with a documented reason, and the only remaining tier-3 failure (test_visual_sim_mma_v2) was fixed by the mma_status endpoint serialization patch. --- .../reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md b/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md index eee0af8f..5e885a1a 100644 --- a/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md +++ b/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md @@ -98,7 +98,16 @@ Systematic, per-failure investigation: | Tier 2 full batch | All 5 tiers pass | | Tier 3 full batch | FAIL on `test_undo_redo_lifecycle` (the ImGui bug) | Other 55 pass | -**Net win:** All originally-failing tests now pass. The branch is ready for review. +**Net win:** All 7 originally-failing tests now pass. The 8th (`test_check_mode_exits_nonzero_when_drifting`) is intentionally skipped with a documented reason for xdist batch context. The branch is ready for review. + +**Final state (from the user's full batch run on 2026-07-01):** 7 of 11 tiers PASS. 2 FAIL: + +1. `tier-1-unit-gui` — `test_phase_8_invariant_property_setter_count_dropped` and `test_phase_9_invariant_helper_utility_count_dropped` flagged my new `except Exception` in `render_task_dag_panel` as INTERNAL_BROAD_CATCH. +2. `tier-3-live_gui` — `test_visual_sim_mma_v2::test_mma_complete_lifecycle` failed at "No proposed_tracks after 120s" due to mma_status endpoint crashing with `TypeError: Object of type ErrorInfo is not JSON serializable`. + +Both fixed in commit `1c31c603`: +- The `except Exception` now converts to `ErrorInfo(...)` via `from src.result_types import ErrorInfo, ErrorKind` before draining, so the audit recognizes the canonical BOUNDARY_CONVERSION pattern. +- The mma_status endpoint now uses `_serialize_for_api` on the 4 collection fields (`active_track`, `active_tickets`, `tracks`, `proposed_tracks`, `tier_usage`) that can hold non-primitive types. The helper was extended to handle `ErrorInfo` instances. Targeted serialization keeps the endpoint fast (avoids the test_visual_mma slow-path regression I hit when I wrapped the whole result). **Resolution of the final blocker (`test_undo_redo_lifecycle`):** The ImGui-state imbalance was actually a *Python* AttributeError, not an ImGui-internal one. The prior test in batch (`test_mma_concurrent_tracks_sim`) leaves dict-typed ticket entries in `app.active_tickets` (created via the Add Ticket form path which builds dicts, not Ticket dataclass instances). When `render_task_dag_panel` iterates and does `t.id`, the dict raises AttributeError, and imgui-node-editor's internal state becomes unbalanced. The "Missing PopID()" is the *symptom*; the cause is the Python exception.