# RESULT — 037 anisotropy-audit

**Tier: T3-exploratory.** CPU-only (no GPU claim; `CUDA_VISIBLE_DEVICES=""` hard-set). tmux `c100_037`,
box `037-anisotropy-audit/`, ~45 s wall. Reused existing z (NO re-encode). Self-harvested in-session.

## Verdict
★ **CLEAN ROBUSTNESS CERTIFICATE.** All four audited headline measurements **SURVIVE** common-direction
removal (mean-centering + all-but-the-top-k PC removal, k∈{1,3,10}). Nothing flips. The reason is itself
the finding: **SONAR z-space is nearly ISOTROPIC** — not the strongly-anisotropic regime that motivates
the audit. This closes the anisotropy-confound worry for the campaign and re-frames 036's caveat: 036's
withdrawn norm↔density figure was a **raw-Euclidean / norm-scale** confound, **not** a classic
dominant-direction (mean/top-PC) anisotropy.

## 1. Anisotropy characterization (Corpus A = 031 z, n=29,029 diverse SONAR sentences)
| metric | value | reading |
|---|---|---|
| Ethayarajh mean pairwise cosine (raw) | **0.068** | near-isotropic (cf. BERT ~0.6, GPT-2 ~0.8) |
| mean pairwise cosine (centered) | −0.001 | perfectly isotropic after removing μ |
| top-1 PC explained var (dominant-direction frac) | **0.033** | no dominant direction (uniform=0.001) |
| top-3 / top-10 / top-20 cumulative EVR | 0.074 / 0.138 / 0.190 | variance spread across many dims |
| ‖μ‖ | 0.0574 | small |
| ‖μ‖ / mean‖z‖ | **0.256** | mean is ~26% of a typical norm (modest) |
| ‖μ‖ / mean‖z−μ‖ | 0.265 | mean < typical centered spread |

**`strong_anisotropy` = False** (brief criterion: top-1 EVR>0.15 OR ‖μ‖>mean centered norm — neither holds).
The mean IS the single most prominent common direction (**G_control: cos(μ̂, uncentered-PC1)=0.992**), but it
is small in absolute magnitude. So SONAR z has a real-but-modest mean offset and no dominant PC.

## 2. Normalizations
Global directions (μ + top-50 PCs) fit ONCE on Corpus A, applied everywhere. Modes: `raw`, `center` (z−μ),
`abtt{1,3,10}` (Mu & Viswanath all-but-the-top-k: remove top-k centered PCs). **A-priori invariances
(pre-registered):** mean-centering is a *no-op* for kNN/local-ID (distances), for offsets (differences),
and for the standardized linear probe (per-feature mean absorbed) — verified numerically (center==raw
exactly). The substantive test everywhere except 036-norm is therefore **top-PC removal (ABTT)**.

## 3. SURVIVES/FLIPS table

### (a) Binding surface-vs-role — the campaign's central claim → **SURVIVES**
agent_patient, linear, 350 props/3500 items, 0 missing embs. Reproduces the original stimuli_v2 battery
(within 0.75 vs 0.78 · cross 0.47 vs 0.466 · flipped 0.29 vs 0.282 · genitive-within 0.80 vs 0.83).

| mode | within-role | surface | cross-role (all) | same-parity | flipped-parity |
|---|---|---|---|---|---|
| raw / center | 0.746 | 0.695 | 0.470 | 0.738 | **0.291** |
| abtt1 | 0.745 | 0.695 | 0.470 | 0.737 | 0.291 |
| abtt3 | 0.752 | 0.695 | 0.469 | 0.739 | 0.289 |
| abtt10 | 0.756 | 0.698 | 0.469 | 0.740 | **0.288** |

The signature "**surface code present, thematic role absent**" is invariant to ≤4 decimal places under all
normalizations: role decodable within-construction (0.75) but cross-construction pooled at chance (0.47);
the probe **anti-transfers** on parity-flipped families (flipped 0.29 ≪ 0.5) — the smoking gun that it
reads *surface position*, not role; genitive positive control retains power (within 0.80). Removing SONAR's
common directions neither manufactures role-binding nor destroys the surface code. **Robust.**

