No description
- Python 88.4%
- C# 8.7%
- Shell 2.9%
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.
|
||
|---|---|---|
| capture | ||
| docs | ||
| utils | ||
| vendor | ||
| .gitignore | ||
| ab_card_skip.sh | ||
| brain.py | ||
| capture.py | ||
| eval_batch.sh | ||
| facts.py | ||
| jev.py | ||
| run.py | ||
| sts2.py | ||
| test_brain.py | ||
| test_facts.py | ||
| test_run.py | ||