# 097 pooling-symmetrization — RESULT

**Tier T3-explanatory.** Deliverables: THEORY.md (derivation), src/pooling_sym.py (numerical
validation), out/{results.json,run.log}, this file (verdict + Brier). CPU/local (numpy via
`uv run`), no GPU, no box, no tmux. Run wall ≈ 30 s + two supplementary sweeps; self-harvested
inline (WATCHER RULE (a)).

## What we did
Toy self-attention encoder (numpy). To ISOLATE the smuggling channel we pool over **permutations
of a FIXED multiset** — the bag-of-words is identical across all orderings, so ANY order recovered
from the pooled vector must have been smuggled through the contextual states. One attention layer,
residual, relative-position bias `b(δ)=−λ|δ|+μ·sign(δ)` (μ = antisymmetric/directional part).
Encoders: `static` (h=e, order-blind baseline), `ctx_content` (b=0, content-only), `ctx_symm`
(μ=0, symmetric bias), `contextual` (directional), `poscontrol` (position-scaled embeddings =
probe-power certifier). Probes: logistic regression (numpy, tie-corrected AUC) on the pooled vector.

## Headline
> **Mean-pool = the Reynolds operator over positions: on STATIC states it destroys order EXACTLY
> (bag-of-words only). On CONTEXTUAL states an order channel survives — but ONLY the part injected
> by the relative-position bias, it is LOW-RANK (~4 dims ≪ 64, ≪ 720 orderings), its directional
> component requires the ANTISYMMETRIC bias, and it is stored ENTANGLED WITH CONTENT: order is
> recoverable per-instance yet there is NO content-independent global "who-is-first" linear axis.
> This reproduces 004 (reorderable, τ≈0.45, but no clean linear global-order probe), 073 (local not
> global role), and identifies 096's weak residual g=β(e_a−e_p) as exactly this channel.**

## Numbers (μ=0.9, d=64, V=40, n=6, H=4; AUC, chance=0.5)
| encoder | before (directional) | adjacent | firsthalf (abs pos) | shuffle-dispersion |
|---|---|---|---|---|
| **static** (bag) | 0.517 | 0.500 | 0.529 | **6.5e-16** (exact 0) |
| **ctx_content** (b=0) | 0.513 | 0.500 | 0.509 | **6.7e-16** (exact 0) |
| **ctx_symm** (μ=0) | 0.510 | **0.765** | 0.484 | — |
| **contextual** (μ=0.9) | **1.000** | 0.531 | **1.000** | **0.235** |
| **poscontrol** (power) | 1.000 | 0.493 | 1.000 | — |

- **Static & content-only pools are order-blind to machine precision** (dispersion ≈6e-16; AUCs
  ≈chance). Contextualization WITHOUT a positional bias smuggles NOTHING — order survives only
  through the relative-position bias. (G-static-zero ✔, G-content-only-null ✔.)
- **Shuffle signature**: contextual pool differs across permutations of the same bag
  (dispersion 0.235 ≫ 0) — the smuggling channel is real and measurable. (G-shuffle-signature ✔.)
- **Directional order needs the antisymmetric bias**: `ctx_symm` (μ=0) reads adjacency well
  (0.765) but is at CHANCE on direction (before 0.510); adding the directional term (`contextual`)
  makes before/firsthalf perfect. The `b_a` (sign) term is the AB↔BA discriminator, as derived.
- **Probe power certified**: `poscontrol` recovers order/position at AUC 1.0 → the nulls (static,
  ctx_content, cross-pair below) are genuine, not underpowered. (G-probe-power ✔.)

## Low-rank capacity
PCA of the pooled residual `z − bag` over permutations of a fixed bag: **PCs to 90% variance =
4.10** for `contextual` (vs **1.00** for `ctx_content` — a single PC = the invariant bag). So the
order-carrying subspace is ~4 dimensions ≪ d=64 and ≪ the 720 possible orderings — **low-rank /
small-capacity, as derived.** H-sweep (supplementary): rank is **flat ≈4.1 across H=1,2,4,8,16** —
it is set by the (shared) relative-bias profile × sequence length, **NOT** the head count. The
pre-registered "rank tracks #heads" was the wrong knob (heads add rank only with *distinct* bias
profiles); the load-bearing low-rank claim holds.

## Content-entanglement — the 004 signature (transfer test)
Predict `before(a,b)` under three regimes (contextual encoder):
| regime | AUC |
|---|---|
| within-bag (same content, held-out permutations) | **0.977** |
| cross-context, FIXED token pair, new surrounding tokens | **0.962** |
| cross-PAIR, DIFFERENT random token pair per bag, ONE global probe | **0.491 (chance)** |

Order is fully recoverable per-instance and even robust to surrounding CONTEXT for a fixed pair
(the g=β(e_a−e_b) direction is content-robust — 096-consistent). But a single content-blind linear
probe CANNOT read order across *varying token pairs* (0.491) — **there is no global order axis.**
This is exactly 004: z reorders a bag (order present) yet the canonical linear surface-position
probe reads order *below* baseline (no global axis). `poscontrol` cross-pair is also ≈chance (0.513)
— even an explicit position code, once pooled, has no content-independent axis, confirming the
effect is intrinsic to symmetrization, not to our encoder.

