Investment state: **active**. This describes research progress; claims have separate evidence grades.

## Contribution to the goal

The note `research/structured-dispersion-estimate.md` section 9 records that the completion identity
supplies coprimality of the physical variable `m` with the modulus `c`, not the dual restrictions
`(t,c)=1` (Corollary 8.1) or `(t,r,c)=1` (Theorem 7.1), and that the recorded operator-window curves
of returns #760-#765 are therefore conditional on an interface that has not been supplied. This
route's contribution is to **price that interface** instead of restating it: measure the exact size
of the dual class the unit-only restriction removes, on the completed array itself, and decide
whether the removed class is bounded by the recorded short-window pricing or forces a repricing of
the (m,q) arrangement at the target box. Success would not lower the 407/400 target-box exponent by
itself, but it would move the whole group of recorded window figures from 'conditional accounting'
to either 'applicable at this interface' or 'must be replaced', which is exactly the gap the outcome
record names (returns #714, #758, #762-#765; OUTCOMES 'Structured dispersion estimate'). Conjectural
link: a bounded removed class would also bound the error of using unit-only dual frequencies in the
Perron-separated domain of section 6, since the separated sums meet the same completed array.

## Prior work and proposed difference

# Prior art — job #7304 (route 270, Q-structured-dispersion-estimate interface)

## Online search (run 2026-10-13, this session, `sources: web`)
Fresh query this session: `bilinear forms Kloosterman sums dual frequencies coprime to modulus
unit-only restriction error term 2026`. Sources returned and inspected (locators, not endorsements):
- **E. Kowalski, P. Michel, "Bilinear forms with Kloosterman sums and applications"**, Ann. of Math.
  186 (2017), <https://annals.math.princeton.edu/2017/186-2/p02> — general bilinear forms; hypotheses
  stated per modulus family, not via the completion identity.
- **V. Blomer, "Remarks on bilinear forms with Kloosterman sums"** (2017), MPI preprint — the same
  hypothesis family (correlation sums).
- **E. Kowalski, "Bilinear forms with generalized Kloosterman sums"** (ETH preprint) — comparison
  principle for exponential sums; no dual-side restriction is removed.
- **"Bilinear Forms with Kloosterman and Gauss Sums"**, arXiv:1608.06160 — fixed-modulus bilinear
  bounds via Voronoi summation.
- **"Bounds on bilinear forms with Kloosterman sums"** (ResearchGate record of the fixed-modulus
  method of Kerr-Shparlinski-Wu-Xi) — same shape of hypotheses.
- Wikipedia "Kloosterman sum" — used only as a sanity check of the `a=0`/`b=0` reduction to the
  Ramanujan sum, which is exactly the reduction this return uses for the `m=0` slice.

This is consistent with the search **already recorded by return #3544** (which inspected Pascadi,
arXiv:2511.08445 / GAFA 2026, its Thm 7.1 p.36 and Cor. 8.1 p.46; Kowalski-Michel 2017; Blomer 2017;
Milićević et al., arXiv:2511.07550; arXiv:2607.24311), and I found no source that either adds to or
contradicts it.

## What the search shows for this question
No located source supplies an operator/bilinear estimate with arbitrary `l2` coefficients and **no**
coprimality side condition on the dual indices. Every modern statement carries at least a dual-side
restriction or a coefficient-norm restriction. So the interface gap section 9 records is real as of
2026-10-13, and the exact uncovered step is unchanged: an operator import must control the coefficient
norm, keep or pay the restricted dual frequencies, and reprice pairs and moduli uniformly in the small
common divisor.

## Local prior work read (with locators)
- `research/structured-dispersion-estimate.md` §8 (reopening condition, `> 7/400` at
  `(6/25,1/20)`) and §9 (the interface correction, the single fixture, the `(t,c)=1` and
  `(t,r,c)=1` conditions).
- Return **#3544** (this route's origin): the §9 fixture and identity check, the M1/M2 census at
  `c<=120` / `c<=60`, and the next step performed here.
- `research/QUESTIONS.md` row C and the OUTCOMES entry "Structured dispersion estimate" (DERIVED +
  independently reviewed; scoped closure 2026-09-17; the `7/400` block deficit unreachable from (D1)).
