On this page

Keep the deep, mature boards that a future-reading planner reaches after fifty or a hundred moves, strip away everything privileged about how it got there, and hand the bare positions to other experiments as practice starting points.

reads hidden values or the future: a teacher, never a policy

This is infrastructure, not a policy. Nothing here plays a game to win one; it manufactures a dataset that several later experiments consumed.

The intuition

A learner that always starts from an empty board spends nearly all of its experience on easy, early positions. The interesting decisions: the ones that decide whether a game reaches move 200 — happen on crowded boards with tall columns, buried gray discs and a rise about to land. Ordinary play reaches those positions rarely and briefly; the perfect-information oracle reaches them constantly and survives inside them for hundreds of moves.

So: use the oracle as a tour guide to interesting positions, then delete the guide. What is exported is a board, not a trajectory.

Where the privilege stops

The C++ converter states the rule in one line: oracle privilege terminates at the public-state constructor. An exported record contains a canonical board, the visible next disc, and the five-drop rise phase. It does not contain the seed, the future tape, the hidden values behind any gray disc that was still covered, the score, the level, or the move index.

More than that, the diagnostics attached to each record are not the oracle's own outcome. Each exported position is re-played forward under seven independent futures derived from the public state itself, using a fair depth-1 search, over a 25-move horizon. So the numbers stored next to a position — mean moves survived, survival rate, clears and reveals per move, and a coarse flow band — describe what an ordinary player can expect from that board, not what the cheating planner achieved from it.

How it works, step by step

  1. Play 64 games with the privileged beam planner (depth 4, beam 128, 500-move cap) on a training-only seed family.
  2. From move 50 onward, sample positions along those games.
  3. Convert each to the public encoding, canonicalize it by reflection, and deduplicate, keeping at most 4,096 states.
  4. Re-score each state under seven public-derived futures with fair depth-1 play, at a 25-move horizon, and attach the flow diagnostics.
  5. Write the file. A separate TypeScript generator produces a sibling format that tags each record by where it came from — oracle play, a combined policy, or a safety policy, and stores remaining moves and remaining score as targets.

What happened

The generator worked and its isolation checks passed: 4,096 restart states were produced, and the privilege-isolation tests confirmed that nothing privileged crossed into the exported records. That is the whole retained result. It is a support artifact, recorded as task-record only, with no ledger entry.

What the curriculum was used for is where the outcomes are, and those are all negative so far: a value network trained on these states plateaued well below fair search; a reinforcement learner that began half of its episodes from these positions failed every one of its absolute floors; an option-based policy learner using the same 50/50 mix improved on the shallowest search and stayed far below depth-4; and the curriculum long-outcome network predicted survival usefully while ordering moves worse than exact search. None of those failures is attributed to the curriculum itself; none of them vindicates it either.

Technical record
  • Native converter, oracle-curriculum.cpp: completed; task-record only support; "4,096 restart states were generated and privilege-isolation checks passed" (experiment index). No ledger entry exists for it.
  • TypeScript generator, generate.ts: support-only; repository-verified. Emits D7CURR1 records tagged by source (oracle, combined, phase-safety) with remaining-moves and remaining-score targets.
  • Read from the source: 64 generation games from 0x3d660000, oracle depth 4 / beam 128, 500-move cap, first sample at move 50, at most 4,096 states, seven restart scenarios at horizon 25, separate reveal and visible-disc random domains for the restart futures, and a static assertion that the level bonus is 17,000, so the restart diagnostics are on corrected Hardcore scoring.
  • Downstream consumers and their recorded outcomes are listed in audit-05 §2.1 and §2.4; the corpus fingerprints appear there too. §2.5 of the same audit records that the generated corpora themselves lived under /tmp and are gone from this machine, so any experiment that wants them must regenerate them from a leased training range.

What this taught us, and what is still open

  • Isolation can be made structural. Terminating privilege at a constructor, and recomputing every diagnostic from public-derived randomness, is a pattern worth copying: it makes the information boundary a property of the type system rather than a promise in a comment.
  • A dataset is not a result. Four thousand positions exist, were used four or five times, and have not yet produced a policy improvement.
  • Still open: the one-hour measurement above; and, separately, whether a training pool drawn from oracle-visited boards but labelled fairly helps — which audit-05 identifies as untested in this repository, as distinct from the optimistic labels that have already failed.
RecordsTheories, experiments and results that reference this directory

