movement final: pre-register the ship criterion before the confirmation battles
This commit is contained in:
@@ -1164,3 +1164,35 @@ the default flip is a separate, explicit decision and was NOT made here.
|
|||||||
|---|---|---:|---|---|
|
|---|---|---:|---|---|
|
||||||
| `/tmp/ab/j119_b3` | `1256357` | 270 (0 failed; 1 excluded: Ascendant/strafe r1) | strafe, tfil, fast_flip, slow_flip, wide_spread, narrow | nothing beats strafe; wide_spread +0.11 NS (p=0.55) |
|
| `/tmp/ab/j119_b3` | `1256357` | 270 (0 failed; 1 excluded: Ascendant/strafe r1) | strafe, tfil, fast_flip, slow_flip, wide_spread, narrow | nothing beats strafe; wide_spread +0.11 NS (p=0.55) |
|
||||||
| `/tmp/ab/j119_b4` | `1256357` | 270 (0 failed, 0 excluded) | strafe, tfil, bullet_strong, field_strong, field_off, wall_tight | nothing beats strafe; field_strong and field_off detectably WORSE |
|
| `/tmp/ab/j119_b4` | `1256357` | 270 (0 failed, 0 excluded) | strafe, tfil, bullet_strong, field_strong, field_off, wall_tight | nothing beats strafe; field_strong and field_off detectably WORSE |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Final confirmation + SHIP — PRE-REGISTRATION
|
||||||
|
|
||||||
|
> **PRE-REGISTERED BEFORE THE BATTLES (this section is committed, and its commit
|
||||||
|
> is the frozen binary's source, before the first battle is launched).** Session
|
||||||
|
> `/tmp/ab/j120_final`. Arms file `tools/ab/arms_movement_final.txt`, panel
|
||||||
|
> `tools/ab/panel_movement.txt` (frozen), **3 arms × 15 opponents × 5 runs × 3
|
||||||
|
> rounds = 225 battles**, conc 6, `--reference tfil`.
|
||||||
|
|
||||||
|
**THE PRE-REGISTERED SHIP CRITERION (fixed before fighting).** Ship the flip of
|
||||||
|
`TR_MOVEMENT`'s default from `tfil` to `strafe` **only if**, on this frozen
|
||||||
|
panel and this one frozen binary, `strafe` beats `tfil` head-to-head on the
|
||||||
|
PRIMARY metric *round wins/run* with **both**:
|
||||||
|
|
||||||
|
1. the **95% CI on Δwins/run excluding 0**; **and**
|
||||||
|
2. the **cross-opponent sign test favouring `strafe`** (p < 0.05).
|
||||||
|
|
||||||
|
This is stricter than the campaign's §1 rule 2 (which would let a survival win
|
||||||
|
carry a damage-neutral arm): the ship decision requires the *win* metric itself
|
||||||
|
to clear both bars. If it does not pass, **do not ship** — say so and stop; that
|
||||||
|
is a fully successful outcome. This batch uses **5 runs/arm (vs 3 in every
|
||||||
|
previous batch)** for higher power; `wide_spread` (the only positive point
|
||||||
|
estimate from Batches 3–4, +0.11/run, NS) rides along as the single challenger.
|
||||||
|
|
||||||
|
**Pre-registered prediction (before the battles):** `strafe` passes both bars
|
||||||
|
and ships; `wide_spread` ties `strafe` (no separable win); `tfil` is not
|
||||||
|
preferred by any primary metric. A wrong prediction is recorded as wrong.
|
||||||
|
|
||||||
|
**Outcome:** pending — filled in below after the session.
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
Reference in New Issue
Block a user