Assertion
thread 'ai-commander-driver' panicked at crates\engine\src\types\game_state.rs:16203:14:
resolved-rules journal settlement ordinal overflow: UnknownNode(ActivatedMana(SettlementNodeOrdinal(6)))
begin_activated_mana_journal_node (CR 605.4a region) unwraps resolved_rules_journal.begin_activated_mana(...). Here it came back UnknownNode(ActivatedMana(SettlementNodeOrdinal(6))) - the journal was asked to open an activated-mana node whose parent settlement ordinal it does not know - and the expect aborted the process (exit 101). Unchanged on main @ cbdfa042a: types/game_state.rs:19115 and :19133 carry the same .expect, so both the activated-mana and (adjacent) triggered-mana journal entry points share the failure mode.
The failing ordinal is 6, i.e. a fairly deep chain of nested mana activations, which fits the "nested activation records its active parent as the causal dependency" doc comment directly above the call.
Evidence
pod-lab headless 4-player Commander batch, 2000 games (two candidate decks x 1000), engine pin 1b2021e7b, card data 4587508ed14801cb, K=40 workers, 540 s/game, measurement mode. 48/2000 games (2.4%) exited 101 across 7 distinct assertion sites; 1 lands here. It did not appear at all in the equivalent 2000-game batch at the older pin d960fc8b3, so it is either new in that window or simply rare.
| seed |
run |
tier |
T/actions |
wall |
pod (P0 to P3) |
92000363 |
plunder |
Medium |
T15/200 |
70.7 s |
Blood Rites, Scrappy Survivors, Turtle Power!, Plunder the Graves (Meren of Clan Nel Toth) |
Filed separately rather than rolled up because it is a distinct invariant with its own recorded seed and full saved stdout; low frequency, but a p0-class abort.
Repro shape
ai-commander <card-data-dir> --seed 92000363 --difficulty Medium --feed <4-deck-feed.json>
One game per process; panic = exit 101. The exact pod feed is reconstructable from the recorded seat ids - happy to attach it on request.
Replay caveat, stated plainly: seed replay is only faithful when the opponent pool is byte-identical to the recording run, and the pool has grown 105 -> 119 decks since. Two other seeds from this same run replay deterministically today (92000008 -> #6209, 92000014 -> #6822, exit 101 on every attempt); three longer-game seeds from the same run did not. This seed's replay is in flight and I will post the result here.
Sibling sites from the same run
#7134 (pending-replacement mana cost, 17x - most frequent), #6209 / #7103 (ChangeZone terminal member, 14x), #6822 / #7052 (draw bookkeeping, 8x), #6706 (exile-play ledger, 3x), #6867 (paused-child continuation, 3x), #4155 (announced entry at finalize, 2x), #7135 (buried reveal continuation, 2x at the older pin).
Evidence only - no fix attempted.
Claude Code
Assertion
begin_activated_mana_journal_node(CR 605.4a region) unwrapsresolved_rules_journal.begin_activated_mana(...). Here it came backUnknownNode(ActivatedMana(SettlementNodeOrdinal(6)))- the journal was asked to open an activated-mana node whose parent settlement ordinal it does not know - and theexpectaborted the process (exit101). Unchanged onmain@cbdfa042a:types/game_state.rs:19115and:19133carry the same.expect, so both the activated-mana and (adjacent) triggered-mana journal entry points share the failure mode.The failing ordinal is
6, i.e. a fairly deep chain of nested mana activations, which fits the "nested activation records its active parent as the causal dependency" doc comment directly above the call.Evidence
pod-lab headless 4-player Commander batch, 2000 games (two candidate decks x 1000), engine pin
1b2021e7b, card data4587508ed14801cb, K=40 workers, 540 s/game, measurement mode. 48/2000 games (2.4%) exited101across 7 distinct assertion sites; 1 lands here. It did not appear at all in the equivalent 2000-game batch at the older pind960fc8b3, so it is either new in that window or simply rare.92000363Filed separately rather than rolled up because it is a distinct invariant with its own recorded seed and full saved stdout; low frequency, but a p0-class abort.
Repro shape
One game per process; panic = exit
101. The exact pod feed is reconstructable from the recorded seat ids - happy to attach it on request.Replay caveat, stated plainly: seed replay is only faithful when the opponent pool is byte-identical to the recording run, and the pool has grown 105 -> 119 decks since. Two other seeds from this same run replay deterministically today (
92000008-> #6209,92000014-> #6822, exit101on every attempt); three longer-game seeds from the same run did not. This seed's replay is in flight and I will post the result here.Sibling sites from the same run
#7134 (pending-replacement mana cost, 17x - most frequent), #6209 / #7103 (ChangeZone terminal member, 14x), #6822 / #7052 (draw bookkeeping, 8x), #6706 (exile-play ledger, 3x), #6867 (paused-child continuation, 3x), #4155 (announced entry at finalize, 2x), #7135 (buried reveal continuation, 2x at the older pin).
Evidence only - no fix attempted.
Claude Code