# n46b — pre-registration: the infrared gate (written after n46's 2D form
# gate fired on a UV-contaminated reference, BEFORE any n46b code)

n46 status inherited: 1D all gates PASS (attraction, machine-exact Green,
F^2 exact). 2D SIGN PASS; 2D FORM as registered FAIL at 0.96% vs 0.5% —
post-hoc diagnostic shows V = (1/2) c^T W^+ c exactly (W = A G^-1 A^T),
with W having an exact zero mode at the staggered point and apparently
quadratic dispersion. The registered reference (bare-Laplacian torus
Green) demanded the wrong UV completion. Lesson of the headstone-18
family: register the IR statement, not a UV-contaminated proxy. This
file registers the IR statement.

## Claim under test
The information-metric drainage interaction is INFRARED Coulomb in 2D
and 3D with attractive sign: the dressed operator W has (i) an exact
zero mode at the staggered point (Gauss sector), (ii) quadratic
dispersion W(q') = S q'^2 (1 + o(1)) with finite stiffness S, and
(iii) positive interaction slope. The UV dressing at lattice distances
is declared physics of the toy, not a violation.

## Method (all-Fourier; no dense metric build needed)
Translation invariance makes G block-diagonal in q (dim x dim blocks
over edge orientations), computable from the closed-form dispersion
w_k = sqrt(lattice Laplacian eigenvalue + mu^2) — no diagonalization.
W's symbol: Whate(q) = sum_ab Ahat_a(q) [Ghat(q)^-1]_ab Ahat_b(q)*.
V(d) via FFT of 1/Whate (zero mode removed).

## Gates
- V0 (validity): the Fourier pipeline must reproduce n46's direct-build
  2D V(d) to rel. error < 1e-8 on all 11 vectors. Fails -> fix before
  anything else is read.
- IR1 (zero mode): |W(staggered point)| < 1e-10 x max W, in 2D and 3D.
- IR2 (quadratic dispersion): S(q') = W(q')/q'^2 along the axis from the
  staggered point at the two smallest momenta of an L=96 lattice (2D)
  and L=24 (3D): |S(q'_1)/S(q'_2) - 1| < 5%. Convergence in L:
  |S_min(L=96)/S_min(L=48) - 1| < 2% (2D).
- SIGN (3D): slope b > 0 for V(d) vs the bare 3D torus Green on the n41
  3D displacement set, L=12 (sign is dressing-robust; the bare reference
  is only a monotone ruler here).
- DEATH: IR1 or IR2 fails in either dimension, or 3D sign b < 0.
  Attraction in 1D/2D with 3D repulsion = no dimensional amnesty.
- Report (not gated): the dressed stiffness S in 2D and 3D — this is
  the toy's 1/G_N, the first number of the program's "constants" step.

## Declared limitations
- The Fourier kern pairing (complex plane waves vs the real eigenbasis
  of the direct build) is validated empirically by V0, not proven here.
- mu = 1e-3 IR cutoff: momenta probed sit well above it (2pi/96 >> mu
  is FALSE — 0.065 vs 0.001, fine: 65x above).
- The UV dressing profile itself is not gated; it is reported.

## RESULTS (same day; script n46b_infrared.py)
- V0 PASS: 4.8e-15 after two bugs in the Fourier pipeline were found by
  this very gate (a convolution/correlation momentum-pairing error that
  hid on symmetric q-points, then a conjugate on the wrong einsum index
  that made the analytic block the Hermitian transpose of the true one).
  The gate did exactly what it was registered to do.
- IR1 PASS, both dimensions: |W(staggered)|/max ~ 1e-32 (exact zero mode).
- IR2 2D PASS: ratio-1 = 0.0024 at L=96 (gate 5%); stiffness convergence
  0.0023 (gate 2%). S_2D = 202.44.
- IR2 3D at the REGISTERED lattice (L=24): FAIL — 5.79% vs 5%.
  Recorded as fired. FLAGGED EXTENSION (single-q sums, run after):
  L=48: 1.45%; L=96: 0.36% — clean 1/L^2 finite-size convergence,
  S_3D -> 493.4. The registered L was miscalibrated (2D was granted
  L=96; 3D was pinned at L=24 where q1 is coarse), not the physics.
- 3D SIGN PASS: b = +1.58e-4, ATTRACTIVE.
Verdict: the information-metric drainage is infrared Coulomb with
attractive sign in 1D, 2D and 3D. The dressed stiffness — the toy's
1/G_N — is S = 202.4 (2D) and 493.4 (3D) in bare-lattice units. Gravity's
sign is no longer borrowed: it is the convexity of the vacuum's own
information geometry. Remaining honestly open: the L=24 3D dispersion
gate fired as registered and its clean-L replication is an extension,
not a pre-registered pass; a referee may demand n46c at L=96 registered
in advance (trivial to run; the numbers above are already there).
