# RESULT — 056 crossencoder-contrast (EXT: does cross-attention buy binding?)

**Tier: T3-exploratory.** Self-harvested in-session 2026-08-03. GPU phys0 (CVD=0) only,
hard-guarded (35 MiB at claim and at exit); tmux c100_056; smoke passed (incl. G4 mask
certification), smoke artifacts deleted, full run launched 12:40:59, DONE 12:43:07 UTC
(~2 min wall + battery 86 s), 0 errors. Models: `cross-encoder/ms-marco-MiniLM-L-6-v2`
(reranker, full cross-attention) vs `sentence-transformers/all-MiniLM-L6-v2` (051's
bi-encoder, cosine) — same MiniLM backbone family, zero-shot, deterministic scoring.

## Verdict (one line)
**Cross-attention does NOT buy binding — it buys construction-specific surface/proximity
matching. The SIXTH NO of the arc, and the sharpest: the reranker beats the bi-encoder only
where surface parity agrees (congruent 0.858 vs 0.683); on parity-flipped pairs it is BELOW
chance (0.468 vs BI 0.520) — it actively prefers the role-SWAPPED candidate whose word order
matches the query; its QA competence is a construction lookup (active/cleft/passive 0.99–1.00,
object-relative 0.09) not role reading; no layer or head localizes a role-sensitive interaction
(max single-head Δ = 0.025; early-layer cross-masks IMPROVE incongruent accuracy by removing
the surface-matching signal); and its pooled CLS is emptier than the same backbone's ST
finetune (ap within 0.511/0.565 vs MiniLM-ST 0.556/0.587; surface cells ~0.509 vs 0.52–0.54)
— reranker finetuning moves everything into the interaction, and the interaction is
surface-driven.**

## What actually ran
Pair sets from `stimuli_v2` agent_patient (2000 items, 5 families, both orders; seed 0):
**R-decl** 8000 cross-family forced choices (c+ = same roles, c− = role swap, identical bag of
words; 4800 surface-incongruent = binding-sensitive primary), **R-qa** 2000 ("Who <verb> the
<patient>?" vs the two order-variants per family), **L-lex** 2000 (patient noun swapped —
lexical control), **S-scram** 2000 (scrambled null). Localization: additive −1e9 attention-bias
lesions on eager BERT attention (segments = token_type_ids): cross-mask / within-mask, per
layer (6) + all, on 2000 R-decl + 1000 L-lex stratified subsamples; head cell = cross-mask per
head (72) on 600 incongruent + 600 lex. Cell (d): stimuli_v2 battery UNCHANGED (051 machinery,
agent_patient + genitive, linear+mlp, seeds 0,1,2, n_boot 1000) on CE CLS single-sentence
states. Artifacts in `out/`: results_{bi,ce_base,ce_masks,ce_heads}.json,
binding_battery_ce_cls.json, BATTERY_RESULTS_056.md, posthoc_qa_byfam.json, run.log.

## Headline numbers
### Behavioral (acc; ties=0 everywhere)
| task | bi-encoder | cross-encoder |
|---|---|---|
| R-decl full (8000) | 0.585 | 0.624 |
| R-decl **congruent** (3200) | 0.683 | **0.858** |
| R-decl **incongruent** (4800, primary) | 0.520 | **0.468 (below chance)** |
| R-qa full (2000) | 0.790 | 0.766 |
| L-lex control (G1) | **1.000** | **1.000** |
| S-scram null (G2) | 0.737 | 0.828 |

- The CE's entire R-decl advantage is surface: congruent−incongruent gap **0.39** (BI 0.16).
  Below-chance incongruent = it *prefers the role-swap* when word order matches the query.