Claim: Public board states visited by the perfect-information oracle after move 50 have a higher expected remaining lifetime under FAIR, public-randomness continuation than fair-D4-visited states matched on rise phase, occupancy and maximum height. Defining R_fair(O) and R_fair(F) as the mean remaining moves over K independent public futures under a fixed public continuation policy, and R_tape(O), R_real(F) as the realised remaining moves on the states' own trajectories, the transferable fraction tau = (R_fair(O) - R_fair(F)) / (R_tape(O) - R_real(F)) is at least 0.25, with the same sign in both split halves of the O pool, and the oracle's column at oracle-visited roots is fair-top-1 under common public futures at least as often as fair D4's column is.

This theory is currently not-supported-as-tested at the pilot (a small run to find bugs and project cost, not a strength claim) level.

It compares oracle-curriculum state pool relabelled under public randomness against fair-d4 matched state pool at the CHECK (mechanics checks only, no games played) level, using no-gameplay data.

valid run outcome: fail The run was valid and the outcome was fail (pilot (a small run to find bugs and project cost, not a strength claim)). Read the result.

resultvalid runoutcome: failtier: pilotRS-20260823T205143Z-ead14c9d

The run was valid; the outcome was fail, at the pilot (a small run to find bugs and project cost, not a strength claim) level. Of 4 preregistered checks, 2 passed and 2 failed.

Stage D0 refuses the H-pool theory on two of its three preregistered criteria. Pool O was 1,984 public states sampled from 64 oracle games (depth 4, beam 128; 63 of 64 games reached the 500-move cap); 1,271 were matched 1:1 to fair-D4 states on exact (rise phase, occupancy/4, max-height/2) buckets over all 256 comparator seeds (match rate 0.641; 713 O states dropped and counted). Under 32 common public futures with fair D1 continuation at horizon 25, oracle-visited boards are only marginally better than matched fair boards: R_fair(O) = 24.783 vs R_fair(F) = 24.520 (difference +0.263 moves, cluster bootstrap 95% [+0.156, +0.367], same positive sign in both origin-game halves). The preregistered transferable fraction is negative, tau = -0.959 (95% cluster interval [-3.069, -0.390]), because its denominator degenerates at this horizon: R_tape(O) = 24.338 vs R_real(F) = 24.611 (94-95% of both realised remainders were capped at 25), so the realised-lifetime gap the fraction was defined against is -0.274 moves rather than positive. Independently of that degeneracy, the action-quality criterion fails outright: the oracle's own column is fair-top-1 at its own roots less often than fair D4's column at the same roots (0.766 vs 0.814 over 1,271 roots, difference -0.049, 95% [-0.069, -0.029]; on the 194 unique-maximum roots 0.268 vs 0.387). Blocked-flow-band fraction over matched O states is 0.0047 (F: 0.026). Per the preregistration the theory is assessed not-supported-as-tested, the pool-comparison follow-on is not registered, and audit-05's H-pool program closes.

Technical recordLimitations recorded with the resultRS-20260823T205143Z-ead14c9d
  • The preregistered tau is ill-conditioned as measured: with 63 of 64 oracle games censored at the 500-move cap and comparator states drawn from the same shape buckets, both realised remainders sit at the 25-move horizon cap (R_tape(O) 24.34, R_real(F) 24.61, 94-95% capped), so the denominator is -0.274 moves instead of the large positive gap the definition assumed. The tau < 0.25 refusal is therefore driven by a degenerate denominator, not by a negative numerator; the numerator (the fair-value advantage of oracle boards) is positive but small, +0.263 moves on a 25-move horizon.
  • The fair-top-1 criterion is unaffected by that degeneracy and fails on its own: the oracle's action is fair-best at its own roots significantly less often than fair D4's action at the same roots.
  • Match rate 0.641: the 713 dropped O states skew toward buckets fair D4 rarely visits (matched O states are shape-matched by construction), so the numerator is a lower bound on the raw O-vs-F fair-value difference over all oracle states, and the comparison is conditional on shape overlap as preregistered.
  • R_fair uses a fixed public D1 continuation and horizon 25 with 32 futures; 92-96% of futures survive the horizon, so both pools are near the measurement ceiling and the +0.263 difference is compressed by censoring at both ends.
  • F origin games contribute clustered states (mean 12.6 matched states over 101 of 256 games); uncertainty uses cluster bootstrap over O origin games carrying matched partners, with the independent-clusters sensitivity interval also recorded (it is much wider: [-9.35, +5.12]).
  • Diagnostic tier (CHECK): no gameplay evidence and no policy claim; training-role seeds only, opened once.

Full record →

Agent contextSource files, operational notes and how to reproduce

Directory: approaches/oracle-curriculum/state-curriculum