# ───────────────────────────────────────────────────────────────────────────── # arms_gun_b2.txt — BATCH 2 of the GUN campaign: a WIDER-PANEL calibration of the # two arms that carried the only nominal positive signal in Batch 1. # # Batch 1 (docs/gun_campaign.md, 15-opponent frozen panel, 270 battles) found NO # arm beating the shipped `pattern` beyond the MDE, but two arms sat on the # positive side of damage with a flat win count: # BitBrain Δdmg +10.3 (11/15 opponents, sign test p=0.1185, sign-flip # p=0.0325), Δwins +0.11 (MDE 0.35) # TMHorizon Δdmg +8.7 (11/15, p=0.1185, sign-flip p=0.0992), Δwins +0.13 # Both damage effects are BELOW the Batch-1 MDE (~12-14 dmg/run), so rule 3 says # they are not detectable — they must not be called a win OR a null. Resolving # them needs more OPPONENTS, not more runs, so this batch re-runs exactly those # two arms plus the reference on tools/ab/panel_gun_b2.txt (33 opponents). # # Format: name | ENV=value ENV=value | label # MOVEMENT IS PINNED (`TR_MOVEMENT=strafe`) in EVERY arm — same rationale as # Batch 1: a default flip may be landing from j120, and the pin makes every # delta a pure gun delta and satisfies the analyzer liveness rule. # ───────────────────────────────────────────────────────────────────────────── # 1. REFERENCE — shipped onlyPattern rack, movement pinned. pattern | TR_MOVEMENT=strafe | shipped onlyPattern rack (REFERENCE) # 2. BitBrain learned-gain corrector (the arm with the largest nominal damage # edge in Batch 1: +10.3 dmg/run, 11/15). bitbrain | TR_MOVEMENT=strafe TR_RACK_PATTERN=off TR_RACK_BITBRAIN=both TR_BITBRAIN_GAINS=1.0,1.25,1.5,2.0 TR_BITBRAIN_MEM=decay | BitBrain-only, learned gain (gains 1.0..2.0, decay) # 3. TMHorizon corrector (Batch 1: +8.7 dmg/run, +0.13 wins/run, 11/15). tmhorizon | TR_MOVEMENT=strafe TR_RACK_PATTERN=off TR_RACK_TMHORIZON=both | TMHorizon-only rack