PR #216 — a crash-strict combat harness hunts a user-reported crash, and doesn't find it
What changed
Built axiomancer-mobile/scripts/combat-round-e2e.mjs, a full-round UI harness that plays real cards (stage, power with a die, APPLY, END PHASE) against both the /combat-encounter dev sandbox and a live map encounter, asserting no crash and no error-boundary-screen mount. 30 runs across 15 seeds × both modes all reached a terminal outcome clean — the user-reported mid-combat crash was not reproduced. A follow-up commit filed that negative result explicitly as a [HIGH] plan/CRITIQUE.md row (so it doesn't read as "fixed") and banked two CI lessons: the two verify workflows keep parallel journey lists under different job names that must be edited together, and CI runs each e2e script individually rather than the e2e:minigames chain — so wiring a harness into that chain wires it into nothing CI actually runs.
Why it changed
The user hit a real crash mid-combat; before this, nothing in the test suite played a full round of real UI card-drags, so nothing could have caught it. The harness now exists and runs in both verify workflows, but the crash's actual trigger is still open — boss fights, mercy/WITHDRAW, non-starter decks, and the level-up-out-of-victory path are the named axes it doesn't reach yet.
commits 7f50494d · 7b7a8f78 · eb51e846 · ee79c0c6 · c54bcd1e · 18485daf