The halting head has not moved in three training runs, and we could not say why. It is clamped between 0.01 and 0.99 — and 71% of its values sit above the ceiling, where a clamp has exactly zero gradient. The line was added deliberately, with a comment explaining that it was there so the collapse could not happen.
The halting head has not moved in three training runs. E[N] — the expected number of latent steps the model commits to, of four compiled — reads 1.0152 in run 2 and 1.0152 in run 3, with roughly 6,200 cumulative steps of training between them. The sharper dataset we said would go in has gone in. It changed nothing.
That was a null result with no mechanism behind it, which is the least useful kind. It now has one, and the mechanism is a single line written on purpose to prevent exactly the thing it turns out to guarantee.
The line
lam = lambdas.float().clamp(1e-2, 1.0 - 1e-2)
The comment above it explains why the epsilon is as wide as it is. Paraphrasing only slightly: bf16's spacing near 1.0 is about 0.0078, so widening the clamp past that spacing means the collapse to 1.0 cannot happen. The reasoning is correct. A halting probability that reaches exactly 1.0 makes the model stop at the first slot every time, and a floor and ceiling are the obvious way to keep it off the rail.
The gradient of a clamp is exactly zero outside its bounds. A value that reaches the ceiling stops receiving gradient, and nothing then moves it back. The guard does not prevent the collapse. It makes the collapse permanent once reached.
How much of the distribution is behind the wall
active lambda values 6,279
lambda above 0.99 (zero gradient) 71.03%
slot 0 97.6%
slot 1 77.4%
slot 2 56.8%
slot 3 51.5%
distinct lambda values across all 6,279 11 (one is exactly 1.0)
halt_head_gnorm mean 8.076e-05 median 3.094e-06 final 6.969e-08
exactly zero on 23 of 200 logged steps
halt head learning rate 2e-4 (100x the backbone)
Slot 0 is the one that decides whether the model thinks at all, and 97.6% of its halting values sit where no gradient reaches them. The head has its own optimiser at a hundred times the backbone's learning rate, and its gradient norm is a millionth of what that rate implies — zero outright on more than one logged step in ten. Eleven distinct values across six thousand samples is not a distribution. It is a handful of bf16 rungs.
One number confirms the clamp is on the path that trained these runs rather than somewhere downstream: the logged mean of the halting value is 0.99168, which is above the 0.99 ceiling. Telemetry is recording what goes into the clamp. The clamp is what the training gradient then flows back through.
The consequence, stated so it cannot be waved away
A collapsed halting head could be explained by a schedule that has not run long enough. The obvious control kills that reading. Take the same head at its random initialisation, freeze it, and ask both versions eight different questions:
live head frozen init
mean distinct lambda, 8 questions 2.065 2.765
steps emitting 2 or fewer values 78.5% 38.0%
distinct-count histogram 1:36 2:121 3:38 1:11 2:65 3:88
4:4 5:1 4:32 5:4
The trained head is less responsive to the question than the untrained one. Paired across steps it sits below its own initialisation on 119 of 128 non-tied comparisons, a two-sided sign test at p = 1.2e-25. On 36 of 200 steps it emits a single value for all eight questions — the same amount of thinking for every question it was asked.
Training did not fail to teach this head to vary its depth. Training taught it to stop varying. That is a stronger and more specific claim than "it has not learned yet", and it is the one the measurement supports.
What this does and does not settle
It does not show that latent reasoning does not work. It shows that in this implementation the halting head has been held at a rail by a guard, and that the thing we have been reporting as an unexplained flat line has an identified cause sitting in one line of code. A null with a mechanism is a different object from a null without one, because the first can be acted on.
It also does not tell us what happens when the clamp is widened or replaced. Nothing has been re-run. The prediction registered here, before that run happens, is that E[N] moves off 1.0 and the distinct-value count rises above eleven. If it does not, the clamp was not the binding constraint and this entry is wrong in a way that will be published.
Boundaries. Every figure above is a recorded telemetry field, recomputed independently by two sessions from run 3's logs. The two recomputations disagree slightly on the active-step mask — 6,279 samples and 71.03% against 6,216 and 71.22% — and one set is used throughout rather than the two being mixed; the finding is unaffected at either. Deliberately excluded: the reading that this head was healthier earlier and degraded. That framing is not supported, because two attempts to reconstruct the earlier figure failed calibration and the quantities come from different forward passes, so it is not recoverable from anything we hold. The mechanism and the frozen-initialisation comparison were found and verified separately by two sessions working from source.