j142 retire the ADE+SBC gun (rack id 17): the owner watched it, it does not learn, throw it away

Remove guns/bitbrain_net.nim (+README), test_bitbrain_net.nim,
measure_bitbrain_scaling.nim, rack id 17 and all of its plumbing in
selector.nim / ModularBot.nim / env_report.nim, the TR_BITBRAIN_NET switch
and the NEW-NETWORK TR_BITBRAIN_* knobs, and the BitBrainNet arm of
run_prediction_quality.nim.

With id 17 gone there is nothing to disambiguate, so the legacy namespace
becomes the ONLY one: TR_RACK_BITBRAIN always selects id 16 LEADGAIN and
every TR_BITBRAIN_<X> in the frozen 14-suffix alias set always means
TR_LEADGAIN_<X>. The alias layer and its [depr] line stay.

KEPT: the common_libs/bitbrain/ SBC library (learned_surfer imports
bitbrain/sbc), lead_gain at id 16 with env TR_LEADGAIN_* and log tag [lg],
and the c9b6753 crash fix (NumRackGuns widths + test_rack_stat_width).

Tombstone: docs/bitbrain_campaign.md ## RETIRED and one cross-reference line
in docs/gun_campaign.md. Shipped defaults unchanged: clean env -> rack
active 1v1 = PATTERN, movement default strafe.
This commit is contained in:
2026-09-26 19:20:23 +02:00
parent c9b67530db
commit 5e32ec16df
18 changed files with 279 additions and 1732 deletions
@@ -62,7 +62,7 @@ proc seedOldRack(t: var VirtualTracker, targetId: int) =
# ── registration table ────────────────────────────────────────────────────────
proc testTable() =
check "rack: RackGunNames has 18 entries", RackGunNames.len == 18
check "rack: RackGunNames has 17 entries", RackGunNames.len == 17
check "rack: the new gun is named TMPATTERN at id 14",
RackGunNames[TmPatternId] == "TMPATTERN"
check "rack: the new gun defaults to `off`",
@@ -82,9 +82,9 @@ proc oldRackMembership(): array[15, RackMembership] =
proc testDefaultAdmitsOnlyPattern() =
check "default membership admits only PATTERN (1v1)",
admittedGuns(18, rm1v1, DefaultRackMembership) == @[PatternId]
admittedGuns(NumRackGuns, rm1v1, DefaultRackMembership) == @[PatternId]
check "default membership admits only PATTERN (melee)",
admittedGuns(18, rmMelee, DefaultRackMembership) == @[PatternId]
admittedGuns(NumRackGuns, rmMelee, DefaultRackMembership) == @[PatternId]
proc testEnvOverride() =
for name in RackGunNames: delEnv("TR_RACK_" & name)