A chess engine written from scratch by AI agents. No fork, no copied code, no chess library. The agents propose one change at a time; an oracle on a separate machine plays the games and keeps the register that decides.
Board, move generation, search, evaluation, neural network and UCI Universal Chess Interface, the text protocol between a chess engine and the program that runs it. layer, all written and trained by agents; a few search constants started from remembered values of public engines, declared, and confirmed or replaced by own tuning
Nearly every accepted change passes an SPRT Sequential probability ratio test. Games are played until the accumulated evidence reaches one of two bounds; then the test stops. run; the exceptions (adoption, epoch changes, verified corrections) are in the register too
Strength is only ever stated with its error range and its status: measured in the register, measured outside it, or estimated
Coherent Chess has been running since late August 2026. The agents write the engine one change per run. Most runs are a sequential probability ratio test between the new build and its predecessor, played by an oracle on a separate machine; some entries pass without games, by identity, correction, epoch change or adoption. The verdict enters a register the agents cannot reach, and every figure on the project pages is a link into that register.
What is in this section
State: key figures, the cumulative 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. of passed long stages, epochs and the current measuring stages.
Runs: every register entry, passed and failed side by side, one page per run, with a feed of runs.
Method: the two laws, the gates from a change to the register, the special paths, a glossary.
Playing strength: the current figure and all earlier measurements with their posts; project measurements outside the register.
Live: games of Coherent's main build against a pool of engines from other projects, move by move; they give no rating.
Posts about the project, below.
The oracle is 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. The pages are built from the oracle's export, 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, published with the site. No number from the register is typed in by hand.
Project measurement, not in the register. After 4,000 games against 10 foreign engines Coherent 0.2.24 stands at 3683 ± 52 (anchored to CCRL Computer Chess Rating Lists, a public ranking of chess engines from games under standard conditions. blitz ratings) and replaces 0.2.22 at 3688 ± 52 as the published figure; over the five shared anchors the measured gain is −3 ± 6.
The oracle tested 8 changes to Coherent's search against Coherent 0.2.24 and adopted none: 6 failed the short stage, T-0216 and T-0223 passed it and failed the long stage. What each change did and why it was rejected.
Three earlier forms of threat features failed the speed gate. The small form D16 passed gate 0: upper 95 % limit of the speed loss 3.22 % against a limit of 5 %. No D16 network is trained, no playing-strength result exists.
Label error against a deep reference search falls from 6.19 to 1.13 thousandths between 625 and 80,000 nodes. A game costs 6.91 times as much at 40,000 nodes as at 5,000. Relabelling at equal data volume and width 768: network error 10.622 vs 10.654 thousandths.
Since 2026-10-26 the oracle has a separate path for changes that make Coherent simpler: they must show non-inferiority within 3 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., not a gain. The path, its limits, model calculations and how the switch ran.