Baselines and diagnostics
Simple reference players, engine cross-checks, and per-move counters provide the measuring instruments for policy research.
Approaches in this family
0 approaches, featured pages first. The label above each title is the technique the approach uses; the same pages appear under that technique on the approaches index.
This directory holds no strategy page.
Instruments in this directory
These play no game of their own: engines run the games and diagnostics measure them. They are listed here because they live alongside the approaches above; the full sets are under Engines and Diagnostics.
- D4 flow auditdiagnostic
Replays the reference on used games and records each board, decision, and search value for behavioral analysis.
- Heuristic benchmarkdiagnostic
Runs simple hand-written players on paired games so differences reflect policy rather than luck.
- Native parityengine
Play the same games in the readable TypeScript engine and the fast C++ engine, then require their records to match exactly.
- Phase benchmarkdiagnostic
Plays complete games with the shared hand-written policy and reports score, clears, reveals, board height, search work, and early stops.
- Cover-throughput probediagnostic
Asks whether telling a simple player to care much more about breaking open gray discs makes it live longer, and finds that turning that dial up barely moves anything.
- Tie-breakingdiagnostic
When two columns are worth the same, their order chooses between them. This measures the effect over a whole game.
- Trajectory throughputdiagnostic
Runs a player that can see hidden numbers beside public-information players on the same games, then compares their boards every five moves to show what self-sustaining play looks like.
On this page
Not every program in this repository is trying to win a game of Drop7. The seven listed here are the instruments: reference players that a candidate has to beat, cross-checks that the two implementations of the rules still agree, and counters that describe how a policy survives rather than how much it scored.
Three jobs
A baseline is a player you keep deliberately simple and frozen. Its only purpose is to give a number meaning. "Averaged 267,000 points" says nothing on its own; "averaged 267,000 where the frozen one-move-ahead search averaged 157,000 on the same 32 games" is a measurement. Comparisons here are made game by game against a fixed comparator and paired by seed, because Drop7 scores vary enormously from one game to the next.
A cross-check compares two implementations of the same rules. The rules exist twice here, once in TypeScript and once in C++. The C++ version is fast enough to play millions of games and the TypeScript version is the one that is easy to read and test. If they ever disagreed, every recorded score would be ambiguous. So the same games are replayed through both and the resulting traces are compared character by character.
A flow counter measures discs, not points. "Throughput" in this repository never means games per second; it means the rate at which the board is being cleared, per move. Two numbers do most of the work: how many numbered discs clear per move, and how many gray discs get their hidden number exposed per move.
Every board on these pages is the rules engine's own output for the position shown, not a drawing.
Why the flow numbers matter more than they look
A Drop7 game ends when the board fills. Every five drops, five discs have been placed by the player and seven more arrive underneath as a new gray row: twelve discs onto a 49-cell board. A policy therefore survives indefinitely only if it removes at least 12/5 = 2.400 numbered discs per move and opens at least 7/5 = 1.400 covered discs per move. That arithmetic is why the counters exist, and it is recorded in finding 01 together with the measurement that the depth-4 reference sustains 1.973 clears and 1.090 reveals per move (an 18% and 22% structural deficit) over 64 paired games at the exploratory development tier.
Score follows from that. In those same 64 games, 94.3% of all points came from the flat 17,000-point bonus paid at each rise, 5.7% from chains, and none at all from board clears, with score and moves-survived correlated at r = 0.9995.
What the records say
Technical record
| Instrument | What it produces | Status and evidence |
|---|---|---|
| Native parity | Byte-for-byte comparison of native and TypeScript traces | Completed; reproduced; 256 seeds and 6,852 transitions matched in this checkout |
| Heuristic benchmark | Paired complete-game comparisons among named TypeScript profiles | Support-only; repository-verified |
| Phase benchmark | Score, survival, flow, height, work, censoring for the shared phase policy | Support-only; repository-verified; no durable standalone result was located |
| D4 flow audit | Per-move geometry, flow and root-value traces for the depth-4 reference | Support-only; repository-verified |
| Trajectory throughput | Matched windows from public policies and a privileged ceiling | Completed; task-record only; motivated the ~2.4-clear / ~1.4-reveal targets |
| Tie-breaking | Sensitivity to the fixed legal-column ordering | Support-only; repository-verified |
| Cover-throughput probe | Five crack/reveal weight profiles over 256 historical games | Rejected; task-record only; the strongest profile was nearly flat |
Sources: experiment index §"Baselines and diagnostics"; reproducibility guide; audit 01; audit 04 §B.2, which lists five of these seven sources as "support-only — real questions with no lane".
What this taught us, and what is still open
- The two engines agree exactly on 6,852 transitions of random play. That is a determinism and portability result, and a real one.
- Agreement is not fidelity. Two engines can agree exactly on the wrong rules, and audit 01 demonstrates three places where this engine's scoring and opening differ from the reference implementation the repository itself cites. Its verdict on the hypothesis "the simulator is a faithful model of the target game" is recorded as fail, at the mechanics evidence tier; the divergences are one-sided and computable rather than invalidating.
- The cross-check also has blind spots that matter: in those 256 games the board was never cleared, no game was censored, and no chain went past depth 9, so the board-clear and censoring code paths have zero cross-engine coverage.
- Five of these instruments have no retained output at all. They can be run again. They are cheap, but nothing in this repository records what they said.