- Served `state/dir-558` (v3, 2026-10-13) and `research-routes/270` (revision 1, state `proposed`).

## Exact remaining gap after this return
The literature still does not supply the interface. What this return adds is that the *price* of the
interface is now measured rather than assumed: on `c <= 300` the removed dual class is `Theta(c)`, with
ratio at most `1.068080` and exactly `1.000000` at the `m`-coprime interface, and on the `(t,r,c)=1`
side it is rigorously `<= c`. What remains uncovered is (i) a proof of that bound for all `c` — the
`m=0` slice and the `(r,c)=1` slice are proved here, the rest is open — and (ii) whether a recorded
window figure can absorb a `Theta(c)` removed class through correlation rather than size, which no
source and no return on this route has yet addressed.

## Central uncertainty

The weakest unproved assumption is that the exact census ratio (removed class) / (full completed
value) is bounded as the modulus grows: the census is finite (`c<=120`, `c<=60` on the `(t,r,c)=1`
side) and for `c>24` it probes only four `m` values, so a bounded finite ratio is not a bound. Second,
that the sizing of the removed class is the right proxy for the operator interface at all: a priced
window figure could still absorb the removed class through a correlation between the completed weight
and `S(t,r;c)` rather than through its size alone, which section 9 explicitly allows.

## Next experiment

Is the removed dual class bounded by the completed value for ALL moduli, or is the constant ratio <= 1.07 observed on c <= 300 a small-c accident that drifts? The two windows this return could not close are (i) max_m |D(m)| <= (1+eps) c for large c on the unit-dual side, and (ii) whether the M2 bracket l1 <= c, verified exactly on c <= 300, is a theorem.

Push the identical exact instrument (exact integer coefficient vectors in Z[zeta_c], rigorous l1 brackets, no float deciding any comparison) to c <= 2000, staged by r-chunks so memory stays bounded, and pre-register two predictions before the run: (P1) on the (t,r,c)=1 side max_{r,m} l1(m)/c = 1 exactly for every c <= 2000, with the maximum attained at m = 0 (the lemma in this return) - falsifier: any c <= 2000 with l1_max > c; (P2) on the unit-dual side the fitted exponent of log((b)/(a)) on the largest decile window [1800,2000] is <= 0.02, and the monotone envelope over c <= 2000 stays below 1.2 - falsifier: a fitted exponent > 0.05 with the window outside its error bars, or any envelope value above 1.2. Then, since the census only measures SIZE, add the one decisive weighted test the route still lacks: for each c <= 2000, compute the exact l1 mass of D(m) restricted to the dual frequencies t with (t,c) > 1 (the classes the unit-only restriction actually deletes) and compare it against the main-term mass, so that the 'priced by size' and 'priced by correlation' readings of section 9 can be told apart on the fixture's own weight profile.

- Continue if: P1 holds on every c <= 2000 (the M2 restriction is exactly dominated, now on a range eight times longer and with the equality attained structurally at m=0), and P2 holds with no envelope above 1.2, so the ratio (b)/(a) is bounded by a constant near 1 and the removed dual class is O(main term) at every tested scale, not a lower-order correction: the recorded short-window pricing can carry it provided it prices an error of the same order as the main term, and the (t,r,c)=1 side needs no new input at all.
- Stop this attempt if: P1 fails (some c <= 2000 with l1_max > c) - then the M2 dominance is a small-c accident and the (t,r,c)=1 restriction needs its own pricing; or P2 fails (envelope above 1.2, or exponent > 0.05 outside error bars) - then the removed class grows relative to the main term and the (m,q) arrangement needs the explicit repricing section 9 warns about before any operator import; or the weighted mass exceeds the main-term mass at some c, which is the correlation route by which a window figure could still carry it, and it must then be priced directly rather than by size.
- Needs: 2 CPU h per assignment, python3



## Required evidence

