# Epoch crosswalk, HLE batch 2 (v2): aggregate score pack

Re-analysis of the batch-1 HLE items with a within-question design; same data, not a replication.
This is version 2 of the batch-2 plan; version 1 was not run because it failed its own synthetic check.
Pre-registration: PREREG_HLE_B2_v2.md, LOCKED 2026-10-28 06:15 MDT, sha256
fabb2cc3dcf571d2b412f0d221404529cef9b4c798cc98993cd6ade6b0973680 (not included in this pack).
Scored 2026-10-28 06:38–06:46 MDT on CPU (nice 19 / ionice -c3). Aggregates only: no item, question or answer text.

## Verdicts (v1 §9 table, per arm; alpha 0.025 per arm)
| Arm | Planted cue (f 0.75, 350 of 467 questions) | Shuffle control | Primary (pooled, 6 cells, n_perm 600) | Arm verdict |
|---|---|---|---|---|
| G (grouped, 3,164 options, 467 questions) | DISQUALIFIED 4/4 (A*_G 0.690–0.703, adj p 0.005) | PASS (worst lexicality A*_G 0.538, adj p 0.1614) | worst length/_all A*_G 0.539, raw p 0.0083, adj p 0.0466 | **PASS, BORDERLINE** (0.0125 ≤ adj p < 0.05) |
| P (keyed vs one wrong, 467 pairs) | DISQUALIFIED 4/4 (A*_pair 0.698–0.716, adj p 0.005) | PASS (worst shape A*_pair 0.529, adj p 0.7488) | worst length/_all A*_pair 0.543, raw p 0.0582, adj p 0.2962 | **PASS** |

**Batch-2 v2 verdict: PASS** (no within-question surface cue detected at this n). The method was validated only on a
one-character cue planted on the keyed answer in 75% of questions; weaker cues may be missed.

## Secondary (localisation only; never changes the verdict; 54 cells = 6 pooled + 6 probes x 8 categories, n_perm 4400)
- Arm G: 1 flagged cell: **length / Math** (83 questions), A*_G 0.619, raw p 0.0005, adj p 0.0241 (< 0.025), BORDERLINE flag true.
- Arm P: no flagged cell. Worst length / Math (83 pairs), A*_pair 0.602, raw p 0.0527, adj p 0.8684.

## Length caveat
The `length` probe (option character count) is the worst primary cell in **both** arms, and arm G's primary is
BORDERLINE on it (adj p 0.0466, above the 0.025 decision line). In arm G's pooled data W is below 0.5 in every
option-count band (k=5: 0.455, 6–9: 0.472, 10+: 0.465; descriptive), i.e. keyed options tend to rank longer than the
wrong options of the same question. The arm-G secondary localises it to Math. Arm P (one random wrong option per
question) does not reach significance (adj p 0.2962 pooled, 0.8684 for Math). This is a weak, borderline length
tilt, not a detected cue under the pre-registered rule; it is reported, not tested further, and it cannot be
confirmed on these same items.

## Deviations taken during the run
- D6 (DEVIATION_D6_ARM_P_STRATUM.md): arm P's planted, shuffle and primary runs use `--stratum-key none`, because
  the CLI otherwise auto-stratifies by category (54 cells) instead of §4's pooled 6-cell primary that the gate validated.
  Decided by Abe 06:35 MDT, written 06:37:41 MDT, before any score file existed.
- D7 (DEVIATION_D7_ARM_P_SECONDARY.md): the arm-P secondary is run exactly as §4 orders (`--stratum-key category`).
  Clarified by Abe 06:44 MDT, written 06:45:05 MDT, before that run.

## Files
- scores/*.json: one --json report per run (planted_{G,P}_s0–s3, shuffle_{G,P}, primary_{G,P}, secondary_{G,P}).
- scores/SHA256SUMS_scores.txt: hashes of the score reports and logs/SCORE_RUN.log (verify from the pack root).
- logs/SCORE_RUN.log: commands, start/end times (DGX clock, MST = MDT − 1 h), exit codes (1 = DISQUALIFIED), output hashes.
- DEVIATION_D6/D7 with .sha256 files. SHA256SUMS: every file in this pack.
