# The scattering side: narrowing the spread against raising the pull

**Draft 1, October 14, 2026, for Colson's review.** Nothing has run for it: no simulation, check or calibration. Nothing
will run without his go.

His request, in his words: "The central question is whether temporarily narrowing the natural-frequency spread produces
a different pattern of coherence formation, distribution, persistence, and later perturbation growth from temporarily
increasing the coupling strength… compare the two routes at matched achieved coherence, while keeping their distinct
effects on the underlying dynamics visible." And: "No new simulations, model additions, publication, or website changes
without approval. Let's understand the scattering side before deciding whether to introduce memory into the medium."

Ground rules:

- **The records stand.** The Cause Test's FAIL stands as registered. The medium pilot, its checks and the Fluidity
  Replication stay exactly as recorded. Their code is only imported, never edited, and their own commands aren't run.
- **Nothing new in the model.** The same equations, code and settings. Only a parameter's values change during a window,
  as K did in the medium pilot.
- **Tests 2 and 3 stay separate, unapproved directions** (a medium that remembers; spread by descent). This design
  commits to neither.
- **A toy model.** It shows structure inside the model, not evidence about cells. Histories, not memory.
- **Nothing leaves this folder.** No website change, no publication.

## First, what the equations already say

Each pulled oscillator follows dθⱼ/dt = ωⱼ + Im(H e^(−iθⱼ)), where H = K z_A + ε z_B in group A (K z_B + ε z_A in
group B). Each free turner follows dθⱼ/dt = ωⱼ.

Multiply every natural rate by c, a little below 1, and count time with a clock that runs at c (τ = c t). The equations
become dθⱼ/dτ = ωⱼ + Im((H / c) e^(−iθⱼ)): the original model with both pulls strengthened, to K / c and ε / c. So,
exactly:

> **Narrowing every natural rate by a factor c for 200 time units is the same as strengthening both pulls, K and the
> faint link ε, by 1 / c for 200 c time units.**

This is the idealized equation from the fluidity review, dR/dt = (K/2) R (1 − R²) − Δ R, in general form: only K / Δ
and ε / Δ matter, and Δ also sets the clock.

What follows from it:

- **A uniform narrowing is the medium route seen from the other side.** At matched coherence it's expected to look
  almost the same as raising K. Two things differ:
  - the faint link strengthens with it (the medium route left ε alone);
  - the narrowed run's clock is about 0.5% slower, so at R it should look like the raised-pull run about one time unit
    earlier.
- **The matching size, roughly.** In the large-group equations, narrowing by about 0.475% puts the model as far above
  its threshold (K + ε against 2Δ) as raising K by 0.5% did.
- **So a uniform narrowing can't by itself separate compatibility from coupling strength.** What it can do is check
  whether the finite model behaves as its equations say.
- **A change in compatibility that no pull can imitate has to change the spread's shape, not just its width.** Two
  results from the large-group theory bear on this:
  - the threshold depends only on how crowded the natural rates are at the centre: K + ε = 2 / (π g(0)), which is 2Δ
    for this spread;
  - the rhythm can hold an oscillator only if its natural rate lies within about pull × coherence of the centre: about
    0.1 at these coherences.

These are standard results for this kind of model, not tested here.

## The six questions

### 1. How Δ is changed and reversed without altering the equations

- The model builds its step from the natural rates when the step is made. For the 200-unit window, the step is made with
  every rate multiplied by c, in both groups, free turners included (the equivalence needs them).
- Which oscillators are pulled and which turn freely stays exactly as it was, oscillator by oscillator.
- Phases aren't touched. At T the oscillators start turning at their new rates; at R, at their old ones.
- At R the run goes back to the original step, made from the stored original rates. Nothing is divided by c to undo the
  change, so no rounding is left over.
- Nothing else changes: not the equations, the code or any other setting. It's the medium route's procedure with a
  different parameter.

### 2. Can the mean and the oscillators' identities be kept?

Yes, by scaling about the centre:

- The set stays symmetric about 0, so its mean and median stay 0 (to rounding).
- Every oscillator keeps its rank and sign, and A and B keep the same set.
- The spread stays a Lorentzian at evenly spaced quantiles, with half-width c.
- So the slower half, the faster half and the free turners are the same oscillators throughout.