## β (μ) dependence and the weak regime (SONAR's regime)
`before` AUC vs directional strength μ: **0.49 (μ=0) → 0.91 (μ=0.2) → 1.00 (μ≥0.4)** — order
recovery is **monotone in β**, and ZERO at μ=0 (order requires the directional bias). Structure vs
μ (supplementary): at LOW β (μ=0.1) recovery is PARTIAL and undirected adjacency (0.714) slightly
leads directional/absolute (0.704/0.660); as β grows, directional+absolute saturate to 1.0 while
adjacency DROPS to 0.51 (a strong directional channel de-emphasizes the specific-pair adjacency
readout). SONAR sits in the WEAK-β / PARTIAL regime (004's τ≈0.45, 096's weak residual), where the
channel is a small, low-rank, content-entangled slice — matching the campaign's "order present but
fragile / not a clean axis."

## Gates
- G-static-zero (baseline order-blind, dispersion<1e-6): **PASS** (6.5e-16).
- G-shuffle-signature (contextual differs; contextual≫static on order): **PASS** (0.235; before 1.0 vs 0.517).
- G-content-only-null (b=0 → order dies): **PASS** (6.7e-16; AUCs ≈chance).
- G-probe-power (poscontrol recovers order): **PASS** (AUC 1.0) → nulls are genuine.

## Brier (prereg-lite predictions)
| # | prediction | p | outcome | Brier |
|---|---|---|---|---|
| P1 | static pool order-blind to precision (disp<1e-6) | 0.97 | **T** (6.5e-16) | 0.0009 |
| P2 | contextual recovers order ≫ static (chance) | 0.90 | **T** (1.0 vs 0.517; within-bag 0.977) | 0.010 |
| P3 | adjacency/relative ≫ global-absolute-position *within bag* | 0.65 | **F** — with strong β, absolute pos is derivable from full order (firsthalf 1.0 ≥ adjacent); the real split is per-instance-vs-content-independent-axis, not local-vs-global | 0.423 |
| P4 | directional order carried by ANTISYMMETRIC bias; symmetric-only keeps adjacency, loses direction | 0.60 | **T** (ctx_symm before 0.510 / adjacent 0.765; contextual before 1.0) | 0.160 |
| P5 | order subspace low-rank & rank∝#heads & recovery monotone in β | 0.60 | **PARTIAL (0.5)** — low-rank ✔ (≈4≪64) & β-monotone ✔, but rank FLAT in #heads (shared bias) | 0.010 |
| **mean** | | | | **0.121** |

The miss is **P3** (like 096's P2 — a mis-called *variable*, not a broken mechanism): I framed the
surviving/dying split as local-vs-global *within a fixed bag*; the validation shows the correct
split is **per-instance-recoverable (survives) vs content-independent-global-linear-axis
(destroyed)** — the actual 004/073 signature, now cleanly reproduced (cross-pair AUC 0.491). THEORY
§3 and §4 were revised post-validation to state this and to correct the rank-∝-heads sub-clause.

## Ties to prior rows
- **096:** g=β(e_a−e_p) IS this smuggling channel in a 2-token world; μ↔β; order recovery monotone
  in μ mirrors 096's V\* moving with β. 097 = *what the channel carries*; 096 = *when it is read*.
- **004:** within-bag reorderable (0.977) + no global linear axis (cross-pair 0.491) reproduces
  τ≈0.45-with-surface-cross-below-baseline exactly.
- **066:** the order slice is low-rank (~4 dims) and β-scaled — a small fraction of the ~460-bit
  budget, most of which is bag/semantic content.
- **011–020/073:** local role / no global role code = the content-entanglement result.

## Honest limits (T3)
Toy single-layer linear-attention encoder, NOT SONAR's 24-layer nonlinear encoder + final LN;
"survives" = information present in z_ctx and linearly recoverable in the toy. A shared relative-bias
across heads (hence the flat-in-H rank); distinct per-head biases would raise the rank cap toward
`H·L`. No real-SONAR contextual-state probe (stated follow-up). n=6, one architecture; β-regime
mapped but not calibrated to SONAR's actual surviving-order SNR.

## Follow-up worth funding? **Yes, narrow.**
Cheap, sharp real-SONAR test of the two robust claims: (i) extract encoder contextual states
(011–020 rows already did this), mean-pool, and show order recovery is **per-instance yes / global
linear axis no** (the cross-pair AUC≈chance vs within-bag high contrast) — a direct check of the
content-entanglement mechanism; (ii) confirm the surviving-order subspace is **low-rank** (top-few
PCs of `z−bag` over shuffles capture the order variance) and small-amplitude, tying its strength to
096's V\* threshold (manipulating the surviving order signal should move 006's knee — the 096↔097
link). Both reuse existing extracted states; no training.

**UPDATE (H3, `consolidation/H3-theory-real-sonar/`): this follow-up was RUN on real SONAR.**
Verdict: mechanism CONFIRMED — static bag pool order-blind (shuffle 5e-7); real contextual z
within-bag order 0.997 vs global/cross-pair 0.52 (per-instance yes / no global axis); reversal-odd
component carries role (0.85) while even is blind (0.50); cross-construction role transfer below
chance (0.26–0.35) = binding cell reproduced; β rises late (L20–L24, ×6 at final LN). One
quantitative revision: order subspace is MODERATE-rank on real SONAR (~23 PCs to 90%, not the toy's
~4; still ≪1024 & ≪n!). Real-SONAR Brier 0.139. See H3 RESULT.md / THEORY_UPDATE.md.
