From c7db14368873fc1034ec6a3fe8437798c5b168e0 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Thu, 2 Jul 2026 10:23:45 -0400 Subject: [PATCH] docs(reports): mark test_visual_sim_mma_v2 as fixed in commit 9cfbb980 test_visual_sim_mma_v2 was the user's explicit complaint about pre- existing flakes. The fix (9cfbb980) addresses three root causes: dict metadata normalization, App-side state sync in load_track, and btn_reset pollution cleanup. Update the report to reflect this. --- .../TRACK_RESULT_MIGRATION_POLISH_20260630.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md b/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md index 5e885a1a..340ba53e 100644 --- a/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md +++ b/docs/reports/TRACK_RESULT_MIGRATION_POLISH_20260630.md @@ -119,7 +119,28 @@ The fix in commit `ff864050` has two parts: ## 6. Outstanding work -None on this branch. The single tier-3 failure in the latest run is `test_visual_sim_mma_v2::test_mma_complete_lifecycle` at "No proposed_tracks after 120s" — this is a separate flake in the gemini_cli mock-adapter path, not caused by the render_task_dag_panel fix. The test passes in isolation (56.7s) and after my fix the 3 `test_undo_redo_sim` tests all pass in batch (90-92% on the run, with `test_visual_sim_mma_v2` failing at 97% in a later test). +`test_visual_sim_mma_v2::test_mma_complete_lifecycle` was the user's +explicit complaint ("never tell me. to disregard a test suite erro +because its prexisting. ever."). Fixed in commit `9cfbb980`. Root +cause was state pollution in the shared session-scoped live_gui +subprocess: prior tests left `app.tracks` populated, and `tracks_list[0]` +in the test resolved to a leftover track whose on-disk state.toml +didn't exist. The fix: + +1. `_cb_load_track_result` now normalizes `state.metadata` (which can + be a `dict` from `EMPTY_TRACK_STATE`) to a `TrackMetadata` object + via `TrackMetadata.from_dict(...)` before accessing `.id`/`.name`. + Also mirrors `active_track` / `active_tickets` / `active_tier` to + the App-side attributes so the `/api/gui/mma_status` endpoint + returns them. +2. `btn_reset` now clears `app.tracks` so a test that calls btn_reset + starts with a clean tracks list. +3. `tests/test_visual_sim_mma_v2.py` calls `client.click('btn_reset')` + at the start so its `tracks_list` reads reflect only its own + plan_epic + accept_tracks batch. + +Verified: tests/test_visual_sim_mma_v2.py passes in isolation (58.36s) +and tier-3 passes when run standalone (56/56). ---