# Held coherence against pulses: revised design for review (±25%)

**Written October 13, 2026, about 11:40 Halifax, after both pre-lock checks finished. For Colson's review: not locked
and not run.** It sits beside the draft (../cause-explore-2026-10-12/hold_vs_pulse_proposal.md), which is kept as
written; where this file says nothing new, the draft's text stands. The checks' plan is prelock_checks_plan.md, the
changes made after they began are in prelock_amendment.md, and the results are in calibration_results.txt and
feasibility_results.txt. The cause test's decision is unchanged: FAIL, as registered. Starts 61 to 102 have not been
run. A toy model: whatever this shows applies to these runs.

> **Correction and update, October 13, 2026, about 12:55 Halifax.** This file was written at about 11:15 Halifax,
> not "about 11:40" as the header says; the header is kept as written. Since then Colson chose E4 and H2. The H2
> hold was checked on old starts (hold_check_plan.md, hold_check_results.txt) and is NOT FEASIBLE at ±25% as
> specified. E2's check is planned, not run (e2_check_plan.md). The current state is at the top of
> prelock_status.md.

## 1. What the checks found

### Calibration: FAIL

Read with the revised exactness check (V1-revised, adopted after the preregistered V1 failed), the calibration fails.
Read with V1 as preregistered, it gives no reading: 6 of 18 starts reproduce their saved runs. V1-revised is not the
preregistered check.

| criterion | needs | found | |
|---|---|---|---|
| C1 convergence | 90% lined up within the window; median alignment at most 100 units | 22.6%; median: not lined up | not met |
| C2 stability | direction noise at most 0.5 × the natural spread of W | 0.30 | met |
| C3 agreement | r(Ḡ, W) at least 0.8 | 0.873 ± 0.007 | met |
| C4 interpretability | κ between 0.75 and 1.25 | 0.579 ± 0.024 | not met |

- On average a fresh gap grows as fast as the carried gap over the window (0.0137 against 0.0138), and the two go
  together closely (r = 0.873).
- It lines up slowly: median overlap 0.35 after 100 units, 0.54 after 200 and 0.67 after 300. Only 23% had lined up
  by the end of the window.
- It carries only part of the natural link: b_M = −0.454 ± 0.045, against −0.784 ± 0.057 with the carried gap. κ is
  low in each batch of six starts (0.60, 0.52, 0.65).
- Over the window's first 100 units the two agree poorly (r = 0.418). Over its last 200 units they agree closely
  (r = 0.914; mean difference +0.00003 ± 0.00016).
- The dry run's fresh-gap numbers (one start, early in the run, seen before the check) were preliminary. They
  suggested that fresh gaps had not lined up after 300 units and grew faster than the carried gap. Across 18 starts,
  most had still not lined up after 300 units (77%), though overlaps were higher than in the dry run (median 0.67,
  against 0.10 and 0.26), and on average they grew no faster.

Why κ is below 1 is not settled. Two readings fit, and the calibration cannot tell them apart:

- (a) While a fresh gap lines up, its growth mixes many directions, and the link may belong to the fastest-growing
  direction, which the carried gap already follows.
- (b) Part of the carried gap's link may come from its own history: its direction at the window's start was set by
  the hundreds of units before, the same stretch whose coherence is the history in question.

### Feasibility: neither hold length is feasible at ±25%

Its base runs met V1 as preregistered (all six reproduce their saved runs exactly) and V1-revised.

| | needs | 500-unit hold | 100-unit hold |
|---|---|---|---|
| F1 moments carried out | at least 57 of 60 | 50 | 52 |
| F2 history achieved | in 90% of moments | 82% | 81% |
| F3 held throughout | in 90% of moments | 8% | 81% |
| F4a sham effort against its match | 0.8 to 1.2 in every moment | 0.76 to 0.85 | 0.76 to 0.97 |
| F4b sham history | within ±0.25 | +0.68 | −0.017 |
| | | NOT FEASIBLE | NOT FEASIBLE |

