← All runs · issue #93 · stability re-scoring

Twelve arms, re-scored on how steadily they train

re-scoring 2026-07-28 winner: PRF exact-k, the incumbent FRLR rejected at horizon: crossover at step 424 none of the twelve beat the incumbent one WandB snapshot, 14 runs, matched windows only
Outcome, 2026-07-29. PRF exact-k is now the default activation codec in all four sources of truth (CLAUDE.md, research/.claude/project.yaml, COMM_EFF_CONFIG.md, and the method launcher), replacing PowerSGD rank 77. Shipped as verl PR #33, merged 2026-07-29 into autonomous-harness-v1 as 3261840e. Both the method launcher and COMM_EFF_CONFIG.md now carry the arm-by-arm reasoning for why every alternative codec was rejected. A thirteenth arm was then run to test whether a periodic uncompressed step could drag the gap creep back: it is a NULL on its registered test and its mechanism is refuted, but it produced the highest held-out accuracy in the programme. See section 12.

0. The reframe, and what it changes

This program was scored, cell by cell, against a bar that leads with capability. That was the wrong bar. The objective is the most stable training under internet-grade activation compression, not the best reward, and once the runs are lined up it is obvious why the old bar could not decide anything: capability is a tie.

0.6713a7 terminal val
0.6713a9 terminal val, identical to the digit (335/499)
0.6613incumbent at 600
0.6633FRLR at 600
0.6774dense control at 600

Every arm that did not collapse lands between 0.6573 and 0.6713. Training reward is tighter still: at step 600 the dense control, the incumbent and the FRLR arm sit at 0.7437, 0.7406 and 0.7380, a spread of 0.006. A metric that cannot separate the arms cannot carry the conclusion. So the ranking below is built on three things that do separate them: whether the train-inference gap stays put, whether the optimizer stays in a steady state, and whether anything broke.

The headline. Twelve arms were run to beat the incumbent PRF exact-k codec on stability. None of them did. The only one of the twelve ever tested at 600 steps failed decisively, and it failed while its accuracy looked fine.

1. Two metrics that are not allowed to rank anything

Both were used earlier in this program and both are disqualified.

metricwhy it cannot rank arms
actor/kl_lossIt is real drift multiplied by a codec-view inflation factor, and the factor itself moves by 50x between arms and across a run. a7, a8 and a9 differ only in how the basis Q is governed; their codec-free probe/kl_dense is identical to within 4 percent at matched step 120 (0.005095 / 0.005329 / 0.005265) while actor/kl_loss spans 55x. The instrument is louder than the signal.
actor/entropyThe dense control sharpens the same way, so entropy decline is ordinary GRPO on maths, not compression damage. It is also codec-view: the FRLR run reads 6.14 down to 0.053 while the incumbent reads a flat 7.81 to 7.85, and sampler-side rollout_log_ppl is near-identical across FRLR, the incumbent and dense at step 599 (0.091 / 0.093 / 0.108).

Both remain useful as diagnostics. Neither appears anywhere in the ranking below.

2. The FRLR advantage is real, and then it inverts

FRLR (48 low-rank projections plus 28 pseudo-random residual channels plus one norm scalar, 77 numbers per token) starts 2.55x better than PRF exact-k on the train-inference gap. That advantage was the entire case for the family. Run it far enough and it reverses.

The FRLR advantage is real, and then it inverts: train-inference gap over 600 steps 0 5 10 15 20 25 30 0 100 200 300 400 500 600 global step nats crossover, step 424 FRLR is worse from here to the end FRLR (c600) 31.10 PRF exact-k 14.66 step 100: FRLR 5.58, PRF 14.24 (2.55x better) OLS slope 100-599: PRF +0.000848, FRLR +0.045972 nats/step, 54.2x steeper

Gap is rollout_corr/kl, the KL between the trainer's view of the policy and the vLLM sampler's. First step at which FRLR exceeds the incumbent: 417. First step after which it stays above for the rest of the run: 424. At step 599 it is 31.10 against 14.66, 2.12x worse. An earlier draft of this analysis put the crossing at 413; that was wrong and is corrected here.

