Runs
Every register entry, newest first. Short and long stage are labelled separately; the quoted value is the long stage when there is one and is never added to or averaged with the short stage. Verdicts without games name their evidence. This table is not a highlight reel.
Register export 2026-10-30 · Register T-0001 – T-0227 · 225 entries · Run feed (RSS)
How each run ended
Register T-0105 – T-0046
| Run | Verdict | 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. | Date | Games | 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. | Hypothesis |
|---|---|---|---|---|---|---|
| T-0105 | rejected | short stage +0.22 ± 4.33 | 7,760 | −2.96 | A dedicated opening book replaces early search decisions with predetermined moves. | |
| T-0104 | passed | long stage +20.29 ± 11.59 short stage +12.25 ± 8.54 | 1,234 | +2.94 | Three functional-neutral optimizations increase engine speed without altering the search tree: static exchange evaluation reuses shared attack masks, has_non_pawn_material considers only the side's own pieces, and transposition table entries for child nodes are prefetched immediately after move execution using __builtin_prefetch. | |
| T-0103 | rejected | short stage −5.87 ± 7.92 | 2,310 | −2.96 | The redundant side_index function is replaced by direct conversion of the Color enum and removed. | |
| T-0102 | rejected | short stage +0.45 ± 4.08 | 8,522 | −2.96 | A failed hash allocation is caught and resolved by using a smaller table instead of terminating the search thread. | |
| T-0101 | rejected | short stage +1.38 ± 3.29 | 13,842 | −2.95 | Profile-guided optimization uses a frozen representative execution profile for code generation. | |
| T-0100 | passed | long stage +49.16 ± 19.68 short stage +39.13 ± 18.05 | 562 | +2.99 | Incorporating game outcomes into the training target with a WDL ratio of 0.3 improves evaluation compared to relying purely on teacher scores. | |
| T-0099 | passed | long stage +168.60 ± 35.02 short stage +160.72 ± 36.01 | 222 | +2.95 | Including the game outcome in the training target with a weight of 0.3 improves evaluation compared to relying purely on the teacher score. A preliminary stage compares weights of 0.3 and 0.5. | |
| T-0098 | passed | long stage +11.29 ± 8.00 short stage +5.99 ± 4.81 | 2,586 | +2.97 | Move lists and their sorting helpers now use fixed capacities instead of repeated heap allocations per search node. | |
| T-0097 | rejected | short stage −17.53 ± 13.78 | 1,190 | −2.97 | The cost of the next iteration is estimated geometrically from the last two iterations and must fit within the soft time limit before starting. | |
| T-0096 | rejected | short stage −14.42 ± 12.31 | 1,326 | −2.95 | Extracting the loss bit from the sorting rank combined with the pawn short-circuit for capturer minus victim exceeding 100 on non-promotions reduces search time under -O2 with an upper 95 percent confidence bound below 0.97. | |
| T-0095 | rejected | short stage +1.90 ± 3.63 | 16,292 | −2.98 | In quiescence search when not in check, a usable transposition table entry pointing in the right direction (lower bound above stand_pat, or upper bound below stand_pat) replaces stand_pat before the stand-pat cutoff, affecting alpha and best. The delta pruning cutoff continues to use the raw static evaluation, following the approach in Stockfish qsearch. | |
| T-0094 | rejected | long stage +0.98 ± 4.03 short stage +5.05 ± 3.91 | 10,594 | −2.97 | With identical best move stability, a high root node fraction of the best move from depth five onwards reduces soft search time by at most 12.5% after a completed iteration. Conversely, a low node fraction extends soft search time by at most 25% within the hard limit. | |
| T-0093 | rejected | short stage +0.39 ± 5.19 | 8,076 | −2.97 | Internal iterative reduction reduces by two plies instead of one starting at a remaining depth of 8. | |
| T-0092 | passed | long stage +34.14 ± 15.99 short stage +64.65 ± 23.27 | 776 | +2.97 | Several board representation optimizations were ported to the current version: mask generation retaining previous move ordering, evasions as mask parameters, legality tests prior to moves using check-givers and pins per node with mask checks per move, check detection via masks on demand, and a streamlined undo. The search tree remains identical, and a throughput increase of +24 to +29 % is expected. | |
| T-0091 | passed | long stage +26.37 ± 13.80 short stage +25.11 ± 14.05 | 990 | +2.97 | Transposition table upper-bound entries are now stored without a best move. In all-nodes no move raises alpha, meaning the move with the highest fail-soft upper bound yields worse move ordering than the standard heuristics and prevents internal iterative reduction. | |
| T-0090 | passed | long stage +16.78 ± 10.59 short stage +8.45 ± 6.63 | 1,678 | +2.97 | Trivial board getters such as side_to_move, key, halfmove_clock, en_passant_square, castling_rights, and fullmove_number are inlined in the header to allow embedding without LTO. Additionally, has_non_pawn_material is optimized to iterate over the set bits of occupied() instead of using a 64-square loop. Together, these tree-neutral changes yield an expected speedup of approximately +4.04% nps with identical search behavior. | |
| T-0089 | passed | long stage +17.97 ± 11.16 short stage +18.06 ± 11.36 | 1,606 | +2.96 | This tree-neutral speed update optimizes SEE Static exchange evaluation: an estimate of the material outcome of a capture sequence on one square, without searching. by early exit once the sign is determined and computes SEE on demand for captures ordered by MVV-LVA, moving losing captures behind quiet moves with only one evaluation per capture in quiescence search. In addition, the network evaluation accumulator is reduced from int64 to int32, which yielded an additional +7.5% nps in benchmark builds. | |
| T-0088 | passed | long stage +25.23 ± 13.60 short stage +21.81 ± 12.74 | 1,076 | +2.98 | Older transposition table bounds may once again be used for search cutoffs when the halfmove clock is zero. | |
| T-0087 | passed | long stage +14.00 ± 9.64 short stage +15.63 ± 10.58 | 2,260 | +2.95 | Capture-only ProbCut tests selected captures using a shallow search against a raised beta to prune deep fail-high nodes earlier. | |
| T-0086 | rejected | short stage −21.66 ± 15.23 | 1,028 | −2.98 | Horizontal training augmentation deterministically mirrors only training positions without remaining castling rights. Mirror orbits are kept strictly separated from the holdout set. | |
| T-0085 | passed | long stage +86.16 ± 28.28 short stage +136.97 ± 35.27 | 358 | +2.95 | A 128-feature NNUE Efficiently updatable neural network: a small network that evaluates positions and is updated incrementally move by move. net trained for 80 epochs replaces the current evaluation weights. It was trained on 181,346,139 lines from 2,642,799 games. The engine is expected to play stronger under timed conditions than the baseline. | |
| T-0084 | passed | epoch change, no games | The evaluation network is updated to a different training epoch derived from the same original source data. | |||
| T-0083 | passed | long stage +2.84 ± 2.24 short stage +5.10 ± 3.94 | 42,252 | +2.97 | An improving signal derived from the evaluation of the same side two plies earlier is initially used exclusively to reduce the reverse futility pruning margin. | |
| T-0082 | passed | long stage +39.52 ± 12.94 short stage +47.59 ± 14.34 | 1,342 | +2.96 | Eight tree-neutral speed optimizations are combined and tested as a single candidate. Because all eight changes preserve the search tree identically, their combined effect can be evaluated directly through the node rate. | |
| T-0081 | passed | long stage +15.35 ± 7.87 short stage +23.00 ± 9.94 | 3,670 | +2.94 | Late move reduction (LMR) is increased by one additional step for moves with negative history. This acts in the opposite direction of the history-based reduction protection and is applied only after the conclusion of SPSA tuning. | |
| T-0080 | rejected | short stage −118.10 ± 24.08 | 562 | −2.95 | A tree-identical speed bundle consisting of SEE ray masks, insertion sort, a tactical generator, move structure, and dead rank yields +18.6% E-core and +20.3% P-core node rate with bit-identical bench and perft Performance test: counting all legal move sequences to a fixed depth, to check a move generator against known numbers.. It is combined with a continuous LMR formula into a single candidate, preserving the exact search tree of the LMR modification. Under the clock, the combined version is expected to play at least as strongly as the LMR modification alone. | |
| T-0079 | rejected | short stage −137.38 ± 26.16 | 492 | −2.96 | Pre-registered coordinate-wise tuning and SPSA are used to adjust existing search constants without introducing new search mechanics. | |
| T-0078 | rejected | short stage −157.71 ± 26.80 | 454 | −2.96 | Pre-registered coordinate descent tuning and SPSA adjust existing search constants without introducing any new search mechanics. | |
| T-0077 | rejected | short stage −135.37 ± 25.63 | 504 | −2.97 | Quiescence search stores fail-highs in the transposition table. | |
| T-0076 | passed | long stage +172.05 ± 27.97 short stage +143.17 ± 26.61 | 456 | +2.95 | A network additionally trained on campaign data plays stronger than the production network trained solely on the legacy data set. | |
| T-0075 | passed | long stage +4.50 ± 3.53 short stage +3.01 ± 2.38 | 17,746 | +2.95 | The network evaluation updates the feature accumulators for both perspectives incrementally with every piece change on the board, instead of re-accumulating them from all pieces during each evaluation call. | |
| T-0074 | passed | long stage +26.81 ± 10.69 short stage +28.21 ± 11.25 | 2,000 | +2.95 | Bitboard attack operations replace the previous attack generation for mobility evaluation and move generation. | |
| T-0073 | passed | byte-identical, no games | This is an identity resubmission of the unchanged baseline engine to test infrastructure. No source code modifications or engine promotions are included. | |||
| T-0072 | passed | long stage +260.44 ± 39.40 short stage +222.52 ± 36.23 | 378 | +2.96 | Together with the int16 evaluation core, the third network generation replaces the hand evaluation and gains significantly in playing strength compared with the bound predecessor. | |
| T-0071 | rejected | long stage +1.05 ± 1.65 short stage +2.71 ± 2.11 | 76,396 | −2.97 | If negamax clamps its alpha-beta window to the mate values reachable at ply [-Mate + ply, Mate - ply - 1], the fixed-depth result and mate distance are preserved, while impossible subtrees are eliminated. | |
| T-0070 | passed | epoch change, no games | Epoch change of the same predecessor source | |||
| T-0069 | rejected | short stage +0.71 ± 2.51 | 44,794 | −2.96 | A session-wide correction of systematic raw evaluation errors, indexed by pawn structure and side to move, can make RFP, null move, Futility and QSearch stand-pat more reliable. | |
| T-0068 | rejected | short stage −7.07 ± 6.81 | 6,196 | −2.95 | If the main search at depth at most 3 omits materially losing captures, weakly contributing subtrees can be saved without touching the explicitly protected cases. | |
| T-0067 | passed | long stage +16.22 ± 8.31 short stage +7.60 ± 5.35 | 3,730 | +2.97 | If a sufficiently deep non-PV Principal variation: the line of best moves the search currently expects. node without a TT Transposition table: a cache of already searched positions, keyed by a hash of the position. move is reduced by exactly one level, the worse-ordered search costs less and the saved budget can produce additional depth at more important nodes. | |
| T-0066 | passed | long stage +17.47 ± 8.64 short stage +24.65 ± 10.49 | 3,364 | +2.95 | Using the already maintained occupancy bitboards in scan_board and see preserves search behavior and reduces computational effort. | |
| T-0065 | passed | long stage +6.74 ± 4.86 short stage +5.82 ± 4.43 | 11,088 | +2.97 | Omitting the lower 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. bits already determined by the table index enables 16-byte TT entries and doubles the number of slots with the same hash budget; this could reduce TT collisions and search effort. | |
| T-0064 | passed | long stage +11.72 ± 6.91 short stage +3.13 ± 2.44 | 5,428 | +2.95 | A generation-aware, depth-preferred replacement preserves more valuable Transposition table entries and brings measurable Elo compared with unconditional replacement. | |
| T-0063 | passed | byte-identical, no games | Adding a pure comment line leaves the binary unchanged. The identity path can mark the candidate as passed without playing any games. | |||
| T-0062 | passed | epoch change, no games | Epoch change of the same predecessor source | |||
| T-0061 | passed | correctness proof, no games | Correction K7: counters saturate at INT_MAX, movetime capped; behaviorally identical to the predecessor (manifest empty) | |||
| T-0060 | passed | correctness proof, no games | Correction K2: FEN Forsyth–Edwards Notation, a one-line text description of a chess position. parsing checks the plausibility of the en-passant square; behaviorally identical to the predecessor (manifest empty) | |||
| T-0059 | passed | correctness proof, no games | The knight count in the draw detection was corrected. The engine behaves identically except in three manifest positions. | |||
| T-0058 | passed | correctness proof, no games | In evaluate(), the side-relative value is clamped to the range [-28999, 28999]. This change is expected to be functionally identical to the predecessor version. | |||
| T-0057 | passed | byte-identical, no games | A pure comment line under engine/src/ leaves the binary unchanged; the identity path then records the verdict without games. | |||
| T-0056 | passed | epoch change, no games | Epoch change of the same predecessor source | |||
| T-0055 | rejected | short stage −0.17 ± 2.99 | 25,880 | −2.94 | Infrastructure test on the compute machine: predecessor source against itself (live path cell → SFTP → build → oracle). | |
| T-0054 | passed | adoption, no games | Takeover of the running predecessor | |||
| T-0053 | failed | short stage +0.38 ± 2.52 | 36,362 | −2.95 | Reporting forced mates as signed UCI Universal Chess Interface, the text protocol between a chess engine and the program that runs it. move counts should make Coherent's analysis output correct for protocol clients without changing the search tree or bench depth. | |
| T-0052 | passed | long stage – short stage +17.17 ± 8.88 | 486 | +2.95 | Giving a side with at least two bishops a tapered bonus of 30 centipawns in the middlegame and 50 in the endgame should strengthen Coherent by valuing their complementary color control and greater reach as the board clears. | |
| T-0051 | failed | short stage −13.95 ± 9.25 | 3,664 | −2.95 | Tapered pawn-structure scores should improve endgame move choices by increasing doubled- and isolated-pawn penalties with the endgame pawn value and doubling passed-pawn bonuses as non-pawn material disappears. | |
| T-0050 | failed | short stage −9.19 ± 7.57 | 5,028 | −2.95 | Persisting history and countermove heuristics across searches in a game should improve quiet-move ordering by avoiding a cold start on every move. | |
| T-0049 | passed | long stage +1,194.89 short stage +4.79 ± 3.80 | 486 | +2.95 | Probing current-generation transposition bounds in quiescence and prioritizing a matching tactical table move should reduce repeated evaluation, move-generation, and SEE work without replacing deeper principal-search entries. | |
| T-0048 | failed | short stage −2.91 ± 5.01 | 11,566 | −2.96 | Pruning non-promoting, non-checking captures with negative SEE at non-PV nodes through depth two should strengthen Coherent by avoiding full searches of exchanges already known to lose material. | |
| T-0047 | failed | short stage −12.54 ± 8.63 | 3,882 | −2.95 | Preserving castling rights should improve move choices by assigning a phase-tapered value to each retained castling option that the king table and pawn shield do not represent. | |
| T-0046 | failed | short stage −4.43 ± 5.30 | 8,152 | −2.97 | Configurable 50 ms move overhead and a per-move cap of half the remaining clock should reduce time forfeits by preserving transmission reserve and preventing single searches from exhausting the clock. |