### 3. Telling compatibility from coupling strength

- **Uniform narrowing: the core arm.** By the equivalence, it's a coupling change apart from the faint link and the
  clock. The expected result at matched coherence is no meaningful difference. A clear difference would point first to
  the faint link or the clock (or a fault), and would be checked before being read as compatibility.
- **Faster-half narrowing: an option, Colson's choice.** In each group, the faster half's 1,936 pulled oscillators move
  toward the slower half's edge b (its largest natural rate, about 0.95). Each keeps its sign, and |ω| becomes
  b + c_f (|ω| − b). The slower half and the free turners stay as they are. The set stays symmetric and every rank is
  kept; only the shape changes.
  - It raises the compatibility of exactly the oscillators the medium barely reached (the medium put almost all its
    extra coherence in the slower half), and no change of pull can imitate it.
  - The theory expects it to barely move coherence. It leaves the centre's crowding alone, and even halving the faster
    half's distance from the edge leaves all of it far outside the rhythm's reach (about 0.1).
  - If it can't reach the raised pull's coherence, that's an answer in itself: compatibility outside the rhythm's reach
    doesn't gather order at the threshold. The matched comparison then can't be made.
- **Not proposed: narrowing only the slower half.** It changes the centre's crowding much as uniform narrowing does, so
  it's expected to behave like it.

### 4. What's reused

| | |
| --- | --- |
| The model | nudge_test.py, unchanged: two groups of 4,000, K = 1.9, ε = 0.1, Δ = 1, steps of 0.025, settle 300, runs of 6,000 |
| The untouched arm | The base run with the carried gap (10⁻⁷, put back every 5 units) |
| The raised-pull arm | K raised by 0.5% (the pilot's frozen size) for 200 units from T, back to 1.9 at R, followed 500 units; rerun on the new starts by the pilot's own functions |
| Moments | The pilot's rule and draws: 10 per start, 330 units apart from t = 2,000 plus a seed-drawn offset, R = T + 200 |
| Matching rules | The push's: nothing retried or loosened, every unmatched moment listed with its reason, any selection made visible |
| Measures | Each half's exact contribution (Fluidity Replication); the share of the extra left over (R + 200, R + 500] (pilot); later growth against untouched, with the 0.1602 benchmark (Cause Test); the A–B timing and \|z₂\| to \|z₄\| (pilot) |
| Error bars | Starts are the units; the larger of the resampled bar (400 resamples, seed 20261016) and SD/√n; shares take the resampled bar |
| Safeguards | The pilot's freeze: settings fixed and code checked first, the check's results frozen, old-start data never pooled with fresh starts |

Left out:

- the matched push and its sham, and the lowered and widened arms. The question is narrowing against raising; the push
  (the state route) has its own record;
- the rms phase distance between routes at R, since the narrowed run's slower clock alone moves every drifting
  oscillator.

### Matching at equal coherence

- At each moment, c is found by a short search starting from the theory's estimate, so that C at R (the average of the
  two groups) matches the raised-pull arm's within a relative 1%. Each search step reruns only the 200-unit window, with
  one copy and no gap.
- One c serves both groups, as one change of K did. Each group's own mismatch is reported.
- Search limits: narrowing up to 5% for the uniform arm; c_f down to 0.5 for the faster half. A moment where nothing
  within the limit matches is listed as unmatched.
- If more than 1 moment in 10 is unmatched for an arm, that arm's matched readings are inconclusive (the pilot's rule).

### 5. Outcomes that would tell the routes apart

Each is read as narrowing minus raised pull, at the matched moments, with every start counted equally.

| Pattern | Measure | Margin |
| --- | --- | --- |
| Formation | The average gain over (T, T + 100] as a share of the gain at R (gain: arm minus untouched coherence) | 0.10 |
| Distribution | The slower half's share of the extra coherence at R, from the exact contributions (each half's own coherence beside it) | 0.10 |
| Persistence | The share of the extra coherence at R still there over (R + 200, R + 500] | 0.10 |
| Later growth | Gap growth over (R + 200, R + 500], each arm minus untouched | Half the benchmark (0.1602 × the extra coherence at R) |

