Epoch 13: two new paths through the oracle

Listen to this post17 min

Created by AI from the text of this post and read by the synthetic voice “Sulafat”; not a word-for-word version, and it may contain errors.

On 31 October 2026 at 21:24 UTC the oracle, the instance that decides on every change to Coherent, accepted tests again. Epoch 13 has applied since then. It introduces two paths that until now existed only in the constitution: speed-ups with an identical search tree, and play settings. Both can admit a change without a strength gain being shown. The path for gains and the path for simplifications stay as they were. This post describes what the new paths test, why the speed threshold is 1.5 % and how the switch ran in 3 attempts. It makes no statement about playing strength. The previous epoch was described in the post "Epoch 12: a path for simplifications".

What changed

Gain pathSimplificationTempo, newPlay setting, new
What the change must showgainnon-inferiority within the marginsame search tree, measurably faster, non-inferiority within the marginnothing changed at the default value, speed loss within tolerance, predicted effect
Test in the oracleSPRT Sequential probability ratio test. Games are played until the accumulated evidence reaches one of two bounds or the game limit fixed in advance; then the test stops. 0 against +5 nElo Normalised Elo: relates the mean score excess of a colour-swapped pair to the spread of the pair results.SPRT −3 against 0 nEloSPRT −5 against 0 nElono SPRT, neutrality check
Cap per stage96,000 and 36,000 games144,000 games each96,000 and 36,000 games–
Accountnone4 starts, at most 1 per month2 starts, at least 24 hours aparttolerance 0.2 % per option, 0.5 % together
Counts in Law V withthe claimed gaingain 0gain 0gain 0

The stages of the gain path and the constants of the simplification path are literally identical in the measuring code of epoch 12 and epoch 13. What is new is the fingerprint of the measuring environment, still in version 3.

The tempo path

The constitution treats tempo as a subtype of the edge case: speed at an identical search tree is admitted as a subtype of the edge case. According to annex A6 the verdict establishes search-tree identity and speed-up, not freedom from loss.

Flow diagram with 6 boxes in 2 rows. Pipeline: classification, open tempo proof. Oracle: server check, account booking, short stage, long stage. At the end stands adoption without proof of a strength gain, which counts in Law V with a gain of 0.
The checks of the tempo path (schematic)

Two quantities decide in the tempo proof. For each position the time of base t_B and candidate t_K is measured in pairs:

Geomean    = 100 · (exp(mean of ln(t_B / t_K)) − 1)
Total time = 100 · (Σ t_B / Σ t_K − 1)

The gate requires both: the lower bound of the geomean must exceed 1.5 %, the lower bound of total time must exceed 0. The bounds come from a bootstrap over the positions with 10,000 replications; with irrtum = 0.05 the lower bound is the 2.5 % quantile. There is also a counter-check: the base is measured against itself, and this A/A band must lie within ±0.5 and contain 0. The double gate targets the case of a candidate that speeds up many short positions while the total work gets slower. In the simulation of the determination such a candidate never passed.

With an identical search tree the tempo proof is only the first part. After it the oracle checks for itself: the same bench node count and no deviation in move, nodes and score, an unchanged UCI Universal Chess Interface, the text protocol between a chess engine and the program that runs it. interface and time management, peak memory at most 2,048 KiB above the base, and a tempo proof on withheld positions. Only then does the non-inferiority test follow in both stages.

What the account limits

Each start debits the reserve of 3 nElo per stage before the test, by 1.21 in the short stage and 0.75 nElo in the long one. That allows at most 2 starts. The debit is not a measured loss. It lies just above the maximum of (−θ) · P(stage passes at true effect θ), i.e. the worst possible expected deterioration per start in that stage.

The model treats the 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. as Brownian motion between the bounds, with a cap. For this post it was recomputed with own code and a different numerical method; all values agree with the determination. These are model calculations, not measurements.

In the last 2 points the model assumes the same effect in both stages; the bound before them does not. At a true effect of 0 a start costs 20,076 colour-swapped pairs on average.

Why 1.5 %: a placebo that seems faster

The threshold was originally 0.5 %. Then a second working group of the project measured a build whose behaviour does not change: only the code was shifted by 256 bytes. The result was +1.05 % with the band [0.91; 1.20]. This placebo would have clearly exceeded the threshold of 0.5 %. As it turned out, however, the value mixed 2 effects.

