Private
Public Access
0
0

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.
This commit is contained in:
2026-07-01 23:37:33 -04:00
parent 1c31c603e9
commit 0ba0acf567
@@ -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.