From f59aa87fa39bf816d967a63a0586b1afedacc8d0 Mon Sep 17 00:00:00 2001 From: 0xrsydn Date: Tue, 22 Sep 2026 06:06:06 +0700 Subject: [PATCH] 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.