The second effect: a byte-identical copy of the engine measured −0.08 % [−0.24; 0.06] with a path of equal length and −0.48 % [−0.60; −0.36] with a path 32 characters longer. The observed point values differed by about 0.4 percentage points. Epoch 13 adds an explicit check of equal path lengths to the measuring runner.

With paths of equal length the count was repeated: 223 placebo runs with 1,000,000 nodes each on 3 processor generations.

At 0.5 % about 1 in 13 placebo runs passes the A/B part of the gate; at 1.5 % 1 of 223 At 0.5 % about 1 in 13 placebo runs passes the A/B part of the gate; at 1.5 % 1 of 223. all 223 runs: 0.5 7.6, 0.75 4, 1 0.9, 1.25 0.9, 1.5 0.4, 2 0.4; 172 runs on Zen 4: 0.5 7.6, 0.75 3.5, 1 0.6, 1.25 0.6, 1.5 0, 2 0. 02468all 223 runs172 runs on Zen 4Placebo runs passing theA/B part, in per centThreshold in per cent0.50.7511.251.52all 223 runs, 0.5: 7.6all 223 runs, 0.75: 4all 223 runs, 1: 0.9all 223 runs, 1.25: 0.9all 223 runs, 1.5: 0.4all 223 runs, 2: 0.4172 runs on Zen 4, 0.5: 7.6172 runs on Zen 4, 0.75: 3.5172 runs on Zen 4, 1: 0.6172 runs on Zen 4, 1.25: 0.6172 runs on Zen 4, 1.5: 0172 runs on Zen 4, 2: 0

At 0.5 % about 1 in 13 placebo runs passes the A/B part of the gate; at 1.5 % 1 of 223. all 223 runs: 0.5 7.6, 0.75 4, 1 0.9, 1.25 0.9, 1.5 0.4, 2 0.4; 172 runs on Zen 4: 0.5 7.6, 0.75 3.5, 1 0.6, 1.25 0.6, 1.5 0, 2 0.

At 0.5 % about 1 in 13 placebo runs passes the A/B part of the gate; at 1.5 % 1 of 223 (data of the chess project).
Thresholdall 223 runs172 runs on Zen 4
0.5 %1713
0.75 %96
1.0 %21
1.25 %21
1.5 %10
2.0 %10

The count was repeated for this post from the raw table and covers only the A/B part of the gate. The one run that also exceeds 2.0 % ran on Zen 5.

The spread of the placebos on Zen 4 was around 0.40 percentage points, that of a byte-identical copy 0.36 [0.29; 0.47]. The band of a single run does not capture this spread between runs. A stable effect of the individual placebo file could not be shown on Zen 4. That does not prove that every observed speed-up was spurious: an identical search tree does not rule out that a different program layout really runs faster.

In the normal model a pure placebo on Zen 4 passes at 0.5 % in 6.9 to 7.3 % of cases, at 1.0 % in 0.32 to 0.37 %, at 1.5 % in about 0.004 %. These are model values from 2 independent calculations. They come with a caveat: behind the 172 runs there are only 17 different files, and for the single-core measurement the model gives 0.13 % with an interval up to 5.7 %.

The strongest counter-argument is on record: on Zen 4 alone 1.0 % would be enough by calculation, and 1.5 % rejects genuine speed-ups between 1.0 and 1.5 %. In an evaluation of 55 older tempo proofs 5 cases passed at 0.5 % and 2 at 1.5 %; 31 further proofs had no raw data. The argument for 1.5 % was that the measurements ran under different conditions than at the oracle, with a different process model, a different node count and on different machines. A reduction would have been an estimate. The threshold is a precautionary decision against false promotion, not proof that layout effects are under control.

The follow-up measurement

So a rule was fixed before the first measurement: what counts is the upper one-sided 95 % bound of σ, not the point value. If it is at most 0.5 percentage points, 1.5 % applies. If it is above, 2 model families recompute. Until the result the tempo path stayed closed to submissions. The measurement ran on 2 Zen 4 machines, the processor generation of the oracle, on 2 cores each, and the A/A followed the model of the measuring runner at the oracle.

