# Held coherence against pulses: a proposed experiment

**DRAFT, October 12, 2026 (Halifax). Not locked and not run.** Nothing here has been simulated. Every step, including
the checks before the lock, waits for Colson's approval. The cause test's decision is unchanged: FAIL, as registered.
A toy model: whatever this shows applies to these runs.

## Why this experiment

The cause test changed coherence at one instant T and found almost no effect on growth over (T + 200, T + 500]. The
two exploratory rounds on its saved runs (explore_cause.txt and explore_history.txt, both chosen after the FAIL was
known) show where the natural link sits:

- In the untouched runs, later growth goes with the mean coherence over the few hundred units before T. The link
  gets stronger as the history window gets longer, from −0.31 at 5 units to a broad maximum of about −0.56 for
  windows of 400 to 750 units, and fades beyond 1,000 units (−0.15 at 2,000). Every band from 0 to 750 units back
  carries part of it; in a joint fit, lags 100 to 500 carry the most. It holds in five independent blocks of starts
  (58 of 60 starts below 0 at 500 units), with non-overlapping rows, in both halves of the runs and with each run's
  time trend held fixed.
- The fast part, C(T) minus that history, has a small link: slopes of −0.01 to −0.05 per unit of coherence,
  against −0.56 to −0.84 for 100- to 500-unit histories.
- A pulse at T changes only the fast part. Its delayed effect per unit (pooled −0.023 ± 0.011; dense +0.020, sparse
  −0.066) is about what a natural fast change of that size goes with. The pulses' changes lasted longer than natural
  fast changes do (half still there over the next 200 units, against at most a third), so fading too fast does not
  explain the null.

Two readings fit all of this, and the saved runs cannot tell them apart:

1. **History drives growth.** Coherence held high for hundreds of units slows the growth that follows.
2. **A slow hidden state drives both.** Something that changes slowly sets both the coherence history and the later
   growth; coherence itself does nothing.

Holding coherence up or down over a stretch of time, and then measuring later growth with a fresh gap, separates
them: reading 1 predicts a large effect, reading 2 about none. Pulse arms run beside the holds connect the result to
the cause test.

## What was fixed before round 2 ran, and what came after

Fixed in explore_history.py's plan before it ran, and not changed: hold lengths of 100 and 500 units; the outcome
window (T + 200, T + 500]; a fresh gap put in at T + 200, the same in every arm of a moment; the untouched arm in the
main comparisons; new starts from 61 on.

Chosen after seeing round 2, and marked where they appear: the hold-500 arm as the primary reading; the slopes in
the thresholds; the check that the hold moved the history enough (M2); the option of a smaller hold.

## Starts and moments

- Starts 61 to 102 (42 starts; seeds 60 to 101, gap directions from (20261011, 60 to 101), as nudge_test.py derives
  them). None has been run at N = 4,000. The model and settings are the cause test's: N = 4,000 per group,
  K = 1.90, eps = 0.1.
- Ten moments per start, as in the cause test: T = 2,000 + o + 350 m (m = 0 to 9), with o drawn once per start. The
  base run saves its state (both copies) at T − 500, T − 100, T and T + 200 for each moment. Every branch starts from
  a saved state, so the overlapping hold windows of neighbouring moments do not matter.

## Arms (dense method only): ten per moment

| arm | what is done |
|---|---|
| none | the base run, untouched |
| pulse up / down / sham | one change at T, exactly the cause test's dense method (±50% of each group's coherence; the sham moves the same oscillators by the same amounts, with signs that cancel) |
| hold-100 up / down / sham | a kick at every multiple of 5 in [T − 100, T]: 21 kicks |
| hold-500 up / down / sham | a kick at every multiple of 5 in [T − 500, T]: 101 kicks |

**The hold.** Each kick has the cause test's dense form, Δθ_j = ± a_g sin(ψ_g − θ_j), worked out from the branch's
own state. Its amplitude is solved so that the group's coherence just after the kick is 1.5 × R_g^none(t) (up) or
0.5 × R_g^none(t) (down), where R_g^none(t) is the untouched run's coherence at that instant, so the target follows
the natural ups and downs, scaled. The last kick is at T, the instant of the pulse: a hold is a pulse plus a history,
and hold minus pulse is what the history adds. After T everything runs untouched.