This was predicted in advance, in section 20 of the program report, before the 600-step run existed. PRF's error is rotation-invariant, so its gap does not care where the activations point and stays stationary. FRLR's error is alignment-dependent: it tracks a subspace that the policy keeps moving, so it is excellent while the basis is fresh and degrades as the policy walks away from it. The theory called the shape; the run supplied the crossing point.

3. The clearest stability figure in the program

The gap is a measurement of mismatch. The gradient norm is a measurement of the optimizer itself, and it is the one that settles the question.

The optimizer walks away: gradient norm per 50-step block (log scale) 1 2 5 10 20 50 100 200 0 100 200 300 400 500 600 global step grad norm FRLR (c600) median 35.5 block max 176.4 PRF exact-k median 1.53 block max never above 4.65 Solid line: block median. Open circle: block maximum. PRF median 1.82 to 1.53 over twelve blocks; FRLR 4.97 to 35.5, a 9.25x drift.

Fifty-step blocks. The incumbent's median is flat or gently declining across all twelve blocks, 1.815 down to 1.534, and its block maximum never exceeds 4.645 in 600 steps. The FRLR arm's median climbs monotonically from 4.970 to 35.534, a drift of 9.25x, with a block maximum of 176.367.

Absolute gradient level is not comparable across codecs, which put the optimizer at genuinely different scales. The shape is comparable, which is why the ranking uses the drift ratio: the median of the last fifth of a run divided by the median of the first fifth. A stationary optimizer sits at or below 1.0. The incumbent is at 0.85x. The FRLR horizon run is at 9.25x.

And its accuracy was fine. That FRLR run validated at 0.6633 at step 600 against the incumbent's 0.6613, and its training reward was within 0.006 of both the incumbent and the dense control. A run can hold its score while its optimizer diverges. That is the single strongest argument for scoring stability directly instead of inferring it from reward.

4. The stability map

Two dimensionless axes, both of which read 1.0 for a perfectly steady run: how far the mismatch moved from its step-100 level, and how spiky the gradient was relative to its own median.

Every arm on two drift ratios. 1.0 is a perfectly steady run, and further right is worse. Filled marker: gap drift, the mismatch level at the end over its level at step 100. Open marker: gradient spikiness, run maximum over median. 1x 2 5 10 20 50 100 300 steady ref PRF exact-k 1.029 2.9x 600 steps, the bar 1 a3 sr_quant 2-bit 1.001 2.5x 120 steps 2 a4 PRF + CVC 1.002 2x 120 steps 3 a1 sr_quant 1-bit SR 1.003 1.3x 120 steps, 1.87x over wire parity 4 a8 FRLR cad 20 0.986 18.6x 200 steps 5 a9 FRLR anchor-Q 1.192 6.2x 199 steps 6 a7 FRLR cad 1 1.551 30.1x 200 steps 7 a5b FRLR + IS + bn 1.150 284.4x 200 steps, not learning 8 a5 FRLR + IS 1.016 20.9x 120 steps, not learning 9 a10 FRLR unbiased 1.018 1.9x 61 steps, killed, futility 10 c600 FRLR at 600 5.122 12.1x 600 steps, horizon test FAILS 11 a2 sr_quant biased 1.033 6.8x 62 steps, killed 12 a6 PRF + IS + bn 1.002 18.3x 200 steps, COLLAPSED, val 0.5391 PRF exact-k FRLR sr_quant a6 is the flattest gap of any 200-step arm and a collapsed model: flat gap alone is not stability.

Arms marked with a cross were killed or collapsed. The incumbent is the large filled circle. Position on this map is not the whole ranking, because it says nothing about how long an arm ran: a3, a4 and a1 sit in the good corner on 120 steps of evidence, while the incumbent sits there on 600.

5. The ranking

Twelve program arms, ordered on combined gap stationarity, gradient behaviour and non-collapse. The incumbent and the dense control are references, not entrants, and are shown for scale.

