# REPLAY

> Rebuild the community's strict 460 boards exactly, and in doing so discover the move ordinary solvers can't make: paying two mismatches at a single cell.

- Canonical page (with interactive figures/demos): https://eternity2.dev/research/lab/experiments/raphael-anjou/learning/replay/
- Updated: 2026-07-21
- Topics: backtracking, learning
- Source: Community strict-460 boards (records timeline): the witnesses REPLAY reconstructs — https://github.com/raphael-anjou/eternity2/blob/main/web/content/research/records.mdx

---
REPLAY closes the [study](/research/lab/experiments/raphael-anjou/learning) with a
different kind of learning. Every experiment before it mined a *statistic* from the
whole corpus; REPLAY learns from a *single* board, and it learns the one thing a
statistic cannot show, the exact move a record used that our search could not make.
The public fully-clued boards this project was measured against reach 460 (the
community record has since advanced to 464), but this project's own break-allowing
search stalled at 457 or 458 no matter what. REPLAY set out to reproduce those 460
boards exactly, piece for piece, to learn what they were doing that our search could
not. The answer turned out to be a single overlooked move.

## How it works

A break-allowing search normally lets a cell carry at most one mismatch as
it's placed. REPLAY relaxes that to allow two at certain cells, and reorders
how candidate placements are ranked so that the moves a known good board
actually used outrank cheaper-looking ones. With those two changes it can
walk the same path the witness board took.

Played back this way, the community 460 boards rebuild exactly, every piece
in place, and the score checks out. The reproduction is the proof that the
missing ingredient was real.

> **[Figure]** Interactive: the double-break cells — interactive: DoubleBreakDiagram. Rendered on the canonical page (link above); not shown in this markdown export.

> **[Figure]** Interactive: replay the break schedule — interactive: DoubleBreakLab. Rendered on the canonical page (link above); not shown in this markdown export.

## The result

Both community strict-460 boards replay exactly to 460. The discovery: each
contains four or five cells that pay two mismatches at once. A search that
allows only one mismatch per cell literally cannot reach those boards, which
is exactly why the project's earlier runs saturated at 457 to 458. Allowing
the double break lifts the strict ladder to 460.

It's a clean explanation of a long-standing plateau, and a caution: a
reasonable-looking rule (one break per cell) silently fenced off the very
boards we were chasing.

## Method

The replay is a depth-first search run in a deliberately constrained mode.

- **Prior-over-cost ordering.** Ordinary break-tolerant DFS ranks candidate
  placements by immediate mismatch cost, cheapest first. REPLAY flips the
  priority to *prior-over-cost*: candidates the witness board actually used are
  ranked ahead of cheaper-looking ones, so the search is pulled down the known
  good path instead of wandering off it. This is the `--prior-over-cost` flag
  driving off the witness board's own schedule.
- **Exact tail.** The last 14 cells are solved exactly (`--exact-tail 14`)
  rather than heuristically, so the endgame that ordinary runs fumble is closed
  deterministically.
- **The relaxation that mattered.** The per-cell mismatch budget is raised from
  one to two. That single change is what admits the witness boards at all.

Run on a fixed 460 frame, 8 threads, a 5-second restart cadence and a per-run
budget, both community strict-460 witnesses rebuild piece-for-piece and the
score checks out, the reproduction *is* the proof that the missing ingredient
was the double break.

**The finding.** Each witness contains four or five cells that pay two
mismatches at once. A search capped at one break per cell cannot represent
those boards, which is precisely why the project's earlier break-tolerant runs
saturated at 457–458. It is a search-completeness result dressed as a record
attempt: the wall was in the move set, not the compute.

## Reproduce

This one is seeded and closer to deterministic than the stochastic builders:
the DFS replay off a fixed frame and witness schedule rebuilds the 460 boards
reliably. The targets it reconstructs are the community's own strict-460
[records](/research/records), so the boards themselves are on the record
timeline; what this experiment adds is the replay that rebuilds them. The
replay needs two inputs beyond the puzzle, a border frame and the community
witness board it reconstructs; a runnable backing directory that ships both is
planned.

## Open questions

Does allowing two breaks per cell open a path to 461 and beyond, or just to
the known 460s? Are there boards needing a triple break? And can the
double-break cells be predicted from a partial board rather than discovered
by replay?

## Related

- [Decoding records](https://eternity2.dev/research/build/learning/decoding-records) — The most literal way to learn from a strong board: rebuild it exactly, piece for piece, until your search can reproduce it. What the reconstruction forces you to add is the ingredient your search was missing, and the reproduction is the proof.
- [Learning from strong boards](https://eternity2.dev/research/lab/experiments/raphael-anjou/learning) — A study in five experiments of one idea: instead of searching Eternity II from first principles, mine the corpus of strong boards already found for structure and feed it back into a search. A position prior, a learned move-vote, a scarce-demand compass, an anti-pattern miner, and a record decode, ordered from the simplest signal to the subtlest, and the one wall all five reach.
- [LADDER](https://eternity2.dev/research/lab/experiments/raphael-anjou/pipelines/ladder) — Throw hundreds of cheap short searches at the board, keep only the deepest starts, and promote the survivors through longer and longer rounds.
- [Records & solvers](https://eternity2.dev/research/records) — Eternity II has never been solved, but fifteen years of community effort have pushed the best board to 470/480. Who holds what, how they did it, and why some headline "480" boards are not actually the real puzzle.
- [The rigidity wall](https://eternity2.dev/research/why/rigidity-wall) — Every record board we have is frozen in place. You cannot nudge your way from a great board to a perfect one, and we can prove it.
- [No-good learning: remembering why you failed](https://eternity2.dev/research/build/reduce/nogood-learning) — A failed subtree is a theorem: this partial state can never extend. Store it and never re-enter. The community tried both flavours: chess-style transposition tables over the search frontier, and mined constraints about the puzzle itself. The full ledger of what memory buys at E2 scale, and the small boards where it genuinely pays.