### (b) 033/034 offset operators → **SURVIVES** (operators are NOT riding anisotropy)
Global offset vectors (035): tense/number/negation/question/compose. No operator is substantially aligned
with any top-10 PC or with μ (**max alignment 0.22**, n_aligned at cos>0.3 = **0**). Each offset survives
top-10-PC removal near-intact (cos(offset, offset_ABTT10) 0.93–0.98; ≤13% of energy in the top-10 subspace).
The negation/tense/number/question/compose directions live in the isotropic bulk, not the anisotropy.

### (c) 036 norm↔specificity → **SURVIVES** mean-centering the norm
Corpus B (021, n=1500). Specificity-beyond-length partials, raw ‖z‖ → centered ‖z−μ_global‖:
gpt2-ppl partial **+0.406 → +0.387**; NE/number partial **+0.322 → +0.364** (both keep sign & magnitude;
‖z−μ_B‖ gives +0.382 / +0.369). The norm↔specificity signal is **not** a mean-offset artifact — it lives
in the spread/direction, consistent with 036's own finding that meaning rides z's direction.

### (d) 031 local-id length-ordering → **SURVIVES** (both mean-centering and ABTT)
Stratified 6000-point subsample (2000/length-bin), MLE-ID k=20. short<med<long **monotone in every mode**:
raw 32.2/47.5/63.2 = center (no-op gate ✓) → abtt10 40.0/58.0/76.7 (magnitudes inflate under PC removal but
ordering intact). Length inhomogeneity of intrinsic dim is not an anisotropy artifact.

## Gates — ALL PASS
- **G_pca**: EVR over 1024 dims sums to 1.0; ABTT reconstruction exact (max|err| 3e-18).
- **G_control** (known-anisotropic): μ̂ is the uncentered top PC, cos 0.992.
- **G_scale**: battery emb mean-norm 0.2256 ≈ Corpus-A mean-norm 0.2245 → same SONAR z-space; 0 missing embs.
- **G_probe_power**: genitive within-role 0.80 (>0.7) — instrument has power under raw & all ABTT modes.
- **no-op gate**: center==raw exactly for local-ID and binding (confirms the pre-registered invariance).

## Predictions (frozen in PREREG_LITE) & Brier
| pred | statement | p | outcome | why |
|---|---|---|---|---|
| a | SONAR z strongly anisotropic (top-1>0.15 OR ‖μ‖>centered norm) | 0.70 | **FALSE** | near-isotropic (top-1 0.033, mean-cos 0.068) |
| b | binding surface/role pattern survives ABTT | 0.85 | **TRUE** | flat to 3 decimals across modes |
| c | ≥1 offset aligned to a top PC (cos>0.3) | 0.50 | **FALSE** | max alignment 0.22 |
| d | local-id length-ordering survives mean-centering | 0.90 | **TRUE** | identical (no-op), monotone |

**Brier (a,b,c,d) = 0.1931.** Dominant penalty = **(a)**: I over-weighted the transformer-embedding prior
(BERT/GPT are strongly anisotropic); SONAR — trained as an MT/denoising sentence encoder — is not. (c) also
missed in the same direction (operators sit in the isotropic bulk). The two misses are the *same* honest
surprise: SONAR z is far more isotropic than the sentence-embedding literature would suggest.

## Limitations / what did NOT run
- Global anisotropy directions fit on Corpus A (diverse 29k) and transferred to the battery/021 corpora
  (justified: same SONAR z-space, norms match). Not re-fit per corpus (would conflate template structure).
- Binding: linear readout, 1 seed, 350-prop subsample (reproduces the 3-seed full-battery numbers closely);
  MLP readout and lexical-holdout cell not re-run under normalization (linear is the load-bearing cell).
- ABTT is PC *removal* (postprocessing), not full ZCA whitening/rescaling; full whitening would inflate the
  tail dims and is the more aggressive test — not run (removal is the standard anisotropy fix and sufficient
  here given the flat top spectrum).
- Local-ID absolute values remain off the estimator's calibration scale (031's known caveat inherited); only
  the *ordering* is claimed. Offset alignment uses the templated global offsets (035), not per-corpus re-fits.

## Follow-up worth funding? **Weak-Y (as a certificate, not a new hunt).**
The valuable output is the certificate itself: *SONAR z is near-isotropic, so campaign geometry results are
not basis-artifacts, and the correct confound to police is norm-scale/raw-Euclidean density (036 lesson),
not classic anisotropy.* Narrow extensions: full ZCA-whitening stress test (does inflating tail dims break
anything?) and re-running 040 (whitening-robustness) can now cite this μ+PC fit as the shared normalization.
