fix(run): end the session with the run, and clear a parked game-over
A session was `--steps 600`, and dying did not stop it: the bot returned to the
menu and started a fresh run inside the same session. One session therefore
produced several run records, and nothing could be attributed to an experimental
arm. The A/B harness then compared "the last 2N runs", which silently included
runs from earlier experiments.
Add `--stop-on-run-end`, so one session is one run.
Two deadlocks found while making it work, both measured:
* Breaking on `game_over` BEFORE dismissing the screen left the game parked
there. Every later session then saw `game_over` at step 1 and stopped
instantly -- `takes=0 skips=0` across a whole batch.
* `preflight` could not recover from that parked screen, so it now dismisses
it. The dismissal is not instant, hence the wait: without it the loop
re-reads the state, still sees `game_over`, and still stops at step 1.
`preflight` also fails fast on a pending Timeline epoch, which the mod refuses
to automate. A whole A/B arm once ran with 0 decisions because of it.
This commit is contained in:
parent
17cb02a147
commit
f59aa87fa3