Files

54 lines
3.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ─────────────────────────────────────────────────────────────────────────────
# arms_gun_b3.txt — PHASE 2 BATCH 1 of the GUN campaign: does tuning the
# incumbent's OWN match-shape parameters beat the shipped `Pattern`?
#
# 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`). Reason (hard rule):
# a parallel job (j124) may be fighting, and the shipped movement default may
# move; pinning the engine in EVERY arm removes movement as a confound, makes all
# arms share one movement, and keeps the comparison a pure GUN comparison. It
# also satisfies the analyzer liveness rule (every declared token must appear in
# the bot's own raw-env report, and an undeclared TR_MOVEMENT is fatal).
#
# Task A (this job) exposed Pattern's own match-shape parameters as runtime env
# knobs, defaults byte-identical to the pre-knob gun (proven by the parity dump
# in the ledger):
# TR_PATTERN_LEN — length of the movement segment compared (search key).
# Shipped default 10.
# TR_PATTERN_DEPTH — how many recent history entries the matcher may scan.
# Shipped default 500 (= the whole HistorySize buffer).
# The two pre-existing radial knobs are kept as cheap CONTROLS.
#
# Prior data this batch is built on (taken as given; NOT re-derived):
# * `docs/gun_campaign.md` Batches 1-2: nothing beats the shipped `pattern`
# across 15 and 33 opponents; `onlyPattern` is a measured optimum.
# * `docs/bitbrain_campaign.md`: lead AMPLITUDE is a dead axis; lead
# INFORMATION is the open one.
# * `common_libs/tests/pattern_radial_results.md` (job j99): the radial knobs
# move the aim point along an UNCHANGED bearing, so under the shipped
# `bmPath` metric they are a structural no-op; live they were +0.28 pp
# (p=0.62) / −0.42 pp (p=0.46).
# ─────────────────────────────────────────────────────────────────────────────
# 1. REFERENCE. The shipped `onlyPattern` rack, movement pinned, no shape env.
pattern | TR_MOVEMENT=strafe | shipped onlyPattern rack (REFERENCE)
# 2. Shorter match key: more candidate matches, noisier replay.
len6 | TR_MOVEMENT=strafe TR_PATTERN_LEN=6 | match key = 6 ticks
# 3. Longer match key: fewer, more specific matches; more linear fallback.
len16 | TR_MOVEMENT=strafe TR_PATTERN_LEN=16 | match key = 16 ticks
# 4. Shallow history: the search never looks further back than 100 entries.
depth100 | TR_MOVEMENT=strafe TR_PATTERN_DEPTH=100 | history search = 100 ticks
# 5. CONTROL: aim 20 px short (the radial-knob header's intended use).
rad_offset | TR_MOVEMENT=strafe TR_PATTERN_RAD_OFFSET=-20 | radial control: aim short 20 px
# 6. CONTROL: scale the aim distance by 0.95.
rad_scale | TR_MOVEMENT=strafe TR_PATTERN_RAD_SCALE=0.95 | radial control: scale 0.95