The pulse was carried out in all 60 moments. On average the planned size was reached: ΔM = 0.00632 for 500 units
(planned 0.00648) and 0.00626 for 100 (planned 0.00655), with mean fractions up 0.965 and 0.954, down 0.893 and
0.874. What failed is consistency, evenness, the number of moments carried out and, for 500 units, the sham.

## 2. What the checks show about the hold itself

Items 1 and 3 were worked out after the results, from the untouched base runs, with no new simulation.

1. **Unreachable targets.** 17 of the 18 moments left out had a kick that could not reach its target: the down arm
   in all 17, and the up arm as well in 3. (The 18th: a sham kick at 1.088, outside 0.95 to 1.05.) All 17 fall at 13
   distinct instants where the untouched run's coherence had dipped almost to zero, to 0.0003 to 0.0019: the lowest
   0.4% of its values (typical: about 0.023). The same instants recur in both holds, for example t = 1,965 in
   start 17. Aiming at 75% or 125% of almost nothing means aiming at almost exactly zero, which the kicks could not
   reach.
2. **Chasing another path.** The target followed the untouched run instant by instant. A held branch soon moves onto
   its own path, whose ups and downs no longer match the untouched run's, so each kick chased swings from another
   path. Just before each kick, the up arm's ratio to untouched had a spread of 0.84 in the 500-unit hold, against
   0.34 in the 100-unit hold, whose branches had less time to part. The 500-unit up arm's 25-unit blocks ranged from
   −0.74 to 2.77. (That the branches part is the likely reading of these numbers, not a separate measurement.)
3. **A ±25% change is smaller than coherence's own swings.** Over 5 units, each group's coherence changes with an SD
   of 0.0137, about 53% of its level of 0.0256 (old starts 13 to 18). Even 25-unit block means of c swing about their
   local 500-unit level with an SD of 0.0047, about 0.73 of the 25% change; for 100-unit blocks it is 0.0029, about
   0.45. If a branch and the untouched run swing independently about the same slow level, their 25-unit block
   fractions would scatter with an SD of about 1.0 from natural swings alone, against F3's band of ±0.5 (about 0.6
   for 100-unit blocks). So F3 as written can be met only while a branch stays close to the untouched run's own
   swings: in a short hold, or by pinning it there every 5 units at a high cost in effort (item 4). This comes with
   the size itself: ±25% keeps the history inside its natural range, and for the same reason it is smaller than
   coherence's natural swings over 25 to 100 units.
4. **The effort moves coherence by itself.** Holding the 500-unit up arm took Σ Δθ² = 216, about 470 pulses' worth;
   its median maintenance kick was four times the 100-unit hold's (1.14 against 0.29). The sham, built to leave
   coherence almost unchanged at each kick, still raised the 500-unit history by 0.68 of the planned change. It also
   left coherence raised after release: 1.95 and 1.13 of the planned change over (T, T + 200] and (T + 200, T + 500].
   With the 100-unit hold's smaller effort (the sham's Σ Δθ² was 8.3), its history stayed neutral (−0.017). Round 1
   also found that the sham raised later coherence.
5. **The sham did less work than its match.** It moved by the mean of up's and down's amplitudes, and the square of
   a mean is at most the mean of the squares. Up's and down's kicks differed in size, so in the 500-unit hold the
   sham did 0.76 to 0.85 of the match's work.
6. **Coherence relaxes slowly.** After a ±25% pulse, about half the change was still there 200 to 500 units later
   (over (T + 200, T + 500]: up +0.68 and down 0.39 of the planned change; sham +0.20). So once a level is set, small
   corrections can keep it, as long as they do not fight the fast swings.

## 3. Choice 1: the growth outcome

An outcome's measurement-history bias is the way the gap's own past could shape what it reports.

**E1. The carried gap,** as in the cause test, over (T + 200, T + 500].

- Known: its natural link is the one the threshold uses (b_M = −0.838 ± 0.059 on the 42 cause-test starts;
  −0.784 ± 0.057 on old starts 1 to 18). So κ = 1, and no new outcome check is needed.
