From 480d04d4d2fa1223865b690c86eecc2d71f56ff6 Mon Sep 17 00:00:00 2001 From: Natalie Date: Sat, 25 Apr 2026 04:34:39 -0700 Subject: [PATCH] =?UTF-8?q?fix(@projects/@magic-civilization):=20?= =?UTF-8?q?=F0=9F=90=9B=20fix=20auto-play=20victory=20timing=20lag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .project/objectives/p0-22-ultimate-ai-stress-test.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.project/objectives/p0-22-ultimate-ai-stress-test.md b/.project/objectives/p0-22-ultimate-ai-stress-test.md index d44d3a03..a7c1e259 100644 --- a/.project/objectives/p0-22-ultimate-ai-stress-test.md +++ b/.project/objectives/p0-22-ultimate-ai-stress-test.md @@ -102,6 +102,10 @@ a foregone conclusion; the grid is the precondition. **Root cause 5 (fix landed 2026-04-25):** Per-slot pinning works for `meta.player_clans` (verified `huge-map-5clan-20260425_021822` → all 5 clans assigned correctly: ironhold/blackhammer/goldvein/deepforge/runesmith). Confirms `personality_assigner.gd` per-slot env-var fix. + **Root cause 6 (fix landed 2026-04-25, the actual `outcome:max_turns wi:-1` cause):** auto_play.gd's "done" state ran `_outcome = "victory" if _victory else "max_turns"` immediately when `_turn_count >= _max_turns`, but `vm.check_all` in `TurnManager.next_player()` had not yet fired the score-victory branch — `GameState.turn_number` lags `_turn_count` by 1-2 (depends on whether the round wrapped before the auto_play polling caught the limit). Fix: in auto_play.gd's "done" state, before quitting, bump `GameState.turn_number = max(turn_number, _max_turns)` and explicitly invoke `TurnManager._victory_manager.check_all(GameState.get_game_map())`. Verified `p0-22-vfb3-20260425_042503` (1-seed T50 5-player MCTS): debug print `turn_number 48→50, limit 50` confirms the lag bug existed; outcome wrote correctly as `victory wi=2 wp=goldvein` via score path. + + Full huge-map-5clan re-run started 2026-04-25 with all 6 root-cause fixes in place. Awaiting verdict. + **Root cause 1 (fixed, confirmed):** Batch `000049` used a stale `.so` lacking `GdAiController` registration — 872 "not loaded" errors/game, tactical pass skipped, no capitals founded. Current `.so` (runs ≥035301) has 0 errors.