Fold SetupCardEvent into a shared HeadlessEngineEnv.CreateHeadlessHandCard primitive (consolidating the duplicated M2/M3 helpers), then add the M4 oracle: card 103111050 (ELF cost-1 1/1, when_play powerup add_offense=1&add_life=1 to target=self). New oracle dimension = the played card's OWN stat delta (1/1 -> 2/2). Gate play_count>2 seeded via the public AddCurrentTrunPlayCount; proven load-bearing (without the seed the fanfare gates out and Atk stays 1). No new shim/data gaps were needed — only harness seeding. Engine still 0 errors; check_drift clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.9 KiB
5.9 KiB