- Bias: no kick changes the gap itself (the same Δθ goes to both copies), but its direction at T + 200 was shaped by
  everything the arm went through: the hold, the last kick and the release. In the cause test, a pulsed arm's gap
  grew fast just after the pulse, and the direction it reached carried into the later window. A hold of 101 kicks
  makes the arms' paths differ far more than one pulse did. If reading (b) is right, part of its natural link also
  comes from its own history. Its bias after kicks cannot be checked without looking at growth after a change; the
  sham arm against untouched is where it would show.

**E2. A fresh gap at T + 200, counted over (T + 300, T + 500]** (its last 200 units).

- Known: in untouched runs it agrees closely with the carried gap over those units (r = 0.914; mean difference
  +0.00003 ± 0.00016).
- Not known: its natural link over that window (κ). The window was picked after seeing the calibration, so its check
  must use new moments and new directions.
- Bias: it starts from the same random direction in every arm, after the release's first 200 units, so the hold
  shapes it only through the 100 units before counting starts. It is still only partly lined up then (median overlap
  0.35), so reading (a) applies in part. Its window is shorter, so it is noisier.

**E3. A fresh gap put in at T, counted over (T + 200, T + 500].**

- It has 200 units to line up before counting starts (median overlap 0.54 after 200 units).
- Bias: it lines up during the release, (T, T + 200], when the arms differ most. That is the carryover the draft's
  fresh gap was meant to avoid. It needs its own calibration, with copies made at T.

**E4. Two outcomes that must agree: E1 and E2 (recommended).** PASS needs PASS on both; FAIL needs FAIL on both;
anything else is INCONCLUSIVE. Neither outcome's measurement history can decide the result alone. The cost: more
results may come out INCONCLUSIVE, and E2's check is still needed.

**E5. The drafted fresh gap anyway** (made at T + 200, counted over the whole window, κ = 0.58 in the threshold). It
failed C1 and C4, and using it would set those failures aside. Not recommended; listed so the choice is complete.

## 4. Choice 2: how coherence is held

Common to all: up and down at ±25%, the last change at T, untouched afterwards; pulse, sham and untouched kept apart.

**H1. Pin to a smooth target.** As checked, but each kick aims at (1 ± 0.25) × the untouched run's average over the
past 25 units instead of its instant value. In old starts 13 to 18 those averages never fell below 0.0086 (lowest
0.4%: below 0.0116), so the targets stay within reach, and the kicks stop chasing the other path's instant swings.
But it still pins the branch every 5 units against its own swings (5-unit changes of about 53% of the level), so
effort and disturbance would probably stay high in the 500-unit hold, and F3 as written would probably still fail
there. The held history is also flatter than any natural one.

**H2. Correct only the slow drift (recommended).** The first kick, at T − H, aims each group at its target, as the
checked hold did. After that, every 5 units, each group gets a kick of a set fraction of the gap between its own
25-unit average and its target, (1 ± 0.25) × the untouched run's 25-unit average for that group. Fast swings run
freely.

- The targets are always within reach. The corrections answer slow drifts (SD 0.0029 to 0.0047 for 100- and 25-unit
  blocks) rather than fast swings (0.0137 over 5 units), so the effort should be much smaller. The branch keeps its
  own ups and downs, so its history looks more like a natural one.
- A new number to fix: the fraction, chosen on old starts 13 to 15 by a rule written down beforehand, and confirmed
  on 16 to 18 with new moments.
- A new standard for "held throughout": with fast swings left alone, no method can meet F3's 25-unit band (item 3 of
  section 2). Evenness would be judged over 100-unit blocks, against the target. The 25-unit failures stay on record,
  and the new standard is fixed before its check. F1 (adapted: every kick carried out as specified), F2 and F4 stay as
  they are.

**H3. Change the coupling.** Raise or lower K over (T − H, T], so the dynamics move coherence themselves; no kicks.

- No kicks, so no kick disturbance, and no sham to match (untouched is the comparison).
- It changes a model parameter during the hold, so more than coherence changes. Lowering is bounded by the level of
  fully random phases (about 0.014 for N = 4,000, against a typical 0.0256), so −25% (about 0.019) sits close to it.
  The size achieved, and how evenly it is held, come from the dynamics; K would be set in its check.

