movement final: pre-register the ship criterion before the confirmation battles

This commit is contained in:
2026-09-26 02:21:09 +02:00
parent 47ce244740
commit ff03e81591
2 changed files with 71 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
# ─────────────────────────────────────────────────────────────────────────────
# arms_movement_final.txt — FINAL CONFIRMATION of the movement champion, run at
# HIGHER POWER than any previous batch (5 runs/arm vs 3), on the FROZEN panel
# tools/ab/panel_movement.txt.
#
# Prior data this batch is built on (docs/movement_campaign.md §3–§5, Batches
# 3+4 consolidated, MEASURED on the frozen panel across four independent
# sessions, ~900 battles):
# * `TR_MOVEMENT=strafe` (current defaults) BEATS the shipped `tfil` on round
# wins in EVERY session: +0.38/+0.33 (B1), +0.58/+0.47 (B2), and 53.0% vs
# 42.2% (B3), 52.6% vs 38.5% (B4) — all 95% CIs excluding 0, sign test
# favouring strafe.
# * It wins by SURVIVAL: incoming hit rate ~12% vs tfil's ~18%, ~50 less
# damage taken/run, NO detectable damage cost.
# * 8 further arms (reversal timing, spread/reach, heat-field strength, wall
# margin/curvature) were swept in Batches 3–4: NOTHING beats `strafe`.
# `wide_spread` is the only positive point estimate (+0.11 wins/run, NS,
# p=0.55, MDE 0.56) — a TIE, carried here as the single challenger.
#
# SHIP CRITERION (pre-registered in docs/movement_campaign.md before the
# battles): ship only if `strafe` beats `tfil` head-to-head with the 95% CI on
# wins/run EXCLUDING 0 AND the cross-opponent sign test FAVOURING `strafe`.
#
# REFERENCE is `tfil` — every delta below is (arm − tfil), opponent by opponent.
#
# Format: name | ENV=value ENV=value | label
# ─────────────────────────────────────────────────────────────────────────────
# 1. THE CHAMPION under confirmation — current strafe defaults.
strafe | TR_MOVEMENT=strafe | champion — current strafe defaults (candidate to ship)
# 2. THE ARM TO BEAT — the currently shipped default, explicitly selected.
# (The explicit `TR_MOVEMENT=tfil` matters: it also proves the override path
# stays reachable after any default flip.)
tfil | TR_MOVEMENT=tfil | shipped baseline — explicit tfil override
# 3. THE ONLY CHALLENGER with a positive wins point estimate from Batches 3–4
# (+0.11/run, damage-neutral, not distinguishable — expected to tie).
wide_spread | TR_MOVEMENT=strafe TR_STRAFE_SPREAD=2 TR_STRAFE_REACH=216 | Batches 3–4 positive-point challenger (±2 tiles, 216px)