# ───────────────────────────────────────────────────────────────────────────── # arms_gun_b4.txt — PHASE 2 BATCH 2 of the GUN campaign: higher-power # confirmation of the Batch-1 `len6` wins signal, on the wider 33-opponent # panel, with the bearing-invariant `rad_offset` as a structural control. # # Format: name | ENV=value ENV=value | label # # ONE frozen binary (tournament_run.sh builds it from `git archive HEAD`); every # arm below differs ONLY by its env dict. No per-arm rebuild. # # MOVEMENT IS PINNED IN EVERY ARM (`TR_MOVEMENT=strafe`) — same rationale as # Batch 1 (movement-default / concurrent-job hygiene + analyzer liveness rule). # # Why `rad_offset` is here: job j99 proved exactly that the radial correction # changes only the aim DISTANCE and leaves the BEARING untouched, so it cannot # move the real shot direction; its live effect was a tie (+0.28 pp, p=0.62). In # Batch 1 it nonetheless showed +0.42 wins/run (sign test p=0.065) — and so did # ALL five arms, including this structural no-op. If it repeats the nominal wins # gain on 33 opponents, the Batch-1 wins signal is a session-level reference # anomaly rather than a gun effect. # ───────────────────────────────────────────────────────────────────────────── # 1. REFERENCE. The shipped `onlyPattern` rack, movement pinned, no shape env. pattern | TR_MOVEMENT=strafe | shipped onlyPattern rack (REFERENCE) # 2. The Batch-1 candidate: 6-tick match key (+0.49 wins/run on 15 opponents). len6 | TR_MOVEMENT=strafe TR_PATTERN_LEN=6 | match key = 6 ticks (Batch-1 candidate) # 3. Dose-response on the key-length axis. len16 | TR_MOVEMENT=strafe TR_PATTERN_LEN=16 | match key = 16 ticks # 4. STRUCTURAL POSITIVE CONTROL: bearing-invariant radial knob; cannot change # the real aim direction (job j99), so a hits/wins gain here is an artifact. rad_offset | TR_MOVEMENT=strafe TR_PATTERN_RAD_OFFSET=-20 | structural control: aim short 20 px