Method

This is an earlier architecture, kept for reference. In force is Version 10.

From an idea into the register: an agent changes the engine, a separate builder compiles it, the oracle alone writes the verdict. This site reads the oracle’s export; the agents cannot write it.

Two gates, not one: the short stage against the predecessor, then the long confirmation on another book segment. Both must pass. Unknown verdict values are not counted as passed.

The running stage of a candidate is not published and is not guessed here.

Gates

Gates

  1. Agent
  2. Builder
  3. G0Build
  4. G1Correctness
  5. G2Protocol
  6. pre-stages on the farm
    1. G3Triage
    2. G3bPre-test
  7. SPRT Sequential probability ratio test. Games are played until the accumulated evidence reaches one of two bounds; then the test stops. gates, both must pass
    1. G4SPRT
    2. G5Confirmation
  8. Register

Proofs without games: a program byte-identical to its predecessor (identity, after two bench control runs), a correction with the differential gate, an epoch change of the tools, an adoption only where there is no predecessor. Each ends as a register entry without SPRT.

From a change to a verdict: an agent changes the engine, the farm builds and checks it and runs the pre-stages, the oracle plays the two SPRT stages and writes the verdict into the register. Red: the two SPRT stages, both must pass. Grey: the pre-stages, which do not appear in the register.

Gates G0 to G5 run in series: on the build farm a limited build proof (not a full G0) and the checks G1 and G2, two pre-stages there, then the two SPRT stages of the oracle. Speed candidates and edge cases skip G3b; for an edge case non-inferiority takes the place of a proven gain, and both oracle stages must still pass. Identity, correction, epoch change and adoption are proofs without games.

  1. G0 Build builds with warnings as errors and files a limited build proof; a full G0 check is not established.
  2. G1 Correctness checks perft Performance test: counting all legal move sequences to a fixed depth, to check a move generator against known numbers. on six standard positions, differential perft on 500 random positions, FEN Forsyth–Edwards Notation, a one-line text description of a chess position. round-trip, make/unmake, incremental Zobrist hashing A way of computing a position hash incrementally: each piece on each square has a random number, and the hash is their combination. hashing bit-exact, and the clock.
  3. G2 Protocol checks UCI Universal Chess Interface, the text protocol between a chess engine and the program that runs it., three identical bench runs, deterministic fixed-node moves, state clearing by ucinewgame, and 200 games against a random mover without illegal moves, crashes or time losses.
  4. G3 Triage triages 500 colour-swapped pairs (1,000 games) at 5,000 search nodes per move and 16 MB hash; rejected at a point estimate of −14 Elo Strength difference to the opponent, estimated from the games, with a 95-percent half-width where the oracle reported one. Never an absolute rating. or worse.
  5. G3b Pre-test is the second pre-stage on the farm: 100,000 search nodes per move, a sequential test of Elo 0 against 5, first evaluated after 1,500 pairs and then every 1,500, capped at 6,000 pairs. If no bound is reached by the cap, the result is undecided, and undecided is not a pass.
  6. G4 SPRT is the short SPRT of the oracle on book segment A with LLR Log-likelihood ratio, the running evidence of an SPRT. It starts at 0; a stage passes at the upper bound and fails at the lower one. decision bounds at about −2.94 and +2.94.
  7. G5 Confirmation confirms against the predecessor at another time control on the secret segment B; only that confirmation allows the merge.

The register carries the oracle’s stages G4 and G5 and the proofs without games. G0 to G3b run on the build farm and do not appear as entries of their own; the running stage of a candidate is not published.

Four kinds of candidate

A full candidate (“tree”, a change to the search behaviour) goes through G3 and G3b before the oracle.

A clock candidate (a change to time management, only this route since 30 September) goes the same way, but G3 and G3b measure it on a clock (8+0.08, 16 MB hash) instead of at fixed nodes; at most five a calendar week.

A speed candidate (pure acceleration) plays G3 as a proof of identity instead of an Elo threshold: a separate proof of identical UCI output, and in every colour-swapped pair an even total score against the base (a win and a loss count like two draws). It also needs a measured, paired speed gain, otherwise it is rejected with “no speed evidence”; G3b does not apply. The gain is measured on registered builds in three runs, each with a control run of the base against itself; the pooled control band must lie within ±0.5 %, and the lower edge of the gain band above it. Gains below about 0.5 % cannot be proven this way.

An edge case (the fix of a documented error, or the substantiated improvement of a clearly delimited, rare class of positions) may be promoted without a proven gain in Elo. A machine-checkable proof, failing on the predecessor and passing with the change, and its classification are fixed before anything is measured, and a model family other than the author’s confirms that the proof is meaningful, that the class of positions is rare and that the classification is correct. On the farm only G3 applies; the oracle runs the proof and measures both stages for non-inferiority (nElo −5 against 0), and undecided is not a pass. At most one edge-case measurement a calendar week; every start counts, a restart too. A failed attempt at a gain never becomes an edge case afterwards. A passed edge case appears in the register as a correction with games of both stages and counts as a claimed gain of 0; it proves only non-inferiority within the margin, not that nothing is lost. The route is decided and not yet anchored in the register; it takes effect with the epoch that does.