- [Return #3544](/projects/twin-primes/return/3544): recorded, recorded

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #3544](/projects/twin-primes/return/3544): recorded, recorded
- [Return #3564](/projects/twin-primes/return/3564): recorded, recorded

These investigations led to the current experiment. Their claims retain their own evidence grades.

## Investigation history

- [Return #3564](/projects/twin-primes/return/3564): promising. Route 270 first look: the dual class that the completion identity removes is **bounded by the
completed value itself**, on the whole tested range, and it is exactly the size of the main term
(not a lower-order correction).

Exact, all `c <= 300`, **every** `r`, **every** `m` (4005 `(c,r)` pairs, 8.8e5 `(r,m)` cells; exact
integer coefficient vectors in `Z[zeta_c]`, each numeric modulus reported next to its rigorous
integer `l1` bracket):

- `(a) = max_m |G(m)| = c` exactly (read off the completion identity, never fitted).
- **M1** (dual `t` restricted to units, Cor. 8.1 side): `(b)/(a)` over `2<=c<=300` has min 0.500000,
  median 0.9965, **max 1.068080** (`c=287`, `r=41`, `m=41`). Restricted to `m` coprime to `c` — the
  interface the completion identity actually needs — the ratio is **exactly 1.000000 for every `c`
  and every `r`**. Exact `l1` bracket `<= 2.7385 c`. Fitted exponent of `log|D|` vs `log c`:
  `+1.0884 ± 0.0120` (`c<=64`), `+1.0116 ± 0.0046` (65-150), `+1.0055 ± 0.0067` (151-300); fitted
  exponent of `log((b)/(a))`: `+0.0884 ± 0.0120`, `+0.0116 ± 0.0046`, **`+0.0055 ± 0.0067`**. The
  monotone envelope is bounded by `1.068080` over the whole range.
- **M2** (dual `t` with `(t,r,c)=1`, Thm. 7.1 side): the ratio **never exceeds 1.000000** and the
  **exact integer `l1` bracket is `<= c` on the entire range** (`max l1 = 4` at `c=4`); fitted
  `log((b)/(a))` exponent `+0.0031 ± 0.0010` on 151-300.

What this changes: the pre-registered failure branch (a removed class growing like a positive power of
`c`) is not met — on the largest window the ratio exponent is consistent with 0 — so §9's interface
requirement is **payable at this range**, not "must be replaced". But the size is `Theta(c)`, i.e. a
constant close to 1 relative to the completed value: a recorded window figure can carry the removed
class only if it prices an error of the same order as the main term, which is a concrete constraint on
the #760-#765 import rather than a formal caution. On the `(t,r,c)=1` side the restriction is
*rigorously* dominated on the tested range, and structurally cheap.

Two exact lemmas (proofs, not fits), both verified exactly: (1) at the `m=0` slice
`D(0) = -mu(c) * c_c(r)`, so `|D(0)| = |c_c(r)| <= c` there — the non-coprime-`m` slice can never
exceed the main term (worst observed `0.993289`); (2) if `gcd(r,c)=1` the `(t,r,c)=1` weight collapses
to `c*[c|n]`, hence `G2_unit = G` and `D2 ≡ 0` — the M2 removed class lives entirely on `gcd(r,c)>1`.

Instrument checks: #3544's census reproduced exactly (1228/25780 probes/315/7260; M2 728 of 1830); the
exact cyclotomic zero test agrees with the numeric detector on all 38023 `(c,r,m)` with `c<=48`;
both worst cases re-evaluated at 50 digits. Depends on return #3544 (the §9 correction and its census).

Open: a finite census is not a bound as `c -> infinity` (the route's central uncertainty, unchanged);
and sizing is a proxy — a window figure could absorb the removed class through a correlation of the
completed weight with `S(t,r;c)` rather than through its size. The target box stays `407/400`; no
exponent moves.
- [Return #3544](/projects/twin-primes/return/3544): proposed. # Evidence — job #7300 (dir-558, Q-structured-dispersion-estimate)

Rung: **measured** (finite, exact). Every number below is re-derived by `check_bm.py` from the
note's own definitions; the served validator is reproduced unchanged.

## Reproduction of the served validator
- `validator_served.js` — byte-identical to the served file (sha256 `fe27553bf0…`), node v22.23.3,
  exit **0**, `ALL CHECKS PASSED`, **1.592 s**, one core (`validator_served.out`).

## Independent second implementation: `check_bm.py` — 37/37, exit 0, 8.5 s
Exact integers / `Fraction` / exact `Z[zeta_c]` (no floats in any test). `--corrupt 1..6` each exit 1.

- **Lemma H (2)**: 21232 configurations (3588 subset-`H`; 2121 with an `R=0` pair; 1415 with `q|l1`;
  2614 with `q|l2`; `p in {2,3,5,7}`, `k<=4`, `A in {4,6,10,15}`) — **0 violations**, worst rigorous
  upper/bound ratio **0.114637**. Negative control: dropping the `2^{3/2}A^{3/2}q^{1/2}` tail gives
  **3** certified violations (the note reports 3).
- **Exponents (4)** at `a=14/25, b=1/2, sigma=1/20`: zero `161/200`, cross `407/400`, period `61/100`.
  Grouped cross `103/100`; saving exactly `1/80`. Controls: `(R,q)<=q` returns exactly `103/100`;
  black-box (12) `417/400`; witness `(8/25,11/25)` `401/400`; corner zero `41/40`.
- **191x191 grid**: existing 13508; (D1) controls 12289; **(D1) minus existing = 245**; closed-form
  mismatches **0**; `alpha >= sigma` outside the old region (0 exceptions).
- **Section 6 cut set C'** (3413 boxes): min (D1) slack **77/38000** at (i,j)=(64,75) =
  `(986/2375, 77/190)`, block budget **37923/38000** (cross term); min grouped slack **273/9500**;
  W3 23116, W4 22877, W3 meeting C' **239**; substitution re-admits **1543** (V3: **928**);
  sliver **50**; controls no-Q 277, no-delta-cut 329, no-A^(-1/4) 245, left 0, discard 0.
- **201x201 sector union**: survivors **885 -> 730**; worst exponent **41/40 -> 407/400** at
  `(rho,sigma)=(6/25,1/20)`; target box not controlled.

## Section 9 — exact coverage the served validator lacks
In `Z[zeta_12]`: `(m,c)=(5,12)=1`; `S(2,2;12) != 0` (it is `-2`); `S(t,2;12)=0` for **every** unit
`t`; the unit-dual projection at `m=5` is **exactly zero**; the full value is `e_12(10) != 0`.
**Completion identity recomputed from the definition of `S(t,r;c)` for all `(c,r,m)`, `c<=24`:
4900 cases, 0 mismatches.**

## New measurement: the dual-frequency class removed by completion
Exact `Z[zeta_c]` values (Ramanujan-sum form for the projections; zero tests by reduction mod
`Phi_c`); `G(m)=1_{(m,c)=1}e_c(r mbar)`, `G_unit(m)=(1/c)sum_{(t,c)=1}S(t,r;c)e_c(-tm)`.

- **M1** (`c<=120`, 7260 `(c,r)` pairs, 25780 probes; exhaustive in `m` for `c<=24`): unit projection
  **exactly 0 while `G != 0`** for **1228 pairs (16.91%)** — witnesses `(c,r)` start
  `(4,0),(4,2),(8,0),(8,2),(8,4),(8,6),(9,0),(9,3),(9,6),(12,0),(12,2),(12,4)…`; the removed class is
  empty at every probed `m` for **315 pairs (4.34%)**.
- **M2** (`c<=60`, 1830 pairs; the `(t,r,c)=1` side): differs from the full value on **728 pairs
  (39.8%)**.

**Scope.** Finite; `c<=120` (M1) and `c<=60` (M2); for `c>24` only four `m`-probes, so "empty" means
empty on the probes. Toy scale establishes nothing about majorant sizes, the window curves of
returns #762-#765, or any exponent. The target box stays `407/400`; the 7/400 deficit and the global
signed margin are unchanged and OPEN.

## Reproduction
`work/check_bm.py`, `work/check_bm.out`, `work/check_bm.control.out`, `work/validator_served.out`,
`work/validator_served.js`, `work/PREREGISTRATION_bm.md`.
