Research roadmap toward a million-point policy
This roadmap turns the opportunities in strategies.md
into an ordered, falsifiable program. It is not a claim that the proposed model
will work. It prioritizes the failure most often seen in the existing research:
models that predict visited states but cannot reliably rank all legal sibling
actions over several row-rise cycles.
Research question
Can a policy using only public state rank every legal action by its long-horizon stochastic outcome, across disjoint whole-game origins, well enough to improve complete games over unchanged fair D4?
Fair D4 is the strongest retained reference, with a ledger-recorded broader
mean near 308,296, but it is far below the target. Privileged planners and long
rollouts show that valuable multi-cycle structure exists; previous students,
partial sibling panels, and expensive search variants did not transfer or
estimate it reliably. See status.md for the evidence boundary.
Safe bootstrap work package
In a checkout with no target Linux machine profile and no authorized retained
dataset manifest, the first autonomous task is a CHECK-tier AFBR-40 closure
preflight—not gameplay or model training. Register a no-gameplay diagnostic that:
- freezes the public state/afterstate key and required sibling/label/provenance fields;
- inventories repository-local filenames and manifests without reading seed contents;
- advances only if the coordinator names authorized, previously evaluated development artifacts; and
- otherwise records that closure is unestablished.
A suitable initial bound is 15 minutes, one CPU, 2 GiB of host memory, and an immediate stop on seed-content access or ambiguous provenance. This preflight can falsify data availability, but it cannot establish policy strength or claim that AFBR-40 has been implemented.
Priority map
| Priority | Work package | Why now | First falsification gate | Hardware fit |
|---|---|---|---|---|
| 1 | Reproduce/profile corrected fair D4 | Establish trustworthy speed, memory, and decision baseline | Exact actions/traces; three stable timing repeats | CPU, cache, many games |
| 2 | Semantics-preserving D4/D5 acceleration | More reliable lookahead/data per day | ≥2× end-to-end target chosen in protocol with exact parity | CPU, 128 GB table sweeps |
| 3 | AFBR-40 closure audit | Prevent another played-action/sibling coverage failure | Quantified successor completeness without new gameplay | CPU/RAM, read-only data audit |
| 4 | Action-complete multi-cycle corpus | Give every legal action comparable targets | 10k-root pilot has complete labels and stable scenario halves | CPU simulation, large RAM, parallel I/O |
| 5 | Distributional afterstate ranker | Learn long survival/score potential, not only behavior imitation | Beats fixed D4 ranking metrics on disjoint origins | ROCm training, batched GPU |
| 6 | Conservative neural-guided D4 | Limit harm while testing useful overrides | Calibrated top-two overrides pass offline and gameplay gates | CPU search + GPU leaf batches |
| 7 | Human-style rise-cycle options | Represent build, protect, crack, release, stabilize | Ablations improve origin-level ranking and complete games | GPU training, CPU option search |
| Separated depth from chance variance | Ran; see §8 below. Depth 5 rejected at both stratum counts | CPU/RAM plus GPU leaves | ||
| 9 | All-sibling policy iteration | Improve on states the new policy actually visits | Every round passes unchanged origin folds | Parallel CPU generation + GPU training |
| 10 | Formal qualification | Establish the actual claim | Frozen 256/256/256 protocol gates | Exclusive machine profile |
1. Re-establish the reference on the target machine
Before changing strategy, create a current source/binary/machine manifest and measure fair D4 under corrected scoring. Preserve fixed algorithmic work and selected actions. Benchmark raw transitions, complete games, D1/D2/D4 work, thread scaling, cache scaling, RSS, and thermal stability using permitted development diagnostics.
This step is engineering evidence. It does not re-open old confirmation data or upgrade ledger-recorded score means.
2. Accelerate exact search without changing it
Test incremental board/features, compact canonical keys, sharded transposition tables, parallel complete games, cache-size sweeps, and profile-guided changes. A candidate speedup must match transition traces, chance identities, root values within the frozen numeric contract, work counts, and chosen actions. Otherwise it becomes a new algorithmic experiment.
The 128 GB machine makes large tables possible, but table size is an independent factor. Measure hit rate and end-to-end speed rather than treating memory use as progress.
3. Resolve AFBR-40 before implementation
AFBR-40 is only a proposed action-free public afterstate model with an intended multi-cycle target. There is no implementation, protocol, checkpoint, or result. Its first task is a read-only closure audit:
- define the exact public state and afterstate keys;
- enumerate every legal action at each candidate root;
- enumerate required successors and long-outcome labels;
- determine what existing retained artifacts can reconstruct;
- report completeness by origin, phase, height, and legal-action count; and
- list missing data without filling it from new seeds.
If closure is incomplete, close the audit as a valid negative result and design a new corpus. Do not call a sparse or played-action panel successor-closed.
4. Build action-complete multi-cycle data
Start with about 10,000 public roots, not a full production corpus. For each root:
- evaluate every legal sibling;
- use common event-keyed random scenarios across siblings;
- attach H40, H100, and H200 outcome distributions where budgets permit;
- record score, survival by rise, terminal hazard, clear/reveal flow, chain statistics, and logical work;
- store natural-game roots separately from curriculum/restart roots; and
- split training, calibration, and held-out data by whole origin game.
Measure label stability between independent scenario halves. Scale toward 100,000+ roots only if completeness, stability, throughput, and held-out ranking justify the storage and compute.
5. Train a distributional afterstate ranker
Use one shared evaluator on each legal afterstate so action identity cannot act as a shortcut. Start simpler than a transformer:
- categorical 7×7 public board encoding;
- next visible disc, rise phase, and legal mask;
- reflection-equivariant residual CNN or compact axial model;
- return quantiles or distribution bins;
- survival hazard by future rise;
- clear/reveal flow and terminal-probability auxiliary heads; and
- within-root pairwise/listwise loss in addition to scalar prediction.
Train on ROCm in large batches, but validate inference at every legal sibling. The first offline gate should compare top-1, top-2, pairwise accuracy, normalized regret, calibration, origin non-regression, and scenario-half action stability against fair D4. Freeze exact thresholds in the experiment record. The existing 477-root panel is reusable diagnosis, not fresh model-selection evidence.
6. Add the model above fair D4 conservatively
First compare only fair D4's top two near-tied actions. Override when a calibrated lower-confidence advantage exceeds a frozen threshold. Record coverage as well as accuracy; a policy that almost never acts has not solved the problem.
After a successful offline gate:
- test the confidence-gated override on paired development games;
- batch leaves across roots/games for GPU utilization;
- test full-width D4 with the multi-cycle leaf; and
- only then consider PUCT or progressive widening.
Do not begin with learned action pruning. Every legal root action remains eligible until the model has independently demonstrated safe sibling ranking.
7. Turn human strategy into testable structure
Humans describe long-term play in patterns: reservoirs, ladders, keeping a high covered disc reachable, protecting overlapping triggers, and releasing a chain at the right rise phase. Encode these as reflection-safe public features or five-move options:
- build a reachable reservoir;
- expose or crack covered discs;
- preserve trigger overlap;
- release stored chain energy; and
- stabilize before a row rise.
Use auxiliary labels for trigger reachability, occupancy debt, cover access, terminal hazard, and build/stabilize/release phase. Keep a feature or option only when a preregistered ablation improves disjoint-origin action ranking. Saliency or a visually convincing board is not evidence.
Compare an eight-cycle option search against a primitive H40 search at equal logical work. This directly tests whether human-like temporal abstraction makes long-horizon planning easier.
8. Revisit depth and stochastic tree search as a factorial — RUN, 2026-08-21
This item has been executed at development tier and is closed. The factorial varied depth (2, 3, 4, 5) against chance strata (5, 7), plus a factored ladder over reveal-sample count, on 64 paired games per cell using the bit-exact accelerated engine.
The measured findings, in three figures. Depth and chance resolution
interact with a sign — the fourth ply pays only under the exact chance model;
the fifth ply is not measurable by this design, which is a different claim from
being worthless; and the two axes substitute rather than compound, leaving
a budget frontier with a flat top at the fair-D4 operating point, reachable
from either axis. The arms, contrasts and floors are recorded in
RS-20260821T205102Z-d89df4b5
and
RS-20260821T192140Z-189fe392
and analysed in
finding-15 and
finding-16.
Source data
Cohort 0xa51d1000-0xa51d103f, corrected 17,000-point Hardcore scoring, 64 games per cell except the depth-5 seven-stratum arm, which was stopped by decision after the first 32 seeds (0xa51d1000-0xa51d101f) and is final. The stopped arm is drawn as its own dashed one-point series so the two sample sizes are never joined by a line (same convention as score-vs-depth). No per-mean confidence intervals are recorded anywhere for these arms; the bounds on the paired contrasts live in detection-floor-map. The d2s5 mean is the coordinator-supplied figure printed in finding-10's position-mode table and in the 2026-08-21 log ArmTable (the log path is not an accepted sourceRecord scheme, so the finding is cited). Evidence tier: development / public-development.
| Series | search depth | mean score | Bounds | n | Source |
|---|---|---|---|---|---|
| 5 strata (approximate chance) | 2 d2s5 | 249,641 points | — | 64 | docs/exploratory/finding-10-suite-validation.md position-mode table, d2s5 row (also log 2026-08-21 ArmTable) |
| 5 strata (approximate chance) | 3 d3s5 | 305,051 points | — | 64 | docs/exploratory/finding-05-chance-strata.md Cost table, depth 3 / 5 strata row |
| 5 strata (approximate chance) | 4 d4s5 (frozen reference) | 297,327 points | — | 64 | docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table |
| 5 strata (approximate chance) | 5 d5s5 | 288,704 points | — | 64 | docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table |
| 7 strata (exact chance) | 2 d2s7 | 265,294 points | — | 64 | docs/exploratory/finding-05-chance-strata.md Cost table, depth 2 / 7 strata row |
| 7 strata (exact chance) | 3 d3s7 | 312,327 points | — | 64 | docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table |
| 7 strata (exact chance) | 4 d4s7 | 398,498 points | — | 64 | docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table |
| 7 strata, first 32 seeds (arm stopped, final) | 5 d5s7: 32 of 64 planned games, stopped by decision, final | 411,874 points | — | 32 | RS-20260821T205102Z-d89df4b5 metrics.d5s7MeanScore (411,873.65625) |
Spec: web/content/figures/depth-chance-factorial.json · 4 source records
Source data
Cohort 0xa51d1000-0xa51d103f, corrected 17,000-point Hardcore scoring, n=64 per arm except the d5s7 point (32 of 64 planned games, stopped by decision, final), which is drawn as its own dashed one-point series so the two sample sizes are never joined by a line. Cache capacity differs across arms (60,000 entries for the recorded depth-4 comparators, 200,000 for the depth-5 arms, auto-sized 960,695 / 346,921 for the new reveal-sampling arms); capacity provably cannot change play but work per move is not comparable across capacities (finding-16 Limitations; RS-20260821T205102Z-d89df4b5 limitations). Equal-work pair: d3 M=6 (4,244,020; 376,442) vs d4 M=1 (4,956,614; 398,498) is statistically indistinguishable (paired -22,056 [-89,867, +46,009], RS-20260821T192140Z-189fe392 pairedD3M6MinusD4M1). The x axis is linear: the plan's log-scale recommendation is not expressible by the generator, and the d5s7 point dominates the range. Evidence tier: development / public-development.
| Series | logical work per move | mean score | Bounds | n | Source |
|---|---|---|---|---|---|
| exact chance (7 strata) | 4139 d2 M=1 | 265,294 points | — | 64 | docs/exploratory/finding-05-chance-strata.md Cost table, depth 2 / 7 strata row |
| exact chance (7 strata) | 156834 d3 M=1 | 312,327 points | — | 64 | RS-20260821T192140Z-189fe392 metrics.ladderWorkPerMoveD3N7.M1 / metrics.ladderD3N7.M1 |
| exact chance (7 strata) | 1045719 d3 M=3 | 337,306 points | — | 64 | RS-20260821T192140Z-189fe392 metrics.ladderWorkPerMoveD3N7.M3 / metrics.ladderD3N7.M3 |
| exact chance (7 strata) | 4244020 d3 M=6 | 376,442 points | — | 64 | RS-20260821T192140Z-189fe392 metrics.ladderWorkPerMoveD3N7.M6 / metrics.ladderD3N7.M6 |
| exact chance (7 strata) | 4956614 d4 M=1 (fair D4 reference) | 398,498 points | — | 64 | docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table |
| exact chance (7 strata) | 13506434 d3 M=12 (full joint coverage) | 349,345 points | — | 64 | RS-20260821T192140Z-189fe392 metrics.ladderWorkPerMoveD3N7.M12 / metrics.ladderD3N7.M12 |
| exact chance (7 strata) | 20178327 d4 M=2 | 356,548 points | — | 64 | RS-20260821T192140Z-189fe392 metrics.d4N7M2WorkPerMove / metrics.d4N7M2MeanScore |
| approximate chance (5 strata) | 54429 d3 M=1 | 305,051 points | — | 64 | docs/exploratory/finding-05-chance-strata.md Cost table, depth 3 / 5 strata row |
| approximate chance (5 strata) | 1296034 d4 M=1 (frozen reference) | 297,327 points | — | 64 | docs/exploratory/finding-05-chance-strata.md Cost table, depth 4 / 5 strata row |
| approximate chance (5 strata) | 30183227 d5 M=1 | 288,704 points | — | 64 | docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table |
| exact chance, d5 M=1 (n=32, stopped, final) | 176536117 d5s7: 32 of 64 planned games, stopped by decision, final | 411,874 points | — | 32 | RS-20260821T205102Z-d89df4b5 metrics.d5s7WorkPerMove / metrics.d5s7MeanScore |
Spec: web/content/figures/score-vs-work-frontier.json · 4 source records
Source data
All six contrasts from RS-20260821T205102Z-d89df4b5, cohort 0xa51d1000-0xa51d103f, corrected 17,000-point Hardcore scoring; the n=32 contrasts cover the cohort's first 32 seeds (d5s7 arm stopped by decision, final). Whiskers are one-sided 95% percentile-bootstrap lower bounds (20,000 resamples, Mulberry32 domain 0xb0075eed); upper bounds are NOT recorded for these contrasts in the record and are omitted, not zero. Detection floor = 1.645 x sd / sqrt(n), the smallest true effect whose one-sided 95% bound would clear zero (metrics.detectionFloorDefinition). The d4s7-d3s7 lower bound is carried as +26,468 from metrics.bootstrapVersusNormalApproximation; status.md and the 2026-08-21 log print +26,605, which is prose drift — the record and finding-05's interaction table both say +26,468. Evidence tier: public-development.
| Series | paired contrast (same seeds, whole games) | points | Bounds | n | Source |
|---|---|---|---|---|---|
| paired mean delta (whisker: 95% lower bound) | d4s7-d4s5 (n=64) strata at depth 4; W-T-L 41-0-23; 3.82x work; floor 55,192: above | 101,171 points | lower 47,447 | 64 | RS-20260821T205102Z-d89df4b5 metrics.pairedD4s7MinusD4s5 |
| paired mean delta (whisker: 95% lower bound) | d4s7-d3s7 (n=64) depth 4 minus 3 at 7 strata; W-T-L 40-0-24; floor 61,457: above | 86,172 points | lower 26,468 | 64 | RS-20260821T205102Z-d89df4b5 metrics.powerTable[1]; metrics.bootstrapVersusNormalApproximation |
| paired mean delta (whisker: 95% lower bound) | d5s7-d5s5 (n=32) strata at depth 5; W-T-L 19-0-13; 5.85x work; floor 95,207: above | 123,613 points | lower 32,575 | 32 | RS-20260821T205102Z-d89df4b5 metrics.pairedD5s7MinusD5s5 |
| paired mean delta (whisker: 95% lower bound) | d5s7-d3s7 (n=32) two plies at 7 strata; W-T-L 20-0-12; floor 97,211: below | 86,397 points | lower -6,303 | 32 | RS-20260821T205102Z-d89df4b5 metrics.pairedD5s7MinusD3s7 |
| paired mean delta (whisker: 95% lower bound) | d5s5-d4s5 (n=64) depth at 5 strata; W-T-L 33-0-31; 23.29x work; floor 47,052: below | -8,624 points | lower -55,134 | 64 | RS-20260821T205102Z-d89df4b5 metrics.pairedD5s5MinusD4s5 |
| paired mean delta (whisker: 95% lower bound) | d5s7-d4s7 (n=32) depth at 7 strata; W-T-L 17-0-15; 35.62x work; floor 107,988: below (22% of floor) | 23,367 points | lower -83,046 | 32 | RS-20260821T205102Z-d89df4b5 metrics.pairedD5s7MinusD4s7 |
| detection floor 1.645*sd/sqrt(n) | d4s7-d4s5 (n=64) floor for d4s7-d4s5 | 55,192 points | — | 64 | RS-20260821T205102Z-d89df4b5 metrics.powerTable[0].detectionFloor |
| detection floor 1.645*sd/sqrt(n) | d4s7-d3s7 (n=64) floor for d4s7-d3s7 | 61,457 points | — | 64 | RS-20260821T205102Z-d89df4b5 metrics.powerTable[1].detectionFloor |
| detection floor 1.645*sd/sqrt(n) | d5s7-d5s5 (n=32) floor for d5s7-d5s5 | 95,207 points | — | 32 | RS-20260821T205102Z-d89df4b5 metrics.powerTable[2].detectionFloor |
| detection floor 1.645*sd/sqrt(n) | d5s7-d3s7 (n=32) floor for d5s7-d3s7 | 97,211 points | — | 32 | RS-20260821T205102Z-d89df4b5 metrics.powerTable[3].detectionFloor |
| detection floor 1.645*sd/sqrt(n) | d5s5-d4s5 (n=64) floor for d5s5-d4s5 | 47,052 points | — | 64 | RS-20260821T205102Z-d89df4b5 metrics.powerTable[4].detectionFloor |
| detection floor 1.645*sd/sqrt(n) | d5s7-d4s7 (n=32) floor for d5s7-d4s7 | 107,988 points | — | 32 | RS-20260821T205102Z-d89df4b5 metrics.powerTable[5].detectionFloor |
Spec: web/content/figures/detection-floor-map.json · 1 source record
Consequences for the rest of this roadmap. Priority 2's acceleration goal is met and no longer unlocks strength — it unlocks data rate, which is still valuable. Any future search change must be argued on a mechanism other than "more plies" or "more samples", because both axes are measured and flat. The remaining untested factors from the original list are the learned leaf inside the search (tried, negative) and transposition-table size (untested, and now low priority given that the table is 1.01x of a decision).
Deeper search is not merely "not monotonically stronger" — past ply four its effect is below what this program can measure. State it that way and not more strongly.
The binding methodological constraint, discovered here. Paired whole-game deltas have a standard deviation of 228,827 to 371,351 depending on the contrast, so a 64-game paired cohort has a one-sided 95% detection floor of roughly 47,000 to 108,000 points. Every significant result in this factorial is above its floor; every null result is below it and is therefore a non-measurement. Giving the observed depth-5 estimate a bound would take about 684 paired games — about 13 wall-days at that arm's measured throughput of 1,647 s per game on 14 threads (estimated range 8-18 days, since the two chunks differed 2.3x under other agents' load), and finishing the planned 64 would not have come close.
This changes how to choose experiments. Preregister the effect size the mechanism predicts and compare it to the floor before committing the machine. An experiment whose plausible effect is 20,000 points is not a cheap experiment; it is an unaffordable one. The alternatives are to pursue mechanisms with large predicted effects, or to build a lower-variance estimator than the complete game.
What a flat top implies for priority. When both estimate-quality axes are
exhausted, the binding constraint has moved from the estimate to the objective
being estimated. The two named candidates are in finding-15 §5: the terminal
utility supplies no death-depth shaping, and the leaf is an uncalibrated
potential. Those are one constant and one function. A terminal-utility sweep at
depth 5 with seven strata separates them, and is the recommended next
consumer of serious machine time — not another point on the depth or
chance-resolution axis.
9. Iterate with every sibling, not only the played action
If the neural-guided policy passes:
- play on new training-only origins;
- evaluate every legal sibling at encountered roots;
- add mature public restart states with independent future randomness;
- freeze a new data manifest;
- retrain for a preregistered number of rounds; and
- keep origin-level validation folds unchanged across rounds.
This is action-complete dataset aggregation. It is intended to prevent the distribution shift that hurt behavior cloning and played-state value learning.
10. Qualification sequence
Use benchmarks.md: CHECK, bounded PILOT, paired
SCREEN, reusable STANDARD, and fresh 256-game QUALIFY. Only a qualifying
candidate is frozen with current transitive source, binary, model, corpus,
compiler, command, and work hashes.
Then open the next permitted protected block and the one-shot final cohort only as the versioned protocol allows. Report the complete distribution and failures, not only the mean. The same unchanged policy must pass every gate.
Parallel tracks that do not consume strategy data
While the main candidate is training or running, agents can independently:
- audit data closure and manifests;
- add seed-free policy-boundary and reflection tests;
- improve result schemas, checksums, and resumption verification;
- profile compiler flags and simulator hot paths on synthetic fixtures;
- reproduce external algorithmic ideas in toy/no-seed domains; and
- review experiment arithmetic and claim scope.
These tracks increase confidence without competing for the same cohort. Their owners still write separate contribution records.
Decision rule
Prefer the next experiment that most reduces uncertainty about long-horizon sibling ranking per expected CPU/GPU hour. A larger model, deeper search, wider tree, or bigger table is justified only after its cheaper predecessor shows the specific signal it is meant to scale.