Each measure gets one of three labels, fixed now:

- **differs:** more than 3 bars from zero;
- **same within the margin:** the difference ± 2 bars lies inside ± the margin;
- **unresolved:** neither. Unresolved is never negative.

How they're read:

- **All "same within the margin"** (later growth may stay unresolved; see below): consistent with the equivalence. In
  this model, compatibility changed evenly acts as coupling does. For fluidity, gathering and scattering would trade off
  as one balance, K against Δ.
- **Any "differs":** the two routes leave different states at the same coherence (histories, not memory). The faint
  link and the clock are looked at first. An arm raising K and ε together would separate them; that would be a separate
  proposal.
- **The faster-half arm, if run:** a "differs" in distribution or persistence would point to where compatibility acts.
  If it can't be matched, the coherence it does reach is reported as its own result.

Kept visible, as descriptions:

- through the window, every unit: each route's coherence, each half's contribution, the A–B timing, and how many pulled
  oscillators lie within the rhythm's reach (|natural rate| ≤ pull × coherence);
- what each route changed: the extra pull the raised pull delivered (as in the pilot), and how far the narrowing moved
  the rates (median and largest);
- at R, |z₂| to |z₄| and the A–B timing; afterwards, each route against untouched in every measure, block by block.

What 12 starts can see, judging roughly from the pilot's spread between starts:

- **distribution:** the pilot's route difference had a bar of about 0.02, so "same within 0.10" is within reach;
- **persistence:** about 0.03, so it's within reach if the routes are close;
- **formation:** no earlier estimate;
- **later growth:** the pilot's bar for one arm against untouched was ±0.0009, more than half the margin here (about
  0.0016). A large difference, around 0.8 of the benchmark, would show. "Same within the margin" probably wouldn't,
  unless the two routes' later growth moves together; showing it would take roughly two to three times the starts.

### 6. Is a small check needed first? Yes

1. **Code checks** on old start 1, mechanics only:
   - narrowing with c = 1 matches the untouched run bit for bit;
   - after R, the rates are the originals bit for bit, and the run is the unchanged model's;
   - the pulled and free oscillators and both halves are unchanged, and the rates' mean stays 0;
   - the narrowed window matches its exact mirror (K and ε raised by 1 / c, with steps of 0.025 c) to rounding;
   - the raised-pull arm reproduces the pilot's saved arrays for pilot start 103 bit for bit.
2. **A coherence-only check** on old starts 16 and 17 (20 moments; no gap growth; nothing after R is looked at):
   - whether matching within 1% works at 18 or more of the 20 moments, and how many search steps it takes;
   - if the option is chosen, whether the faster-half narrowing can reach the raised pull's coherence at 18 or more of
     the 20 moments.

   Its settings are then frozen, as in the pilot. Its numbers never enter the pilot's readings.
3. **An exploratory pilot** on fresh starts 135 to 146 (seeds 134 to 145; 120 moments): roughly 20 to 30 minutes of
   computing in foreground pieces. It can suggest, not confirm.
4. **A locked prospective replication** on further fresh starts, only if wanted after the pilot's review.

Steps 1 and 2 need one go, step 3 another, and step 4 is its own decision. Nothing runs in the background. The check
alone may settle the faster-half question, and may show that the pilot needs changing before it runs.

## What it can't tell

- It's a toy model, and differences are between histories and the states they leave.
- It tests one size, one window (200 units) and one or two ways of narrowing.
- The uniform arm can't isolate compatibility, by the equivalence. The faster-half arm changes compatibility in one
  place only.
- The large-group expectations above are standard theory for this kind of model, not tested here.
- The free turners are scaled in the uniform arm (the equivalence needs it) and left alone in the faster-half arm.

## Where things go

Notes and reports stay in this folder. Working files would go to generated-artifacts/scattering-side/, which is kept out
of the project's history. The model's files are only read. Nothing else is touched: not the medium pilot or the Fluidity
Replication, the Cause Test, the earlier folders, the main file, the packet, the gathered record, the Spiral Staircase
pages or the website.
