Checked your arithmetic first, then the premise under it. The arithmetic holds. The premise doesn't, and the reason is a bug in my tour-54 script. Then I ran the event-aligned test you asked for, and it answers your question with a measurement instead of a bound. A second pass before sending found that I had measured only half of the unstable mode. The other half reverses a claim I was about to make.
Your arithmetic holds; the second row of your table is a different quantity
0.998963 x 0.001037 = 1.0359e-3 your 1.04e-3 ok
1.847767e-5 / 1.0359e-3 = 1.784e-2 your 1.78e-2 ok
-9.33e-3 - 8.30e-3 = -1.763e-2 your -1.76e-2 ok
1.426e-10 / 1.0e-7 = 1.43e-3 your ~1.4e-3 ok
But 0.998963 and 0.99999990 aren't the same variable. The first is e.loi()[3,10], the softmax over 27 messages, the real s3. The second comes from verifier_precommis_dipankar_delta0_controle.py, which computes s3 = torch.sigmoid(p_e[3, 10]), the sigmoid of the raw logit. In a softmax parametrization that quantity means nothing: it isn't invariant to shifting the row. Same bug on R4 = sigmoid(p_e[4,10]) * sigmoid(p_r[10,4]). Reproduced both tour-54 numbers bit for bit from a fresh trace (1.426e-10, R4 = 0.99856537), so there's no doubt about where they came from.
What delta=0 actually looks like, never measured before today:
true s3 1-s3 s3(1-s3) r[10,3] r[10,4] true R4 d3-dbar (X)
delta=0 0.9999999996 3.500e-10 3.50e-10 0.5000 0.5000 0.5000 25.0546
delta real 0.9989630570 1.037e-3 1.036e-3 0.2052 0.7948 0.7948 10.1285
So your saturation point is stronger than you stated. s3(1-s3) is 3.5e-10 at delta=0, not 1e-7, which is ~3,000,000x smaller than at real delta, not 10,000x. And the receiver at delta=0 sits at an exact 50/50 tie. True R4 is 0.5. The 0.9986 I reported in tour 54 was the same sigmoid bug.
Your conversion of 1.426e-10 is still a valid bound on something: the quantity measured has derivative 1e-7, so it bounds the raw-logit move d3 to ~1.4e-3. But that's d3 alone, not d3 - dbar, and it's measured against the mean of the window's first 100 steps, not a local baseline.
Why the two X values differ, since this sets everything below: both are the entropy-regularized equilibrium of row 3, X* = (1-delta) r[10,3] / beta. At real delta, 0.98697 x 0.20524 / 0.02 = 10.12832 against 10.12854 measured. At delta=0, 0.5 / 0.02 = 25.0 against 25.0546, still relaxing (linear drift -7.8e-7/step). The receiver closes the loop: log(r4/r3) = ((1+delta)s4 - (1-delta)s3)/beta = 1.354, so r4 = 0.7948. Iterating those two closed forms reproduces the real-delta state to every printed digit (1-s3 = 1.0369e-3, r3 = 0.20524, X = 10.12854). The 50/50 receiver tie at delta=0 pins X* = 25 and parks s3 at 1 - 3.5e-10. That's not a trajectory accident.
The event-aligned test: yes, it moves with every kick, 19,700x weaker
Ran it the way you set it up. Full step-by-step trace of rows 3/4 (emitter) and 10 (receiver), logits plus gradients plus Adam state, over [54000, 62000) at both deltas. Same event detection as tour 57, which reproduces the 16 and 15 events step for step and sign for sign. At each event, took the residual of X = d3 - dbar from a linear fit over quiet windows before and after ([p-240, p-60] and [p+150, p+240], which removes the slow drift). Then regressed that residual on the gap residual across the burst. 15 usable events per delta: the 16th at delta=0 (61978) runs off the end of the trace.
delta real delta=0
|X| at peak (median) 2.37e-2 9.1e-7
slope X/gap across the burst 0.937 [0.9347, 0.9396] 4.75e-5 [4.35e-5, 4.79e-5]
|d_logit_r4| at peak (median) 1.136e-2 1.148e-2
|d true R4| at peak (median) 3.71e-3 5.74e-3
d3 - dbar moves with the kicks at delta=0: in phase, at every one of the 15 events. 14 of the 15 slopes fall within 1% of the median. The outlier (4.35e-5) is the weak edge detection at 55,002, where the gap only reaches 1.95e-3. It's a bound and not a zero, as you said. But it's ~19,700x weaker, not 12x. Same numbers with the exact gap G = logit_10 - logsumexp(others) instead of d3 - dbar, which matters because at delta=0 the 26 other messages aren't uniform (CV 2.4e-2 against 4e-11 at real delta). Slope 4.76e-5 there.
So tour 54's "the co-timing does not survive" was wrong as stated. It survives at 5e-5 relative amplitude. What was flat was a readout that couldn't have shown it.
Your 7.35x: worse than a bad sample point
The kick is the same size at both deltas. d_logit_r4 at the peak is 1.148e-2 vs 1.136e-2, a 1.01 ratio. You were right that the 7.35x came from sampling at 59,989. But it isn't a small kick read between big ones. There's no signal at 59,989 at all. The +1.504e-3 comes entirely from the interpolation's right endpoint: 61,000 sits 25 steps after the delta=0 burst at 60,975, where the r4 logit is still displaced by -3.0411e-3. Carried to 59,989 by the linear interpolation, that's 989/2000 x 3.0411e-3 = 1.5038e-3, against 1.5041e-3 published. Retracted. The true R4 kick is actually 1.55x larger at delta=0 (r3 r4 = 0.25 vs 0.163, a 1.53 ratio). That fits "optimizer-intrinsic" as you said.
What the kick is: Adam's edge of stability
The kick is a period-2 oscillation: the gap changes sign on every step, grows to ~4.4e-2 per step, and dies out in ~10 steps. Cohen et al. 2022 (arXiv:2207.14484, checked at the source): "For Adam with step size Ξ· and Ξ²β = 0.9, this stability threshold is 38/Ξ·", on the top eigenvalue of the preconditioned Hessian P^-1 H, P = diag(sqrt(v) + eps). The linearized Adam recursion for one mode, with S = lr lambda / (sqrt(v) + eps):
mu^2 + ((1 - b1) S - (1 + b1)) mu + b1 = 0
mu = -1 at S = 2(1+b1)/(1-b1) = 38; below S = 37.974 the roots are complex with |mu| = sqrt(b1) exactly
S_gap is the preconditioned Rayleigh quotient along the gap direction. lambda_max is from eigh of the full 1458x1458 matrix lr P^-1/2 H P^-1/2:
delta=0 step 58680 (after a burst) S_gap 32.4 sqrt(v r10[4]) 5.71e-7
step 59000 S_gap 37.3 dgap ~1e-9
step ~59040 S_gap crosses 38
step 59123 (peak) dgap 4.3e-2, sqrt(v) back up to 5.0e-7, then 5.4e-7
step 59127 S_gap 34.4, burst over
delta real step 59480 S_gap 36.7052 lambda_max 38.4605 eigenvector 95.15% gap + 4.85% row 3
step 59520 S_gap 37.4483 lambda_max 39.2368
Between bursts, the v-floor decay pushes the preconditioned sharpness up. Past 38 the period-2 mode grows, and the oscillation refills v and shuts itself off. That's Cohen et al.'s self-stabilization, in bursts rather than continuous. At delta=0 the unstable mode is 100.0% on the gap. At real delta it's a coupled mode, gap plus emitter row 3, and the gap alone never gets there first: at its rate of rise it would reach 38 around 59549, after the peak at 59540. The coupled mode is already at 38.46 by 59480. (A power iteration I ran first missed this. Warm-started, it got stuck on a cluster of row-5 modes near 38, and logged 37.99 at 59480 where the exact value is 38.46.)
Two halves of one mode
The coupling has an eigenvector half and an eigenvalue half. I first measured only the eigenvector, which is the slope. They come out differently, and your saturation factor plays a different role in each.
Eigenvector (the slope). At real delta, sqrt(v) on e3[10] is 1.9e-8, 190x above eps. Adam's step lr m / sqrt(v) is scale-invariant, so the s3(1-s3) riding on row 3's gradient cancels between m and sqrt(v). Row 3 takes the receiver's normalized step (m/sqrt(v): 0.42 vs 0.43). At delta=0, sqrt(v) is 9e-15, 11,000x below eps. The step becomes lr m / eps, linear in the gradient, and the saturation passes straight through. With u = sqrt(v) on e3[10], and each of the 26 other messages taking -1/26 of the gradient:
slope = 1/2 [ u/(u+eps) + (u/26)/(u/26+eps) ]
delta real (u = 1.88e-8): 0.937 measured 0.937
delta=0 (u = 9.2e-15): 4.78e-5 measured 4.75e-5
That also accounts for last round's unexplained dbar/d3 = 0.89. Predicted 0.8784/0.9947 = 0.883, measured 0.8848 over 15 bursts. Causal test, predictions pushed before reading (commit d54c143): Adam's eps changed on emitter row 3 only, as an exact per-row correction after opt.step():
delta=0 eps_row3 1e-10 1e-11 1e-12 1e-13 1e-14 0
predicted 4.8e-5 4.8e-4 4.7e-3 4.4e-2 0.26 O(1)
measured 4.78e-5 4.78e-4 4.75e-3 4.48e-2 0.265 0.68
delta real eps_row3 1e-10 1e-9 1e-8 1e-7 1e-6 1e-5
predicted 0.937 0.685 0.360 0.083 9.6e-3 9.8e-4
measured 0.938 0.677 0.349 0.0785 8.96e-3 9.11e-4
Five decades, both directions. With eps removed on row 3 at delta=0, the slope goes from 4.8e-5 to 0.68 while s3 stays at 1 - 3.6e-10. But u in that formula is a proxy. Below the floor the law has no u in it:
slope_i = +/- G poids_i s_i(1-s_i) r3 r4, G = 1.4652e7 (pinned on row 3 at delta=0)
row 4 at delta=0: predicted -5.92e-7, measured -5.53e-7 (14 of 15 events negative)
the u-formula gives +7.3e-5: v on e4[10] is background relaxation, not burst
sweep delta=0.002/0.004: measured/predicted 1.008 / 0.999 (the u-formula: 1.036 / 1.025)
The ratio of two sub-floor rows at the same eps is eps-free. Row 4 over row 3 is β0.0116 measured, against s4(1-s4)/s3(1-s3) = 0.0125.
Eigenvalue (the timing). The coupled mode sits above the gap mode by
Delta S = slope * S_gap * kappa, kappa = H(e3[10], r10[4]) / H(r10[4], r10[4]) = (1-delta) s3(1-s3) / beta
r3 r4 cancels, because H(r4,r4) = (beta/N) r3 r4 at the receiver's equilibrium (1.20829e-4 exact). At 59480 that gives 1.7581 against 1.7553 exact. At 59520 it gives 1.7937 against 1.7885. kappa = 0.051119. In the eigenvalue, the saturation is linear and eps plays no part. So my sentence "without eps, Adam would erase s3(1-s3) entirely" is true of the eigenvector only. And since S_gap rises at d ln S/dt = (1-beta2)/2 (the v-floor decay), row 3 brings the crossing forward by Delta t = 2 slope kappa / (1-beta2) = 96 steps. Tested by scaling row 3's Adam step by k from 59600:
next burst peak shift
real delta k=1 (base) 59989
k=0 (row 3 frozen) 60095 +106
k=2 59878 -111
delta=0 k=0, k=2 59579 0
receiver beta2 = 0.998 from 59600 base 59802, frozen 59861 +59 (predicted 47.9; at 0.999: +106 vs 95.8)
At real delta, row 3 advances the receiver's burst by about a quarter of the cycle. Without it the burst comes ~100 steps later. Halving the v-decay time halves the delay, roughly: 106 goes to 59, not to 48. What's left over is additive, about 10.5 steps at both beta2. That fits row 3 also seeding the mode (a fixed number of growth steps saved), but it's a reading from two points. It bears on something I left unexplained last round, that the real-delta cycle runs shorter than the delta=0 one. The row-3 channel exists only at real delta, and with row 3 frozen the real-delta period stretches (518, 497, 481 against 445; that run wasn't mine). Whether it also explains the contraction of intervals within the window, I haven't checked.
My ablation log had the timing all along. Burst onsets ran 59981 β 60079 as eps3 went up, a 98-step shift, while the amplitude moved β7%/+8%. I read the amplitude, which is the one observable self-stabilization pins. I'd written "the coupling runs both ways, weakly". That's wrong: the amplitude feedback is weak, and the timing feedback is 24% of the cycle.
So on your saturation argument: it's right about what attenuates. In the eigenvector it acts through Adam's eps floor, not the readout. In the eigenvalue it acts directly and linearly.
What this does to the tour-54 claim
You said the sign does no work. It doesn't. Neither does the thing I credited in its place. Tour 54 said the reward asymmetry was the "transmission channel" that turns the receiver's move into a differential push on s3. That can't be the mechanism: dJ/ds[3,m] = poids[3] r[m,3] + (entropy), and poids[4] never appears. I ran a fixed-state weight swap to "test" it and got 1.0000000000. That's an identity of J. It couldn't have failed, so it isn't evidence, and I've withdrawn it as such. delta acts only through the state. It sets r[10,3], hence row 3's saturation X* = (1-delta) r[10,3]/beta, hence both halves of the mode.
How far: where the coupling switches on
The equilibrium closed form plus the scaling of u put the slope transition near delta 0.009. Predictions were pushed before the runs (commit 74b43cc). 12β13 bursts per delta:
delta slope predicted measured final X / closed-form X*
0.002 6.6e-4 6.17e-4 22.46331 / 22.4633
0.004 7.5e-3 7.05e-3 19.98532 / 19.9853
0.006 6.8e-2 6.47e-2 17.61055 / 17.6106
0.008 0.31 0.301 15.37439 / 15.3744
0.010 0.59 0.586 13.29145 / 13.2915
0.012 0.85 0.850 11.29519 / 11.2952
The equilibrium holds to 5 digits at every delta. The 2β4% residual I had open here was in u, not the mechanism (see the sub-floor law above). The timing channel switches on later than the slope, since it follows s3(1-s3) itself, which grows 7.4x from 0.010 to 0.012. The rerun that located it (delays of about 0 at 0.010, +28 at 0.012, +106 at real delta) wasn't done with my own code, so read those as indicative.
Something the same instrument turned up: the "extra walls" aren't walls
Between bursts, the modes sitting near S = 38 are emitter row 5. That's referent 5, the "total non-convergence, H β ln 27" row I reported two rounds ago as a possible high-dimensional saddle. Its most trivial reading turned out to be right. No message decodes to referent 5 (max_m r[m,5] = 6.3e-11, raw reward 8.6e-12). Its emitter row optimizes entropy only, so uniform is the optimum of that row. It isn't the optimum of the code, though. Moving referent 5 onto message 19 (a synonym of 8) and relaxing gains Delta J = 1/N - (beta/N)(ln 27 + ln 2) = 0.034082, predicted and measured to 6 digits. The orphan code is a strict local maximum: a trap, not a non-convergence.
What was left was the residual ln 27 - H = 8.07e-7. It's the same edge of stability, per coordinate. sqrt(v) self-stabilizes near lr h/38 - eps, with h = beta/(N K), the Hessian's eigenvalue on the zero-sum subspace. I first used the diagonal element and found the right one while chasing a residual. My eps test below, with predictions pushed before the run, separates the two out of sample: h predicts 2.47e-8, the diagonal predicts 1.63e-8, measured 2.505e-8. Since v = h^2 <(z - zbar)^2> there:
ln K - <H> = 1/2 c_K^2 (lr/38 - eps N K / beta)^2, c_27 = 1.011, c_2 = 1.08
c_K depends only on the block size. I checked it on my own pure quadratic toy (f = 1/2 h z^T (I - 11^T/K) z, exact Adam, no free parameter, 200k steps). K=2 gives z_rms/(lr/38 - eps/h) = 1.0801, K=27 gives 1.0116. The ingredient is the softmax's translation invariance, the -11^T/K term. Removed, a 27-block reportedly behaves like K=2, but I haven't rerun that ablation with my own code. My measured residuals were these constants all along: sqrt(v) measured/predicted is 1.011 on the orphan and 1.08 on the synonym pairs. It isn't "v refilled by bursts". The orphan doesn't fire in bursts at all. Its top mode stays above 38 almost all the time and is handed from one coordinate to the next.
predicted (c=1) measured
lr on row 5 x 1 / 0.5 / 0.25 <deficit> 8.61e-7 / 2.14e-7 / 5.29e-8 8.73e-7 / 2.20e-7 / 5.40e-8 (f^2 holds)
standard replay, eps=1e-8, rows 4 and 5 exactly uniform at 10k steps, edge regime from ~20k: sqrt(v) 2.639e-8 on both rows
eps on row 5 only: 3e-8 (lr h/eps = 45.7 > 38) 2.47e-8 2.505e-8
5e-8 (27.4 < 38) 0 5.9e-17 (float64 floor)
1e-7 (13.7 < 38) 0 4.6e-17
Above eps_c = lr beta / (38 N K) = 3.61e-8 the edge is unreachable and the orphan converges exactly. The synonym pairs (referents 8 and 12, two messages each, both decoding to them) follow the K=2 version: (p - 1/2)_rms = c_2 lr/76, measured 7.04e-4 and 6.94e-4. Their instantaneous |p - 1/2| swings over ten decades per cycle, so the "0.50000000024, balanced to machine precision" I reported for referent 12 was a snapshot between bursts.
One more correction, bigger than it looks. I wrote that a code with synonyms must have orphans. It must have referents with no decoded message, but those can be collisions instead, and a census over emitter rows can't see them. Seed 12345, k=3: three extra messages and three referents with nothing decoded (6, 16, 25). All three are collisions, on messages 3, 7 and 8, with the receiver at 0.500000/0.500000 and both senders at s = 1.000000. Seed 77777, k=1: one collision, message 14, referents 5/20, at 0.5/0.5. Each of those is your delta=0 mur 23, arising spontaneously. "Mur 23 is the only referential collision" holds for the 77777 k=3 code only.
What I haven't tested
The additive ~10.5-step offset in the timing shift. It shows up at both beta2 values, but I have no closed form. It's the right size for row 3 seeding the mode.
Where the timing channel settles. With row 3 frozen, the period stretches to 518, 497, 481 against 445, still relaxing after three cycles. That wasn't with my own code.
A closed form for c_K. I have the toy values and the ingredient, not the derivation.
The earlier non-monotonic beta2 result (periods 462/110/163). It may be a detector-threshold artifact: at beta2 = 0.99, the 0.0015 threshold keeps 66 of 477 pumping events. I haven't rerun it.
Your question, and one back
At the 16 delta=0 events, d3 - dbar moves with the kicks: in phase, step for step, at 4.75e-5 of the gap's move (15 usable events, 14 within 1% of that value). It isn't the level between kicks. Tour 54's "doesn't survive" is retracted. Your bound was right in kind. The measurement is 1,600x tighter than the bound. And the half that neither of us asked about, the timing, is where row 3 matters most.
delta_c = 0.013437 has been treated as a property of mur 23. The spontaneous collisions give two readings to choose between. If it belongs to the collision object (receiver at 0.5/0.5, both colliders at X* = 25), then weighting collider 14 against 6 on message 8 of seed 12345 k=3 breaks at 0.01344 Β± 1%. If it belongs to the code around it, it moves, because the 25 rows that absorbed the mass in H13 are different rows there. Which way do you expect it to fall?
Scripts: tracer_mur23_lignes3_10_complet.py (full step trace), verifier_reponse_dipankar_tour58_evenements_alignes.py (event-aligned test, reproductions of the tour-54/56 numbers), verifier_reponse_dipankar_tour58_ablation_eps_ligne3.py (row-3 eps ablation), verifier_reponse_dipankar_tour58_balayage_delta_couplage.py (delta sweep), verifier_tour58_bord_stabilite_salve.py (edge of stability), verifier_tour58_audit_valeur_propre_et_timing.py (exact eigh, k test), verifier_tour58_beta2_recepteur_timing.py (beta2 test), verifier_tour58_referent5_orphelin.py, verifier_tour58_synonymes_8_12_bord_stabilite.py, verifier_tour58_audit_agent2.py (trap, collisions, toy), sauver_checkpoints_mur23_tour58.py (checkpoints, bit-identical resume).
Notebook: section "VRAIE CRITIQUE DE DIPANKARSARKAR, 23/09/2026 (tour 58, PAS simulΓ©e)".