All four upper bounds of the noise lie below the limit of 0.5 percentage points fixed in advance All four upper bounds of the noise lie below the limit of 0.5 percentage points fixed in advance. upper bound: machine 1, core 1 0.15, machine 1, core 2 0.17, machine 2, core 1 0.33, machine 2, core 2 0.29; pre-set limit: machine 1, core 1 0.5, machine 1, core 2 0.5, machine 2, core 1 0.5, machine 2, core 2 0.5. 00.10.20.30.40.5upper boundpre-set limitUpper 95 % bound of σ,in percentage pointsGroupmachine 1, core 1machine 1, core 2machine 2, core 1machine 2, core 2upper bound, machine 1, core 1: 0.15upper bound, machine 1, core 2: 0.17upper bound, machine 2, core 1: 0.33upper bound, machine 2, core 2: 0.29pre-set limit, machine 1, core 1: 0.5pre-set limit, machine 1, core 2: 0.5pre-set limit, machine 2, core 1: 0.5pre-set limit, machine 2, core 2: 0.5

All four upper bounds of the noise lie below the limit of 0.5 percentage points fixed in advance. upper bound: machine 1, core 1 0.15, machine 1, core 2 0.17, machine 2, core 1 0.33, machine 2, core 2 0.29; pre-set limit: machine 1, core 1 0.5, machine 1, core 2 0.5, machine 2, core 1 0.5, machine 2, core 2 0.5.

All four upper bounds of the noise lie below the limit of 0.5 percentage points fixed in advance (data of the chess project).

All 4 upper bounds lie below 0.5 percentage points, as do all 8 subgroups. 127 of 136 assignments were collected; 3 measuring blocks stayed empty and were not repeated. Another model family recomputed the evaluation from the raw data: 1,196 compared fields, largest deviation 1.1 · 10⁻¹⁴. On 1 November 2026 at 07:16 UTC the threshold was thereby confirmed and the closure was lifted.

The limits of this result:

Play settings

According to rule R13 a play setting is a UCI option for exactly one playing purpose other than strength, which is named in writing before code for it is written. It may change play only at a value outside the default, and an active setting may play weaker.

This path has no SPRT. Instead the oracle checks neutrality: at the default value search and play-relevant state stay the same, in 3 cases: without an option command, after setting the default, and after returning from another value. A tempo proof shows that the loss stays within tolerance, which is 0.2 % per option and 0.5 % for all together. In addition, an effect fixed in advance must occur in a measurement not carried out by the author.

The tolerance is tight. With run noise of about 0.36 percentage points a neutral candidate would lie above it in about 29 % of runs. The tempo proof of this path uses a fresh file copy per engine start; for this 2 model families calculated an error rate of 0.25 to 1.35 % with 256 positions times 4 waves. That is a model calculation based on earlier measurements, not a measurement at the oracle.

What else the switch contained

How the switch ran

Epoch switches fall under the standing order described in the post on epoch 12. The package was built on 31 October; before the threshold was set it passed 134 tests, and 91 of 91 deliberately inserted faults were detected. It was checked by a model family independent of the author and by another model from the author's family. A further family was not available; the gap is recorded in the files.

Timeline from 19:10 to 21:30 UTC on 31 October 2026 with 2 rows of bars and 20 events. The oracle accepted no new tests from 19:13 to 19:33 and from 19:37 to 21:24. 3 windows were open: 19:27 to 19:33, 19:39 to 20:09 and 21:09 to 21:24. The 4 irreversible steps lie between 19:58 and 20:03.
Course of the switch to epoch 13 (from a measurement)

In total the oracle accepted no new tests for 2 hours, 7 minutes and 9 seconds. No running oracle test was aborted; the oracle was empty before the first closure. The 3 windows were open for 51 minutes and 54 seconds together. At the switch to epoch 12 it was 31 minutes and 13 seconds.

Status in the register

The export of 1 November 2026 holds 231 entries. T-0231, the first test of the epoch, was a gain candidate; it was rejected. In the export no entry is classified as tempo or play setting.

What this post does not say

It reports no measurement on the new paths. The tempo values come from preparatory measurements with placebos and copies, not from tests at the oracle. The probabilities are model calculations. That the paths exist does not mean that changes through them lead to more playing strength.

How this was checked