# ───────────────────────────────────────────────────────────────────────────── # arms_tfil_turn.txt — j145: the TFIL TURN-COST TIEBREAK, four arms on the # frozen movement panel (tools/ab/panel_movement.txt), all with TR_MOVEMENT=tfil # pinned EXPLICITLY. # # WHAT THE KNOB IS. Among the tiles that already passed the HARD heat filter # (pathMaxHeat <= PathDangerThreshold), the draw is weighted by # # w = max(1, round(1 + TR_TFIL_TURN_BIAS * (1 - max(0,|turn| - REF) / 180))) # # so a straight-ahead safe tile is drawn `1 + bias` times as often as a 180 deg # one. The heat score is NOT touched: a tile over the threshold still loses, at # any bias (guard: test_tfil_commit_env.nim, "j145: with an absurd turn bias..."). # The draw stays RANDOM (job j51, 3142b70: a deterministic argmin measured worse). # # Pre-registered in docs/movement_campaign.md ("TFIL turn-cost tiebreak") BEFORE # any of these battles ran. Reference is `tfil_shipped`. # # Format: name | ENV=value ENV=value | label # ───────────────────────────────────────────────────────────────────────────── # 1. THE ARM TO BEAT — the shipped tfil defaults, explicitly selected. tfil_shipped | TR_MOVEMENT=tfil | shipped tfil defaults (control / reference) # 2. the two knobs job j144 recommends, unchanged. arrive_norev | TR_MOVEMENT=tfil TR_TFIL_COMMIT_ARRIVAL=1 TR_TFIL_NOREV_SPEED=4 | j144's recommended .env # 3. j144's knobs PLUS the turn tiebreak, at the value the offline ruler picked # (the knee of the bias curve: bias 9 ref 0 cuts mean |turn| 11% and opposite # picks 22% with no path-heat cost; bias 39 buys almost nothing more). arrive_norev_turn | TR_MOVEMENT=tfil TR_TFIL_COMMIT_ARRIVAL=1 TR_TFIL_NOREV_SPEED=4 TR_TFIL_TURN_BIAS=9 TR_TFIL_TURN_REF_DEG=0 | j144 + the turn tiebreak # 4. THE TURN FIX ALONE — isolates the tiebreak with no j144 knob set, which is # the only arm that can say whether it is worth anything by itself. turn_only | TR_MOVEMENT=tfil TR_TFIL_TURN_BIAS=9 TR_TFIL_TURN_REF_DEG=0 | the turn tiebreak alone