**On the size.** A ±50% hold, as first drafted, changes coherence by about 0.0128, well above the 25-unit block
swings (SD 0.0047), and so would be easier to hold evenly. But it moves the 500-unit history by about 2.2 natural
spreads, beyond the range the natural slopes come from. The checks ran at ±25%, as you chose, and this design keeps
±25%.

## 5. The experiment, once both are chosen

**What changes from the draft:** ±25% instead of ±50%; the outcome from Choice 1; the hold from Choice 2; the sham
matched on effort; two new validity checks (M3 and M5); and the draft's six readings folded into PASS, FAIL and
INCONCLUSIVE, with each kind still named in the report.

**Starts and moments.** As drafted: starts 61 to 102 (42), with seeds and gap directions as nudge_test.py derives
them; ten moments per start, T = 2,000 + o + 350 m; the model and settings unchanged.

**Arms (dense only), per moment.** None; hold-500 up, down and sham; hold-100 up, down and sham; pulse up, down and
sham (the pulse as checked, ±25%). With H3, the hold arms are K up and K down, without a sham. New for H1 and H2: the
sham moves by the root mean square of up's and down's amplitudes rather than their mean, so its Σ Δθ² matches theirs
(item 5 of section 2).

**Kept apart.** Up and down are compared with untouched. The sham is reported as the disturbance and never
subtracted. The pulse is its own reading of the instantaneous idea. Nothing is pooled across them.

**Primary measure.** For start s and the hold-500 arms, with outcome G:

    d^up = G_up − G_none,   d^down = G_down − G_none       (each moment)
    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. Error bars from the starts: 400 redraws, seed 20261015.

**Threshold.** δ = ½ × 0.838 × κ × ΔM, as drafted. Here 0.838 is the natural slope on the 500-unit history (the 42
cause-test starts, ± 0.059). κ = 1 for E1; for a fresh-gap outcome it comes from that outcome's check. ΔM is the
achieved (M_up − M_down) / 2, averaged over the moments carried out.

**Manipulation validity (all needed; otherwise INCONCLUSIVE).**

| | criterion |
|---|---|
| M1 carried out | every kick (or change of K) as specified; for a carried gap, no kick changes it (relative change below 10⁻⁶); at most 21 of the 420 moments left out, with every start keeping at least 5 of its 10; nothing clipped or replaced |
| M2 history achieved | as F2: in at least 90% of the moments carried out, both fractions between 0.75 and 1.25; each mean between 0.85 and 1.15 |
| M3 held throughout | the standard fixed for the chosen method before its check (for H2: 100-unit blocks against the target) |
| M4 large enough to read a null | ΔM at least one natural spread of the 500-unit mean within a start (0.0057, round 2) |
| M5 outcome intact | every gap measured at all its put-backs; every number finite |

The sham's two checks (F4) are reported and flagged, and do not block. A disturbance shared by up and down drops out
of S, which is their difference. But it can hide or fake a side: a disturbance that raises growth in both arms works
against the up arm's predicted side and for the down arm's.

**Decision.**

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

- **INCONCLUSIVE** if any of M1 to M5 fails.
- **PASS:** clear, sides, and S̄ ≥ δ. Held-up coherence slowed later growth and held-down coherence sped it, each
  against untouched, by at least half of what the natural slope predicts.
- **FAIL:** excluded or reversed. The report names the kind: none (S̄ within 3 e(S) of 0), small (clear but
  excluded), or reversed.
- **INCONCLUSIVE** otherwise: for example, clear and above δ but on one side only, or too uncertain to include or
  exclude δ.
- With E4: PASS needs PASS on both outcomes, FAIL needs FAIL on both, and anything else is INCONCLUSIVE.

**Predicted effect sizes** (S at ΔM ≈ 0.0064, the full ±25%; the feasibility check reached 0.0063):

