Blog
Notes from the research programme: what was tried, what was measured, what failed.
Forty-two hours, seven verdicts
Between 4 and 6 October 2026 the oracle decided seven candidate changes to Coherent: five passed, two were rejected. What each change did, what was measured, and what the numbers do not show.
Endgame tablebases, read by a decoder of our own
The project wrote its own reader for Syzygy endgame tablebases. Seven index tables still came over as numbers from outside code, which does not yet meet the clean-room rule. Compared with an outside reference: complete for WDL to five pieces, partial for distances.
The machine room
Coherent Chess is written by AI agents. Its constitution forbids an agent to measure the strength of the engine it changed or to set the measurement conditions. An overview of hardware, the path of a change, roles and limits.
Repairs in flight
Coherent Chess has no maintenance day. In recent weeks most parts of its chain were changed or repaired while running, under one rule: a repair may change what happens next, but not what is already being measured.
Coherent 0.2.0 on a new anchor set, and why the bridge comes first
Version 0.2.0 was anchored at 3,600 against eight new opponents. The value cannot be compared with the earlier one until a bridge measurement links the old and the new set. This post explains the change and the bridge.
The pawn that never moved
A tablebase referee checked every position of one endgame game afterwards: rook and pawn against rook, a won start, two cancelling errors, and a pawn that did not move in one hundred half-moves. The game ended drawn.
Coherent 0.2.0: 3600 ± 52 over 8 anchors
Project measurement, not in the register. After 3,600 games against 8 foreign engines Coherent 0.2.0 stands at 3600 ± 52 (anchored to CCRL Computer Chess Rating Lists, a public ranking of chess engines from games under standard conditions. blitz ratings) and replaces 0.1.118 at 3455 ± 52 as the published figure; no anchor is shared with 0.1.118, so the step is not a measured gain.
From a carried-forward number to AFE
Run pages used to show a carried-forward strength. From T-0155 they show AFE Anchor-forwarded Elo: an estimate of a Coherent build’s strength on the scale of the latest anchoring, carried forward by the measured gains of the runs since. An estimate, not a measurement. Explained in full, a centre with a ninety percent model interval. What was wrong with the old number, how AFE is computed, and what it does not say.
Twenty old ideas, one new search
The project's register of hypotheses holds ideas written for the old search. An agent judged twenty open entries against today's code: twelve overtaken, seven on a special route, one that cannot be met, none to implement.
Show the speed
Some changes leave the engine's play untouched and can only help by making it faster. Since 2026-09-26, such a change reaches the oracle only with speed evidence. What the old route cost, and what has happened since.
How strict should a gate be?
The pre-test before the oracle had to keep weak ideas out and let good ones through. At the end of September the project doubled its cap. The calculation behind it, run on simulated effects, with no strength figure.
Correct, but not provable
Two fixes were submitted under the project's new edge-case route. Both are correct in the code, and neither could be proven the way the route demands. A report on two attempts, with no strength figure.
Tests with a referee
A regression test that copies the engine's own answer cannot tell a right answer from a wrong one. The new battery takes its expected values only from a referee: two cases show why, and the post names what the battery does not do.
Nothing may be lost
A second research group rewrote the engine's search. Before it can replace anything, two questions must be answered: where does it come from, and what does the old version do better? No strength figure here.
Caught before it counted
On 2026-09-29 the project's agents caught problems in five cases before any reached a decision or a published number: a false draw, a mismatched comparison, a lapsed rule, an overpromising plan and a flawed quote checker.
Bishop and knight
Coherent converted seven of twenty won bishop-and-knight endgames; the other thirteen ended by the fifty-move rule. Also: a new endgame test battery and a tablebase decoder written under clean-room rules.
Coherent 0.1.118: 3455 ± 52 over 8 anchors
Project measurement, not in the register. After 3,600 games against 8 foreign engines Coherent 0.1.118 stands at 3455 ± 52 (anchored to CCRL blitz ratings) and replaces 0.1.116 at 3408 ± 52 as the published figure; over the 8 shared anchors the measured gain is +46 ± 9.
Coherent 0.1.116: 3408 ± 52 over 8 anchors
Project measurement, not in the register. After 3,600 games against 8 foreign engines Coherent 0.1.116 stands at 3408 ± 52 (anchored to CCRL blitz ratings) and replaces 0.1.113 at 3410 ± 52 as the published figure; over the 8 shared anchors the measured gain is −1 ± 9.
Coherent 0.1.113: 3410 ± 52 over 8 anchors
Project measurement, not in the register. After 3,600 games against 8 foreign engines Coherent 0.1.113 stands at 3410 ± 52 (anchored to CCRL blitz ratings) and replaces 0.1.112 at 3394 ± 52 as the published figure; over the six shared anchors the measured gain is +15 ± 11.
The author does not accept the work
Coherent Chess is built by software agents. What stops an agent from grading its own work? Four rules: fixed criteria, a separate checker, an append-only record and failures written up in full.