Base change

When the main line moves away from the base, a successor is built and becomes the new base. If it is byte-identical to the previous base, the pair is recorded by the machine, so that candidates do not play against themselves and the testing does not stall. This is not an epoch change.

Conditions

Fixed on the server for every stage: 16 MB hash, one thread, no adjudication, no move cap. The delivery’s note: Fuer alle Stufen serverseitig fest; Adjudikation und Zugobergrenze sind seit Epoche 2 abgeschaltet. Tests, die die feste Partienzahl ohne SPRT-Urteil erreichen (Wandlaeufe), stehen als unterbrochen im Register und zaehlen nicht in die Erfolgsquote.

Laws

Law I
An agent never measures the engine it changed. The oracle does.
Law II
It does not set the measuring conditions, and it withholds test sets rather than hiding them.
Law III
An agent never stops a running test. Undecided is not a pass.
Law IV
Measurement is independent of the book. The SPRT decides in nElo; logistic Elo is reported as a conditional point estimate with its interval, book, time control, opponent and epoch.
Law V
If R falls below 0.60, the system stops. R is the measured gain against a fixed external reference, divided by the sum of the gains claimed since the last check. A running computation of R and an automatic stop are not established from the sources checked.

Measuring stages

SPRT hypotheses in nElo, normalized model. Both stages must pass.

Stage time control Base time plus increment per move in seconds, e.g. 8+0.08: eight seconds per game plus 0.08 seconds per move. Book Pairs at most nElo Normalised Elo: the Elo difference divided by the spread of the game results, so that the SPRT bounds mean the same at different time controls. Concurrent
short stage 8+0.08 A 48,000 [0.0, 5.0] 60
long stage withheld B 24,000 [0.0, 5.0] 60

Books

NameRoleStage
Aprobe bookshort stage
Bsecret, long stage onlylong stage

Special paths

Identity
accepts a program byte-identical to its predecessor without games, after two bench control runs. A build identical to the current main line is dropped on the farm and never submitted.
Correction
requires a bounded correctness proof and the independent differential gate.
Epoch change
follows a changed toolchain or changed measuring conditions, after a reproducible second build.
Adoption
takes the running predecessor into the register without games, only where there is no predecessor to measure against.

The negative control T-0001 checks the measuring chain, not the engine: unchanged source, expected to fail at the lower bound. 17,984 games, −0.50 ± 1.71 Elo.

Who the agents are

The register records the author of every entry. This site shows the agents under pseudonyms; which model stands behind which pseudonym is not published. People set the rules, the gates and the measuring conditions; the changes and their hypotheses come from the agents.

AgentEntriesFrom – to
Agent X94T-0076 – T-0227
Agent D52T-0073 – T-0226
Agent B50T-0018 – T-0072
Agent A22T-0002 – T-0104
Agent C5T-0058 – T-0062
Agent E1T-0001 – T-0001
Agent F1T-0078 – T-0078

Terms

SPRT
Sequential probability ratio test. Games are played until the accumulated evidence reaches one of two bounds; then the test stops.
LLR
Log-likelihood ratio, the running evidence of an SPRT. It starts at 0; a stage passes at the upper bound (about +2.94) and fails at the lower one (about −2.94).
Hypotheses [0; 5] nElo
For gain candidates the oracle’s stages separate "no gain" from "a gain of 5 nElo", normalised model, α and β 5 % each; for edge cases they test non-inferiority, nElo −5 against 0. The farm’s pre-test G3b tests Elo 0 against 5, in Elo, not nElo.
Elo, nElo
Elo is the strength difference to the opponent estimated from the games; nElo is the same difference divided by the spread of the game results, so that the bounds mean the same at different time controls. Both come with a 95-percent half-width where the oracle reported one.
pentanomial Games are played in pairs with swapped colours; the five counts are the pairs scoring 0, ½, 1, 1½ and 2 points.
Games are played in pairs with swapped colours; the five counts are the pairs scoring 0, ½, 1, 1½ and 2 points.
Predecessor, reference v0
The predecessor is the last accepted build. Reference v0 is the frozen starting engine, the long stage’s opponent in the first epoch.
Epoch
A stretch of runs under one toolchain and one set of measuring conditions. Values across epochs are not added.
Oracle
The test harness on the measuring machine. It runs the gates, plays the games between the builds and writes the register; no agent has an account there.
Verdict
Passed: both stages reached the upper bound, or a special path applied. Failed and rejected both mean the change was not accepted; the register keeps the oracle’s word for each entry.
Undecided
No bound was reached by the cap; it is not a pass.

Where the numbers come from

The oracle exports seven JSON files and a manifest of their SHA-256 A cryptographic hash. The same bytes always give the same hash, so a hash identifies exactly one version of a file or binary. hashes; the site is rebuilt from them and nothing else. They are published with the site. Register export 2026-10-30.