Research Methodology
This document defines what a fair Drop7 strategy experiment means in this repository. It separates a legal public-information policy from a privileged teacher and separates development evidence from a final claim.
Game and score model
The simulator models the five-move Hardcore rules on a 7-by-7 board:
- a numbered disc clears when its value equals the contiguous occupied length through that disc in either its row or its column;
- clearing discs damage adjacent covered discs, and two hits reveal a number;
- gravity resolves between simultaneous chain waves;
- a covered row rises after every five placed discs;
- a row rise awards 17,000 points, clearing the board awards 70,000 points, and
each cleared numbered disc in chain wave
dawardsfloor(7 * d^2.5); - a game ends when a row cannot rise or no legal column remains.
The 17,000-point level bonus matters. Early runs marked with a 7,000-point level bonus used Sequence-style scoring and cannot support the Hardcore score target. Their trajectories and within-cohort survival comparisons may still be useful when clearly labeled.
Information boundary
The deployable policy is a deterministic function of the public state:
(visible board, visible next disc, moves until rise, terminal flag) -> column
It must not inspect:
- the game or origin seed;
- future numbered discs or covered-disc reveals;
- a future random tape or oracle action;
- accumulated score, level, or absolute move number; or
- history that cannot be reconstructed from the public state.
Privileged planners may inspect future randomness to generate labels. Such an experiment is an oracle or teacher experiment until a separate public student is frozen and evaluated without those inputs.
Source
diagram-information-ladder.svg — source and reading guide
Mechanism diagram D5 of runs/RUN-20260823T191900Z-b9f8f80d/kimi-k3-figure-plan.md.
Hand-written, self-contained SVG. Unlike the other diagrams in this set, this one
does draw measured numbers: rung heights are recorded clears-per-move rates,
and the inter-rung arrows carry the recorded gap shares. Every number is quoted
verbatim from a finding document; nothing is recomputed.
What it explains
The privilege separation performed by findings 06 → 07 → 12: how much of the clairvoyant advantage over fair D4 is planning and how much is hidden information — and the direction of finding-12's fresh-tape correction.
Element-by-element
- Rung height = measured numbered clears per move (axis at left). Rung order = privilege (what the evaluator may see), bottom to top.
- Fair depth 4 (bottom, solid): no sampling, public state only. 1.9865 on 128 fresh tapes (finding-12); its dashed ghost at 2.0467 is the eight-tape reading (finding-06 §2).
- Arm B (solid): the legal fair planner — hidden board and future both sampled, H=7, K=256. 2.0260 on 32 fresh tapes (finding-12 §2). Its dashed ghost at 2.2309 is the withdrawn eight-tape reading (finding-07 §1), with the dashed downward arrow between them labelled "fresh-tape correction (finding-12)" — the correction made visible.
- Arm A (dashed): future tape known, hidden board sampled, K=64 — 2.1361 on the eight master tapes (finding-07 §2). Never re-run on fresh tapes, so it keeps its eight-tape dash.
- Clairvoyant (top, accent):
rh-clearsH=7 reads the hidden board and the future tape — 2.3663 on 64 fresh tapes (finding-12 §6; 2.3637 on the matched 32-tape cohort, finding-12 §2). A ceiling and teacher, never a policy. - Dashed accent line at 2.400: the exact survival requirement 12/5 (finding-01). The clairvoyant's whole-game rate sits just under it because of the sparse opening; its steady-state second half reaches 2.4023 (finding-06 §2.1).
- Inter-rung arrows (left), recorded shares:
- D4 → arm B: +0.1256 = 27.1% of the gap (finding-12 §2, matched 32-tape cohort: D4 1.9004, arm B 2.0260, clairvoyant 2.3637) — annotated "(corrected; was 58.8%)" because finding-07's print of 58.8% is withdrawn.
- arm B ↔ arm A: knowing the future tape ≈ 0% of the gap (2.1361 vs 2.1403 at K=64, finding-07 §2).
- arm B → clairvoyant: not closed: 72.9% — hidden board plus hindsight-optimization (PIMC) suboptimality; an upper bound on the information share.
- Caption strip: the solid/dashed cohort key.
Simplifications (stated explicitly)
- Rung heights mix cohorts. Each rung uses its best available measurement:
fresh tapes where they exist (clairvoyant, arm B, D4), the eight master tapes
where they do not (arm A). The shares on the arrows come only from the
matched 32-fresh-tape cohort, so the decomposition is internally consistent
even though the rung heights are not all from one cohort. This mixing is
inherited from the plan's rung list and is flagged in the
<desc>. - Arm A sits above arm B's solid rung despite arm B at matched K=64 (2.1403) edging arm A (2.1361): arm A's rung is its eight-tape number and arm B's solid rung is its fresh number at K=256. The ≈0% arrow and its popover carry the matched-K comparison; the visual ordering is a cohort artifact, stated here rather than hidden.
- Four rungs, not five: arm B and fair D4 see exactly the same information; they differ in planning, which is what the 27.1% arrow measures.
- Reveals-per-move rates (1.3832 / 1.1256 / 1.1050 / 1.0339) are quoted only in popovers, to keep one axis.
Sources
docs/exploratory/finding-07-fair-planning-ceiling.md— §1 (K sweep; 2.2309), §2 (arms table: 2.1361, 2.1403, 2.0467; the ≈0% tape result; the PIMC residual), correction notice (0 of 160 fresh-tape fair games survived).docs/exploratory/finding-12-fair-planner-ceiling-extended.md— §2 (matched cohort 1.9004 / 2.0031 / 2.0260 / 2.3637; gap 0.4633; closed +0.1256 = 27.1%; not closed 0.3377 = 72.9%; 22.2% at H=5; 15.3% note), §6 (2.3663 / 1.3832 on 64 fresh tapes, 59/64 censored), D4 1.9865 on 128 fresh tapes.docs/exploratory/finding-06-flow-ceiling.md§2 — the eight-tape D4 baseline 2.0467.docs/exploratory/finding-01-score-is-survival.md— 2.400 = 12/5.docs/methodology.md— the information boundary defining "legal".- Figure spec:
runs/RUN-20260823T191900Z-b9f8f80d/kimi-k3-figure-plan.md, D5.
Conventions
Same as the other diagrams in this directory: theme-aware CSS variables with
light fallbacks, fig-pt/fig-pop pure-SVG hover/focus popovers matching
web/content/figures/score-vs-depth.svg and the .research-fig block of
web/app/globals.css.
Source: web/content/figures/diagrams/diagram-information-ladder.source.md
Chance nodes and fair comparison
Drop7 is stochastic, so a search must evaluate player choices and chance outcomes. Exact enumeration is preferred when it is tractable. Otherwise the experiment records its reveal strata, visible-disc samples, action widths, horizon, cache, and work limit.
Candidate and reference policies should play the same ordered game seeds. Within a decision, sibling actions should use common random numbers when the estimator supports it. This reduces comparison noise without exposing the game seed to the policy.
Alpha-beta pruning is not a direct solution here: ordinary alpha-beta assumes alternating maximizing and minimizing choices, while Drop7 contains chance nodes whose outcomes must be averaged.
Evaluation unit
The independent statistical unit is a complete game, not a move, root, search scenario, or transition. Move-level and root-level measurements are useful for diagnosis, but confidence intervals for final performance are computed over whole games.
Score has a heavy right tail: an occasional long chain can dominate a small mean. Report at least:
- arithmetic mean, median, lower quartile, and minimum score;
- mean and lower-quartile lifetime in moves;
- censor count and move cap;
- numbered clears and covered reveals per move;
- mean and maximum chain depth;
- per-game paired results against the reference; and
- whole-game confidence bounds when making a qualification claim.
A game stopped at the 2,000-move cap keeps only score already earned. Because score never decreases, this is a conservative lower bound; it must be reported as censored and must not be extrapolated.
Seed lifecycle
Seed ranges have roles, not interchangeable pools:
- Training/fitting: may influence model parameters and implementation choices.
- Development/screening: may decide whether an approach advances; once read, it remains development data.
- Protected validation: may be opened only by a frozen candidate that met the development gate.
- Final confirmation: a one-shot cohort opened only after protected validation and cross-engine parity.
Reusing an evaluated development cohort is acceptable for a clearly labeled diagnostic, but it cannot become fresh confirmation evidence. A failed protected block cannot be recycled for model selection.
Million-point qualification
The archived validation protocol sets a deliberately demanding standard.
A candidate first needs 256 development games with:
- observed mean score above 1,050,000; and
- a one-sided 95% whole-game bootstrap lower bound above 1,000,000.
The policy, model bytes, source hashes, compiler command, and work configuration are then frozen. A 256-game protected run must have a mean above 1,000,000, both bootstrap and Student-t one-sided lower bounds above 1,000,000, no illegal moves, and no runner failures. The unchanged candidate must repeat those conditions on the one-shot 256-game final cohort.
The frozen status says no candidate had qualified and neither protected nor final seeds had been opened. The relocation of source files means the archived hashes do not authenticate current paths; provenance explains what must happen before a new validation run.
Decision gates
A gate should be fixed before reading the cohort it controls. It should state:
- the candidate and reference policy;
- allowed data and exact seed range;
- sample size and censor rule;
- score, lifetime, flow, stability, and runtime thresholds;
- what artifacts are written on pass or failure; and
- what later data becomes available after a pass.
Negative results remain useful when the gate, implementation, and cohort are clear. They rule out a specific configuration; they do not prove that an entire algorithm family can never work.
Evidence labels used in the documentation
- Reproduced: executed in the reorganized checkout.
- Ledger-recorded: preserved in
docs/research/history.md; expensive run not repeated during cleanup. - Protocol-recorded: stated by an immutable historical protocol or manifest.
- Task-record only: found in the referenced research conversation without a retained repository artifact.
- Proposed: no completed implementation and no result.
Use the narrowest label that the available evidence supports.
For new machine-readable work, the provenance labels above are complemented by three separate fields:
- Run validity:
valid,partial, orinvalid; - Scientific outcome:
pass,fail,inconclusive, ornot-applicable; - Evidence tier: proposal/mechanics, pilot, development, independently replicated development, protected validation, or final confirmation.
A valid negative result is valid + fail; an invalid run cannot support or
reject its hypothesis. The full operational definitions and standardized cohort
sizes are in the benchmark contract.