**The hold's sham.** At each kick, the sham branch's oscillators move by the mean of that kick's up and down
amplitudes, ½ (a_up + a_down) |sin(ψ_g − θ_j)|, with signs paired to cancel in the coherence, as in the cause test's
sham. Up, down and sham of a hold run side by side in one task, so each kick's amplitudes are known together. Σ Δθ²
is recorded for every kick of every arm.

**Why only dense.** For the same change, the sparse method moves about ten times as much in Σ Δθ², and its sham was
the least neutral in round 1. A hundred sparse kicks would mostly measure the disturbance.

**Why untouched is in the main comparisons.** Round 1 found the sham was not neutral: against untouched, it raised
later growth. Up and down are compared with untouched; the sham is reported as the measure of disturbance.

## Gaps and outcomes

- **The carried gap,** as in the cause test: the same Δθ goes to both copies at every kick, so no kick changes the
  gap; it is measured and put back to 10⁻⁷ every 5 units. Secondary outcome.
- **The fresh gap (primary).** At T + 200 a third copy is made from each branch's first copy, displaced by a random
  direction (rms 10⁻⁷ over both groups' pulled oscillators, the overall timing lined up). The direction is the same
  in every arm of the moment, drawn from a seed fixed in the plan. It is measured and put back every 5 units like the
  carried gap. Outcome: G = (the sum of its log growths over the 60 intervals in (T + 200, T + 500]) / 300. This
  removes carryover from the immediate burst through the gap's direction: in the cause test the up arm's gap grew
  fast over (T, T + 200], and the direction it reached carried into the later window.

## Primary measure and threshold

For start s, moment m and the hold-500 arms, with the fresh gap:

    d^up = G_up − G_none,   d^down = G_down − G_none
    D^up_s, D^down_s = their averages over the start's moments carried out
    S_s = (D^down_s − D^up_s) / 2

Predicted direction if history drives growth: S > 0 (held up: slower; held down: faster). Error bars from the
starts, as in the cause test (400 redraws, seed 20261015, cause_rule's error bar).

The threshold (chosen after round 2, from its numbers):

    δ = ½ × 0.838 × κ × ΔM

- 0.838: the natural slope of later growth on the 500-unit history mean, with the fast part and the earlier growth
  held fixed (b_M at τ = 500, the 42 cause-test starts, ± 0.059);
- ΔM: the history change achieved, (M_up − M_down) / 2 over t = T − 500, ..., T − 1, averaged over the moments
  carried out;
- κ: the natural slope with a fresh gap over the slope with the carried gap, from the calibration below (fixed before
  the lock; 1 if they match).

If the hold reaches its targets fully, ΔM ≈ 0.5 × 0.0255 ≈ 0.0128 and δ ≈ 0.0053 κ. For comparison, the cause
test's δ was 0.00104, and its S had an error bar of about 0.00015.

## Decision readings (draft, following the cause test's rule)

    clear      S̄ > 3 e(S)
    sides      D̄^up < −2 e(D^up)  and  D̄^down > 2 e(D^down)      (against untouched)
    reversed   S̄ < −3 e(S)
    excluded   S̄ + 2 e(S) < δ

1. M1 or M2 fails: INCONCLUSIVE.
2. clear and sides: PASS if S̄ ≥ δ; SMALL if S̄ < δ.
3. clear without sides: PARTIAL.
4. reversed: REVERSED.
5. excluded: FAIL (no history effect as large as half of what the natural slope predicts).
6. otherwise: INCONCLUSIVE.

- **M1, the kicks happened as planned.** Every kick puts each group inside its band (up 1.45 to 1.55 × R_g^none(t),
  down 0.45 to 0.55 × R_g^none(t), sham 0.95 to 1.05 × its own coherence before the kick); the sham moves by the
  specified amounts; no kick changes the gap (|d_after − d_before| / |d_before| < 10⁻⁶). A moment where any kick
  of any arm misses is not carried out; nothing is clipped or replaced. At most 21 of the 420 moments may be left
  out, and every start keeps at least 5 of its 10.
- **M2, the hold moved the history (chosen after round 2).** ΔM is at least one natural spread of the 500-unit mean
  within a start (SD 0.0057 in round 2). Below that, a null cannot be read as negative.

## Secondary readings (reported, not the decision)

- Hold-100 in the same way, with δ_100 = ½ × 0.563 × κ × ΔM_100.
- The pulse with the fresh gap: a re-test of the instantaneous reading, with the cause test's δ = ½ × 0.1602 × |ΔC|,
  scaled by the calibration in the same way.
- Hold minus pulse, per unit of history change: what the history adds beyond the change at T.
- Every measure on the carried gap too, beside the cause test's.
- sham − none and P = (D^up + D^down) / 2 for every arm: the disturbance, and whether it grows with the number of
  kicks.
- Early growth over (T, T + 200]; the coherence left after release over (T, T + 200] and (T + 200, T + 500];
  Σ Δθ² by arm; every start's values and signs.

## What each reading predicts

| | hold-500 S | hold-100 S | pulse S, fresh gap |
|---|---|---|---|
| history drives growth, at the natural slopes | about 0.84 × ΔM (≈ 0.011 if fully held) | about 0.56 × ΔM_100 (≈ 0.007) | unclear: the pulse raised coherence over (T, T + 200] by about one natural spread of a 200-unit mean (0.0067); up to about 0.0045 if those 200 units count like natural history, near 0 if only longer history counts |
| a slow hidden state drives both | about 0 | about 0 | about 0 |
| the instantaneous value (the reading the cause test failed) | about the pulse's | about the pulse's | about 0.16 × 0.013 ≈ 0.002 |

These linear predictions go past the natural range. A ±50% hold over 500 units moves the history mean by about 2.2
natural spreads, while round 2's slopes come from differences inside the natural range. A ±25% hold (about 1.1
spreads) would stay inside it (see the options).

## Before the lock (each step needs Colson's approval; none touches starts 61 to 102)

1. **Fresh-gap calibration, untouched only (old starts 1 to 18).** Re-run their base runs, which must reproduce the
   saved runs exactly, and start a fresh-gap copy every 50 units, each measured over its 300 units from T + 200. This
   shows how fresh and carried growth compare, how long a random direction takes to line up with the fastest-growing
   one, and the natural link with a fresh gap (κ). No intervention. About 30 minutes. If a fresh gap lines up too
   slowly to measure the same thing, the gap design goes back to Colson before anything else.
2. **Hold feasibility (old starts 13 to 18, the cause test's target-check starts).** Run the hold arms without gaps
   and without looking at growth: every kick on target, Σ Δθ², the ΔM achieved, and the coherence after release.
   About 15 minutes.
3. **Timing,** with the sustained benchmark from the cause test's operations log.
4. **The decision code,** written once, and the chance of each decision worked out with it by simulation for 42
   starts.
5. **The lock:** SHA-256 of the plan, the code, the moment table and the seeds.

## Compute

Per moment, about 8,000 time units of branch work against 3,000 in the cause test (about 2.7 times), plus the kick
solves. With the host quiet: about 15 minutes of base runs (six pieces), then about 3.5 to 4 hours of foreground
pieces. Each moment is split into two or three tasks so that a piece stays under the 228-second target. Pieces run
one at a time under the cause test's pausing rules, with no background processes.

## Options for Colson (left out of the draft unless chosen)

- **A smaller hold, ±25%,** inside the natural range of history (above).
- **A released hold:** held over (T − 500, T − 200], then 200 untouched units before T. This shows whether an effect
  outlasts the hold.
- **Coupling instead of kicks:** raise or lower K slightly over (T − H, T], so the dynamics move coherence
  themselves, without phase kicks. A second, gentler way to change the same history.
- **A longer follow-up,** to T + 800. In the cause test the up arm's delayed deficit was still deepening at T + 500.
- **Fewer starts,** if the power check shows 42 are far more than needed.

## What it can and cannot tell

A PASS would show that held coherence, or something the kicks change along with it, can slow later growth in this
model. A FAIL would point to the hidden slow state. Either way: one model, one coupling just below the threshold, one
N and one eps. Held coherence made by kicks is not natural history, and no result here is a physical memory time.