#armcodecgap slope (window)gap drift grad driftgrad maxstepsoutcome
refincumbentPRF exact-k +0.000848 (100-599)1.0290.85x4.65600 the bar: stationary on every axis
refdensenone0 (no codec)n/a 0.76x0.11600uncompressed control, val 0.6774
1a3sr_quant 2-bit k493 +0.000101 (100-120)1.0010.71x7.28 120flattest gap in the program, no horizon evidence
2a4PRF exact-k + CVC +0.001542 (100-120)1.0020.91x3.62120 most incumbent-like arm, the natural horizon candidate
3a1sr_quant 1-bit SR+0.002825 (100-120) 1.0030.77x0.90120 tightest gradients ever measured here, but 1.87x over wire parity
4a8FRLR, q_cadence 20+0.001485 (100-199) 0.9860.05x53.82200 best FRLR arm; only arm ending below its step-100 gap
5a9FRLR, anchor-owned Q+0.012203 (100-199) 1.1920.40x24.70199 carried the clipfrac bug; its corrected continuation is c600
6a7FRLR, fast Q cadence 1+0.028329 (100-199) 1.5511.86x68.01200 worst gap trend of any arm that finished
7a5bFRLR + token-IS + bnorm+0.006673 (100-199) 1.1500.86x204.39200 looks calm because IS suppressed the update; spike ratio 284x
8a5FRLR + token-IS-0.005037 (100-120) 1.0161.00x2.91120 most stationary numbers in the program, on a run that barely learned
9a10FRLR, unbiased+0.009809 (30-60)1.018 1.31x2.2961 killed for futility, not instability: unbiased FRLR has no advantage left
10c600FRLR, anchor-owned Q, 600 steps +0.045972 (100-599)5.1229.25x 176.37600 the horizon test, and it fails. Accuracy held at 0.6633
11a2sr_quant 1-bit RN, biased +0.014397 (30-60)1.0330.49x62.2462 killed at 60; run-minimum grad norm 6.15 exceeds a1's run-maximum 0.90
12a6PRF + token-IS + bnorm +0.000413 (100-199)1.0022.27x608.81200 flat gap, collapsed model (val 0.5391)

Gap drift is the end level divided by the level at step 100. Grad drift is the median of the last fifth over the median of the first fifth. A drift far below 1.0 (a8 at 0.05x, a9 at 0.40x, a2 at 0.49x) is a large startup transient decaying, not a calm run; read it next to the run maximum.

6. The five axes, and who actually wins each

Axis 1: gap stationarity

On the matched window every arm reached, steps 100 to 120, the incumbent is fourth, not first: a3 (+0.000101), a5b (+0.000358) and a6 (+0.000383) are all flatter than its +0.000838. Its claim rests on horizon, not on the short window: over 100 to 599 it moved 0.42 nats in 500 steps at +0.000848 per step, and it is the only compressed arm that was ever asked the question. The FRLR horizon run is 54.2x steeper.

Axis 2: gradient-norm behaviour

a1 wins outright with a spike ratio of 1.3x and a run maximum of 0.898 across 120 steps, followed by a10 (1.9x), a4 (2.0x), the dense control (2.3x), a3 (2.5x) and the incumbent (2.9x). Among the 600-step arms the incumbent wins uncontested: 2.9x against the FRLR run's 12.1x, and a maximum of 4.65 against 176.37.

Axis 3: collapse and kill events

Three arms failed. a2 was killed at step 60 on a pre-authorised trigger, and the number that matters is that its run-minimum gradient norm of 6.153 is 6.9x a1's 120-step maximum of 0.898, on the same codec with only the estimator bias differing. a6 ran to 200 and collapsed capability to 0.5391 with gradients reaching 608.81. a10 was killed at 62, but for futility rather than instability: its gradients were unremarkable at a maximum of 2.285, and the reason to stop was that removing FRLR's bias removed FRLR's entire gap advantage, leaving it at 14.93 against the incumbent's own 14.66.

Axis 4: codec-free drift

This axis cannot compare the two families at all. The incumbent and the dense control carry no probe/kl_dense, so there is no PRF-versus-FRLR comparison to make on real drift at any step. Saying otherwise would be inventing evidence.

Within the arms that do carry the probe, at matched step 200 the corrected FRLR run and a7 are identical to 0.2 percent (0.008186 against 0.008201), which re-confirms with clean post-fix data that Q governance does not touch physical drift at all. a8 is 33 percent higher at 0.010872, a5b is 0.016754 and a6 is 0.026793. The FRLR horizon run continues alone and keeps accelerating: 0.011176 at step 300, 0.016189 at 450, 0.027622 at 600.

Axis 5: capability