| reading | hold-500 | hold-100 | pulse |
|---|---|---|---|
| history drives growth, at the natural slopes | 0.838 × 0.0064 ≈ 0.0054 | 0.563 × 0.0064 ≈ 0.0036 | about 0.001 to 0.002 if the coherence the pulse leaves after T counts like history; otherwise about 0 (in the cause test at ±50%, round 2's rough hint put the delayed effect at about 7% of such an estimate) |
| 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 | 0.160 × 0.0064 ≈ 0.0010 |

For a fresh-gap outcome, multiply by its κ (0.58 for the drafted one; E2's comes from its check). Thresholds at
ΔM = 0.0064: hold-500 δ ≈ 0.0027 with E1; pulse δ ≈ 0.0005. These are linear predictions inside the natural range.

**Uncertainty across starts (planning figures).**

- Suppose that, after a hold, the up and down arms' growths vary like independent draws with the natural
  within-start spread of W (0.0066). Then (G_down − G_up) / 2 has an SD of about 0.0047 per moment, about 0.0015 per
  start over ten moments, and e(S) ≈ 0.00023 over 42 starts. Arms that share a slow state vary less, so this is the
  high end. The cause test's S had an error bar of about 0.00015.
- On these figures, the history reading's 0.0054 is about 20 error bars from 0, and δ about 12. Even with 21 starts
  (e(S) ≈ 0.00033) it would be about 16 from 0. What limits this design is not the number of starts but whether the
  hold and the outcome measure what they are meant to.
- E2's 200-unit window makes each moment noisier (roughly × 1.2), and its κ scales the prediction.
- The natural slope's own error bar (about 7%) carries into δ.
- The decision code, written once, will work out the chance of each decision by simulation before any lock.

**Diagnostics (reported, no pass or fail).**

1. Time-integrated history: M by arm; ΔM; the achieved fractions and block fractions; H × (M_arm − M_none) for every
   arm, sham included; each group's ratio to target just before each kick (drift and spread); and the 5th to 95th
   percentile of the ratio over the hold.
2. Cumulative effort: the number of kicks; Σ |a| by group; Σ Δθ² over the hold, the first kick's share of it, and its
   size against one pulse; the median maintenance kick; the largest single |Δθ|; and the net signed push Σ a. For H3:
   the change in K integrated over the hold.
3. Per unit: S per unit of H × ΔM and per unit of Σ Δθ², for hold-500 and hold-100 side by side, so that a longer
   hold is not mistaken for a bigger push; and the sham's growth difference per unit of its effort.
4. The coherence left after release, over (T, T + 200] and (T + 200, T + 500], every arm against untouched.
5. Early growth over (T, T + 200]; sham − none and P = (D^up + D^down) / 2 for every arm; every start's values and
   signs; and every measure on both outcomes, whichever is primary.

## 6. Before any lock (each step needs your approval; none touches starts 61 to 102)

1. Choose the outcome (E1 to E5) and the hold method (H1 to H3).
2. **Hold check** on old starts 13 to 18, with new moments and seeds: no gap and no growth. Its criteria are written
   down before it runs: F1 adapted to the method, F2 and F4 unchanged, and the method's evenness standard. For H2, the
   correction fraction is chosen on starts 13 to 15 and confirmed on 16 to 18.
3. **Outcome check**, for any fresh-gap outcome: untouched only, on old starts 1 to 18, with new moments and new
   directions; C2 to C4 as before, applied to its own window. For E2, C1 (lining up) would be reported without a
   criterion, since E2 claims the same growth and the same link, not that the gap has lined up. That would be a change
   from the first plan, for you to approve or not. E1 alone needs no outcome check.
4. **Timing**, from those runs. The draft's 3.5 to 4 hours is too low: the feasibility check took 39 minutes of
   running against its planned 15, and the gaps add copies. A rough scaling from it gives 8 to 11 hours of foreground
   pieces for 42 starts. Fewer starts would cut that (see the planning figures).
5. **The decision code**, written once, and the chance of each decision worked out by simulation.
6. **The lock:** SHA-256 of the plan, the code, the moment table and the seeds.

Each check would take about 40 to 90 minutes of foreground pieces on this machine (today: the calibration ran 35
minutes in 11 pieces, the feasibility check 39 minutes in 14), with nothing left running between pieces.

## 7. What it can and cannot tell

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