Is Transition Timing Controllable?
Ongoing research. This is an experimental result from active work, not a settled conclusion. The numbers are what we measured and the method is described so you can judge it, but the programme is still running and later experiments may revise what it means. More about this programme.
EXPLORATORY. Not a preregistered study. Local CPU, ~80 training runs, no GPU, no cost.
Program v2 tier 2, item D3. Decisive computation: . Output: analysis/sensitivity_probe.py. Reproduce with analysis/sensitivity_probe.jsonpython analysis/sensitivity_probe.py in about twenty-five minutes on a throttled laptop CPU.
The question, and what rides on it
This was the sole remaining gate on Bucket C, the control program: training as model-predictive control, a learned optimiser conditioned on transition metrics, transition-vector transplantation. That gate required two things:
- a usable timing signal, which F2 supplied at
+23.5steps of lead; and - a transition whose timing responds smoothly to intervention.
If a vanishingly small nudge moves the transition as much as a large one, timing is not a quantity a controller can steer, and the whole control program closes cheaply and honestly.
Method. Train a reference run. At step k, snapshot the weights, the optimizer state, and the data stream's own generator state. Replay the remainder repeatedly with the weights perturbed by epsilon along a fixed random direction, scaled relative to the weight norm. Measure how far the transition moves.
Result: the kill test fires
The confirmation pass, at single-step resolution
Three seeds, perturbed at half the reference transition step, evaluated every step:
| Perturbation (relative) | Median shift | Max | Seeds |
|---|---|---|---|
0 | 0.0 | 0.0 | 3 / 3 exact |
1e-8 | +21.0 | +22 | 3 |
1e-4 | +21.0 | +23 | 3 |
1e-1 | +24.0 | +27 | 3 |
A perturbation of one part in a hundred million delays the transition by 21 steps. A perturbation ten million times larger delays it by 24. Increasing the cause by a factor of 10^7 increases the effect by 14%.
The coarse pass over the full horizon, evaluating every five steps at three perturbation times and seven magnitudes, agrees: median absolute shift of exactly 10.0 steps at every nonzero magnitude from 1e-8 to 1e-1.
The response is not "chaotic" in the loosest sense, and that is worth being precise about
Every shift measured, at every magnitude and every seed, is positive. Perturbation does not send the transition somewhere unpredictable; it delays it, consistently.
So the response is better described as discontinuous at zero and then flat. Any nudge at all costs roughly 21 steps. Making the nudge ten million times bigger adds about three more. There is no proportional regime, no dial, and no way to make the transition arrive earlier at all.
That is precisely what makes timing uncontrollable. A controller needs a response it can modulate. This one has two settings: untouched, and about twenty-one steps late.
The determinism check earned its place immediately
The design requires that replaying from a snapshot with epsilon = 0 reproduces the reference transition exactly, because without that nothing downstream is interpretable.
The first version failed it by ten steps. Not because of nondeterminism in training, but because the transition step is defined against a baseline taken from a run's first three evaluations, and a replay starting at step k only had evaluations from k onward. Its "baseline" was the accuracy around the snapshot rather than at initialisation, so it was solving for a different midpoint. The snapshot now carries the reference's evaluated prefix and the replay prepends it, so both apply one definition to one curve.
After the fix: 9 of 9 zero-perturbation replays exact in the coarse pass, 3 of 3 in the fine pass.
Why the second pass was necessary
The coarse pass returned a median shift of exactly 10.0 at every magnitude. That is the signature of a magnitude-independent response, and it is also exactly what a five-step evaluation grid would print if the true response were smooth but small. Those two readings have opposite consequences for the program, and a result that closes an entire bucket cannot rest on which one it is.
The single-step pass separates them. At one-step resolution the response is still flat in magnitude (21.0, 21.0, 24.0), so the coarse pass was not reporting its own grid.
This is the third time in program v2 that resolution or instrument strength decided a headline: A9 was unanswerable because timing was quantised to 10 steps, F2 flipped verdict on probe strength, and D3 needed a finer grid to be trustworthy.
Consequence: Bucket C closes
The gate required a timing signal and smooth controllability. F2 delivered the first. D3 refuses the second. Bucket C is closed: training as control, model-predictive control over training, the learned optimiser conditioned on transition metrics, and transition-vector transplantation are not supported by this rig's evidence and should not be built.
This is the outcome the program explicitly planned for: "If all three fail, the honest output is the phenomenon map plus the negatives." One did not fail, and the gate still does not open, which is a cleaner answer than either half alone.
A4 (the transition kick) is undermined with it. A4 wanted to make the transition arrive earlier. Every perturbation measured here makes it arrive later, regardless of size, and the effect does not scale with the intervention. A kick has no proportional regime to exploit.
What survives. F2's leading indicator remains real and useful for observation: knowing a transition is coming is worth something for stopping rules, budget decisions and diagnosis, even when it cannot be steered. The phenomenon map: D6, D8, F3, stands on its own.
Limits
- One architecture (
tiny-gru), one task, one width (48), one optimizer (AdamW). - Perturbations are along random directions in parameter space. A structured perturbation, down a gradient, along the top curvature direction, or targeted at a specific weight matrix, might behave differently, and this does not test that. What it rules out is generic controllability, which is what a controller would have to rely on.
- Three perturbation times in the coarse pass, one in the fine pass. Timing of the perturbation was not the variable that mattered here: the response was flat across all three.
- The fine pass shortens the horizon to 300 steps, which changes the transition's own baseline and therefore the absolute shift values. Only the comparison across magnitudes within a pass is meaningful, and that is what the verdict uses.