Reported for completeness and it decides nothing. Held-out validation: dense 0.6774 at 600; incumbent 0.6613 / 0.6633 / 0.6733 / 0.6613 at 150 / 300 / 450 / 600; FRLR at horizon 0.6573 at 300 and 0.6633 at 600; a7 and a9 both 0.6713426853707415 at 200; a8 0.6613; a5b 0.6593; a6 0.5391, the only collapse. One honest observation does fall out of it: compression costs about 1.4 to 1.6 points against dense at 600 steps, and both codec families pay it equally.

7. The two counterexamples that discipline the whole reading

a6: the flattest gap of any 200-step arm, and a collapsed model. Slope +0.000413 over 100 to 199, drift ratio 1.002, and validation at 0.5391 against a step-200 field of 0.6593 to 0.6713, with gradients at a median of 40.2 in its final fifth and a maximum of 608.81. Gap stationarity alone is not stability. The bar has to be a flat gap and a stationary optimizer and no collapse.
a5 and a5b: the calmest-looking runs in the program, and they were not calm, they were idle. a5's gradient drift ratio is exactly 1.00x on a median of 0.1457, the most stationary number in the entire table. It got there because token-level importance sampling suppressed the update: a5's training reward over steps 101 to 200 is 0.5895, second-worst in the field, and a5b's is 0.6606 against the incumbent's 0.6726. A flat metric on a run that is not learning is worthless. Axis 2 must always be read next to reward.

8. What is not established

9. What we would actually ship

PRF exact-k. 77 of 1536 coordinates, constant 1/(1-p) rescale, mask a pseudo-random function of seed, step and layer. It is unbiased. There is no side channel, because the mask is derived rather than transmitted. There is no basis to broadcast and no anchor coupling to get wrong. And it is the only configuration in this program with 600 steps of evidence that the optimizer stays in a steady state.

Two upgrades are worth a horizon run, in this order:

  1. a4, PRF exact-k plus CVC cross-entropy. Same family as the shipped codec, gap drift 1.002, gradient spike ratio 2.0x, maximum 3.62 over 120 steps. The lowest-risk way to try to beat the incumbent.
  2. a3, sr_quant 2-bit byte-parity subset. The flattest gap measured anywhere in the program at +0.000101, gradient spike ratio 2.5x. A different family, so a genuinely independent shot.

FRLR is out for long-horizon work, in every governance variant tested: fast cadence 1 (a7), slow cadence 20 (a8), anchor-owned (a9), and unbiased (a10). Its advantage is transient, it inverts at step 424, and it requires a biased estimator to exist in the first place.

10. Corrections ledger

Every correction this program has had to make to its own published claims, kept in one place. Six were already recorded; three are new to this re-scoring.

#the claim that was wrongthe correction
1pg_clipfrac is 0 by construction False for anchor-owned Q. The operator spotted spikes of 0.19 to 0.37 at every anchor fire. The basis was published immediately while the anchor fires after old_log_probs were recomputed, so the two forwards of one step used different bases and the PPO ratio moved for a measurement reason. Fixed by staging the basis (commit f2ac3c64). Verified in this snapshot: a9 has 9 nonzero steps at a maximum of 0.352534, a10 has 3 at 0.374120, and every other run including the 600-step FRLR run is exactly 0 at every step.
2a8 is the best cell in the program Its terminal validation of 0.6613 is below a7's and a9's 0.6713. A window score does not predict held-out validation.
3The anchor-Q constraint costs 7.3x Measured at a8's U-curve turning point. The cost is not established and may be zero.
4a9 has the lowest codec-free drift in the program An artifact of comparing a9 at step 120 against a8 at 150 and a7 at 200. Matched steps only.
5Bias is not the driver, so the unbiased test is pointless This confused "sufficient" with "exclusive". The operator overruled it and the test produced the finding that FRLR's advantage is bias-dependent.
6The R2 back-fill will not finish Projected from a 4-minute sample at 2.2 MB/s. The real rate was 5.8 to 12.8 MB/s.
7The incumbent's gradient norm is 1.4 to 2.1 throughout New. Too tight. Correct: minimum 1.181, median 1.594, maximum 4.645, last 1.337. The median band is 1.50 to 1.82; the maximum is 4.645.
8The FRLR horizon run's gradient norm goes 3.1 to 68 to 38 New. Too kind. Correct: minimum 1.531, median 14.551, maximum 176.367, last 35.534, and its last-50-step maximum alone is 131.317.
9FRLR crossed the incumbent at step 413 New. Correct: 417 first, 424 permanently.

