Measured across the whole log:
A5 Qual-Kehk 0 successful resurrects, 49 hunt timeouts (111 clicks)
A4 Tyrael 3 successful resurrects, 8-25s each
When the A5->A4 trip for Tyrael fails, resurrect() fell back to the current
act — Qual-Kehk — which has never once succeeded. That fallback is not a second
chance, it is a guaranteed ~100s loss, and bot.py retries it once, doubling the
cost.
Observed 2026-08-28 01:18:
town.repair ok 106.5s (larzuk timed out twice)
town.resurrect_merc fail 212.8s (two Qual-Kehk hunts)
FAIL> Maintenance timeout after 328s before [gamble]
That pair took the town visit past the 240s maintenance timeout and killed a
game that was otherwise healthy. The trigger was A5_WP not being found, so the
Tyrael travel never happened.
Now it returns False immediately and runs mercless for the game; the merc is
re-checked next game and the existing cross-game breaker still applies.
Co-Authored-By: Claude Opus 5 <[email protected]>