- **Post-hoc (flagged, exploratory) — QA by candidate family**: CE active 0.99, cleft 0.99,
  passive **1.00**, nominal 0.76, **objrel 0.0875**; BI 0.81/1.00/1.00/0.63/0.52. The CE has
  learned specific construction mappings (incl. perfect passive-alternation handling — well
  inside MS-MARCO's distribution) but inverts catastrophically on object-relatives, where
  query-term proximity favors the wrong candidate ("...whom the pilot sued..." matches "Who
  sued the pilot?"). Construction lookup + proximity matching, not binding.
- CE R-decl by family pair spans 0.985 (active→nominal) to **0.19** (cleft→objrel).

### Localization (CE; baseline incong 0.479 / cong 0.849 / lex 1.000 on subsamples)
| condition | incong | cong | lex |
|---|---|---|---|
| cross-mask L0 / L1 / L3 | 0.587 / **0.607** / 0.587 | 0.843 / 0.824 / 0.881 | 1.0 / 1.0 / 1.0 |
| cross-mask L2 / L4 / L5 | 0.454 / 0.413 / 0.435 | 0.873 / 0.824 / 0.854 | 1.0 / 1.0 / 1.0 |
| cross-mask ALL | 0.500 (ties) | 0.500 (ties) | 0.500 (ties) |
| within-mask L0–L5 | 0.327–0.481 | 0.746–0.796 | ≥0.999 |
| within-mask ALL | 0.429 | 0.578 | 0.991 |

- **There is no role-sensitive interaction to localize.** What localizes is the SURFACE
  matcher: masking early/mid cross-attention (L0/L1/L3) *raises* incongruent accuracy toward
  and past chance (0.48→0.59–0.61) — those layers carry the order-matching bias — while L4/L5
  masks deepen the inversion slightly.
- **Lexical matching is fully redundant across layers**: lex stays 1.000 under every
  single-layer mask (either family) and only dies when ALL cross-attention is cut (score
  becomes candidate-invariant: median margin ratio 0.0 = G4 mechanical certification).
- **Head cell: nothing.** Max Δrole-incong = 0.025 (L4H5, L4H11), max Δlex ≈ 0.007; top-5
  role vs lex head sets overlap 0/5 but all deltas are noise-level. Surface matching is
  distributed; no binding head exists.

### Battery on CE pooled CLS (cell d; strict verdict INSTRUMENT_FAILURE, expected)
| rep | ap within (lin/mlp) | ap primary [CI] | ap surf-cross | gen within | z_bag |
|---|---|---|---|---|---|
| CE CLS | 0.511/0.565 | 0.484 [0.468,0.497] | 0.509 | 0.529/0.582 | 0.500 |
| MiniLM-ST (051 anchor) | 0.556/0.587 | 0.504 [0.49,0.52] | 0.518 | 0.606/0.657 | 0.500 |

Reranker finetuning *reduces* the already-weak pooled role/surface code below the ST finetune
of the same backbone — consistent with all discriminative signal living in the interaction.

## Gates
G1 lex power: 1.000/1.000 PASS (role claims certified in-regime, lesson 5). G2 scram 0.828
PASS. G3 tie fraction 0.000 PASS. G4 mask machinery: cross-all margin ratio 0.0
(candidate-invariant), single-layer masks alter scores — PASS (certified at smoke and
reproduced full). G5 z_bag 0.500/0.4999 PASS; smoke artifacts deleted pre-full.

## Brier vs frozen PREREG_LITE predictions
| pred | p | outcome | Brier |
|---|---|---|---|
| P1 CE incong ≥ 0.70 | .55 | **F** (0.468) | 0.3025 |
| P2 BI surface reader (gap ≥0.10, incong ≤0.55) | .70 | T (0.163, 0.520) | 0.09 |
| P3 CE−BI ≥ +0.15 on R-qa | .70 | **F** (−0.024) | 0.49 |
| P4 role-specific layer (Δincong ≥0.10, Δlex ≤0.05) | .50 | F (max drop 0.066) | 0.25 |
| P5 cross-all hurts role more than within-all | .70 | **F** (full: 0.127 vs 0.139; incong: −0.021 vs +0.050) | 0.49 |
| P6 CE-CLS battery in 051 regime | .75 | T | 0.0625 |

**Brier = 0.281 (6 preds)** — the worst-calibrated row of the arc, and honestly so: the
"rerankers handle role-sensitive queries far better behaviorally" folklore that motivated the
row is FALSE on symmetric-plausibility role-swap stimuli. P3/P5 missed because the premise
(there is role competence in the interaction to detect/lesion) was itself wrong.

## What did NOT run / limitations
- Single reranker; claims attach to `cross-encoder/ms-marco-MiniLM-L-6-v2` zero-shot. Larger/
  modern rerankers (bge-reranker, monoT5, LLM rerankers) untested.
- R-decl (declarative query → declarative candidate) is out-of-distribution for a MS-MARCO
  reranker; the in-distribution R-qa cell shows the same construction-lookup pattern, so the
  conclusion does not rest on the OOD cell.
- Nominal-family candidate pairs differ in possessive-clitic placement ('s attaches to the
  other noun); bags identical at WordPiece level, noted.
- Head cell ablates only the cross-segment component of each head (per prereg), not whole
  heads; QA-by-family table is post-hoc.
- No causal-circuit claim; lesion deltas only. T3.

## Follow-up worth funding? **Y (narrow, fold-in)**
One cell, not a row: run R-decl-incongruent + QA-objrel on one strong modern reranker
(bge-reranker-v2-m3 or an LLM judge-scorer) to test whether the below-chance surface inversion
is a MiniLM-capacity artifact or a general property of relevance-trained cross-attention; plus
promote the objrel QA inversion into the battery as a standing behavioral cell.