11. Provenance

Every number on this page comes from a single WandB snapshot pulled 2026-07-28 from entity shamanework-pl, across projects 93-long-horizon-stability, 90-prf-exactk-600 and 90-dense-600. The step axis is training/global_step; the bare global_step silently returns zero rows. Each metric was pulled in its own scan_history call, because a multi-key call returns only rows where every key is present. Slopes are ordinary least squares over the named window and no slope is quoted for a window an arm did not reach.

Run ids: incumbent woqs8zra, dense a134dxxx, a1 h0n67q3a, a2 3muohefm, a3 k8dvru5l, a4 8rux5ea6, a5 kfrkehju, a5b i54ol342, a6 5exrewe2, a7 r7go40tb, a8 4zxthzif, a9 x6miw0zd, a10 5qu3lkt8, c600 5v3hrpef. Two validation figures (a9's and a7's terminal value, and the FRLR horizon run's) are read from the on-box train.log, because WandB drops the final step on a teardown race.

12. Postscript: a13th arm, a periodic uncompressed step, and why it did not work

The operator asked whether injecting one fully uncompressed step every 50 could drag back the monotonic creep. a11-prf-exactk-dense50-1000 is the incumbent config with exactly one thing changed, so the incumbent's own steps 1-600 are the matched control. Thresholds were registered at step 5.

checkmeasuredregistered barcall
mechanism: gap on a bypassed step0.000316 / 0.000213 / 0.000214 < 0.01PASS, lands on the dense control's own 0.000279
primary: gap slope 100-599+0.000725 ± 0.000006 success ≤ +0.000424NULL (band +0.000636 to +0.001060)
compound or decay0.72x over 100-300, 0.96x over 300-599 should hold or growDECAYS
per-injection delta-0.0024 nats over 11 injections consistently negativeno effect
grad_norm max4.788, median 1.466fail if > 9.29 PASS, tighter median than the control's 1.594
matched val (veto only)0.6493 / 0.6794 / 0.6733 / 0.6914 fail if > 0.03 belowbest in the programme

The creep is 14 percent slower and the difference is 14.9 sigma. It is still inside the pre-registered null band, so the call is NULL. Significance is not effect size.

The mechanism is refuted, not merely unsupported. There is no pull-back at the injections: the per-injection change, with the control's own change over the identical window subtracted, averages -0.0024 nats across eleven events. The level snaps straight back, because the gap is dominated by a static codec artifact present at step 1, before any training, that no optimizer lever can touch.

Why the lever is weak, which the run answered by accident

On a bypassed step the gradient norm reads 0.037 to 0.057 while the compressed steps either side read 1.4 to 2.1. The clean gradient is 30 to 35x smaller than the compressed gradients it is meant to correct, the same ratio seen between the dense control's median 0.046 and the incumbent's 1.594: the codec inflates gradient magnitude about 35x. A 14 percent effect from a lever at one thirty-fifth the magnitude and one fiftieth the frequency is closer to the expected size than to a disappointment, and it says the way to test the idea properly is a comparably sized clean gradient rather than a rerun.

The unexpected result

Validation 0.6914 at step 600 is the highest held-out accuracy anywhere in issue #93, above the dense control's 0.6774 at 600 and its 0.6874 at 450, and reached on lower training reward (0.7241 against 0.7375 over 401-600), which reads as less overfitting rather than more learning. It does not promote the arm: capability is a veto-only axis, +0.03 is about 15 problems on 499, and it is one seed. It is recorded as the one lead worth replicating.

Two corrections

At step 204 this analysis reported the creep as 0.69x, "31 percent flatter". The full-window answer is 0.86x, 14 percent. The early window flattered the arm and the flattering number was reported first. That is the third time an early window has misled this programme, after a8's U-curve and c600's crossover at step 424, so the short-window rule now applies to ratios against a control and not only to raw slopes.

The run crashed at step 905 of 1000 and the box ceased to exist; it was not torn down deliberately and the cause is recorded as unresolved. The registered scoring window 100-599 was already complete, so nothing in the table above is affected, but every a11 checkpoint was lost because durability had been deferred to the end of a thirty-hour run on a machine we do not control.