Skip to content

TASK-052: generate a players:2 oracle corpus family - #40

Merged
pythoninthegrass merged 1 commit into
mainfrom
task-052
Sep 14, 2026
Merged

pythoninthegrass merged 1 commit into
mainfrom
task-052

Conversation

@pythoninthegrass

Copy link
Copy Markdown
Contributor

Summary

  • Generalize the JS oracle (sim.mjs, regen_corpus.mjs, regen_corpus-check.mjs) from single-player to N-player and commit two new players:2 corpus fixtures alongside the existing 1-player family
  • One fixture proves the shared single RNG stream (decision-034) directly against committed anchor bytes; the other covers head-to-head mutual elimination
  • Generalize core/difftest.zig (Tier-B) and core/abitest.zig (Tier-C) from hardcoded player_count == 1 to 1..MAX_PLAYERS, and remove test_corpus_replay.gd's (Tier-D) stale single-player-only guard

Test plan

  • task check green (oracle:verify, core:test, core:difftest — 38 traces/10280 tick lines/223 anchors all match, core:abitest — 7/7, game:test — 123/123 including corpus-replay)

TASK-052

Generalize the JS oracle (sim.mjs, canon.mjs's consumers, regen_corpus.mjs
and its check script) from single-player to N-player, and commit two new
players:2 corpus fixtures alongside the existing 1-player family: one
proving the shared single RNG stream (decision-034/docs/rng.md) via a
committed trace's decoded anchor bytes, one covering head-to-head mutual
elimination.

Generalize core/difftest.zig (Tier-B) and core/abitest.zig (Tier-C) from
hardcoded player_count == 1 to loop over 1..MAX_PLAYERS, replicating
core/abi.zig's playerStatus() canonical-status projection. Bump
abitest.zig's scratch buffer to fit a 24x24 two-player board. Remove
test_corpus_replay.gd's (Tier-D) stale single-player-only guard now that
NeoSnakeWorld is confirmed already player-count-generic underneath.

All four test tiers plus task check are green across all 38 committed
traces (36 existing + 2 new).
@pythoninthegrass
pythoninthegrass merged commit 9a8bc0d into main Sep 14, 2026
1 check passed
@pythoninthegrass
pythoninthegrass deleted the task-052 branch September 14, 2026 03:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant