Files
SirRoboGarage/common_libs/tests/fixtures/gun_mix_ab_report.txt
T
SirStone 32a5e72fac Gun mixing (TMHorizon+BitBrain) vs DrussGT: clean negative, no dodge disruption
4 arms x 7 runs vs real DrussGT. mix alternates the two guns 476 times/7 runs
(liveness OK) but our bullets are no more varied (power sd / aim-offset sd flat)
and DrussGT's dodge quality is unchanged (miss/tick mix-pat +0.03, p=0.66; MDE
3.8%). mix wins 24/49 = the 49% baseline; the user's 6/10 has P=0.353 at 49%.
New tools/ab/ab_dodge_analyze.py splits the validated per-shot dodge instrument
by arm and adds gun-switch/power/bearing liveness; fixtures committed.
2026-09-24 23:07:05 +02:00

70 lines
4.8 KiB
Plaintext

# session /tmp/ab/mix
# commit=f91e12196537c6c1e64353160e8885445e3e222b binary_sha256=54abc793b819832bf1becb366b3928f7db5c853668d18a525d63e677b7f89a73 rounds=7 runs=7 conc=5 ts=2026-09-24T22:54:59+02:00
ARM SUMMARY
arm runs dmg/run dmgtk/run wins win% shots/run hitstk/run
--------------------------------------------------------------------------
pat 7 291 213 21/49 42.9 815 95.7
tmh 7 265 211 18/49 36.7 788 94.9
bb 7 278 183 22/49 44.9 802 92.3
mix 7 267 210 24/49 49.0 804 93.6
PER-RUN (never just the mean)
pat dmg: r1=319 r2=313 r3=270 r4=318 r5=281 r6=290 r7=250
wins: r1=5/7 r2=3/7 r3=3/7 r4=4/7 r5=3/7 r6=1/7 r7=2/7
tmh dmg: r1=237 r2=309 r3=249 r4=230 r5=288 r6=268 r7=274
wins: r1=1/7 r2=4/7 r3=2/7 r4=2/7 r5=3/7 r6=2/7 r7=4/7
bb dmg: r1=230 r2=271 r3=270 r4=282 r5=289 r6=307 r7=297
wins: r1=2/7 r2=3/7 r3=4/7 r4=3/7 r5=3/7 r6=4/7 r7=3/7
mix dmg: r1=260 r2=255 r3=220 r4=293 r5=284 r6=266 r7=288
wins: r1=2/7 r2=5/7 r3=2/7 r4=3/7 r5=3/7 r6=4/7 r7=5/7
PAIRWISE PERMUTATION TEST (per-run values) + MANN-WHITNEY CROSS-CHECK
permutation: exact when C(n,na) <= 20,000,000; otherwise Monte-Carlo 1,000,000 draws, seed=0x5eed5eed, p = (cnt+1)/(B+1), se = sqrt(p(1-p)/(B+1))
metric A B diff(A-B) perm p method MC se MW p MW U
-------------------------------------------------------------------------------------------------
dmg/run pat tmh +26.284 0.0956 exact - 0.0736 10.0
round wins pat tmh +0.429 0.6638 exact - 0.5542 19.5
dmg/run pat bb +13.488 0.3450 exact - 0.4433 18.0
round wins pat bb -0.143 1.0000 exact - 0.8368 22.5
dmg/run pat mix +24.919 0.0973 exact - 0.1599 13.0
round wins pat mix -0.429 0.6795 exact - 0.6439 20.5
dmg/run tmh bb -12.796 0.3811 exact - 0.4433 18.0
round wins tmh bb -0.571 0.4079 exact - 0.3157 16.5
dmg/run tmh mix -1.365 0.9237 exact - 1.0000 24.0
round wins tmh mix -0.857 0.2879 exact - 0.2346 15.0
dmg/run bb mix +11.431 0.4103 exact - 0.3067 16.0
round wins bb mix -0.286 0.7960 exact - 0.7880 22.0
MINIMUM DETECTABLE EFFECT (two-sample, alpha=0.05 two-sided, 80% power; MDE = 2.8016*sd*sqrt(2/n))
metric n/arm sd(control) MDE(abs) MDE vs control mean
----------------------------------------------------------------
dmg/run 7 26.481 39.656 13.6% of 291.4
round wins 7 1.291 1.933 64.4% of 3.0
ROUND-LEVEL TEST (pooled rounds, Fisher exact) vs `pat` — ANTI-CONSERVATIVE: rounds cluster within runs
arm ref wins arm wins p
----------------------------------------------
tmh 21/49 18/49 0.6801
bb 21/49 22/49 1.0000
mix 21/49 24/49 0.6854
LIVENESS (arm env applied in the bot's own boot report)
pat OK (7/7 runs: no arm env; report present)
tmh OK (7/7 runs: TR_RACK_PATTERN=off TR_RACK_TMHORIZON=both applied)
bb OK (7/7 runs: TR_RACK_PATTERN=off TR_RACK_BITBRAIN=both TR_BITBRAIN_MEM=decay applied)
mix OK (7/7 runs: TR_RACK_PATTERN=off TR_RACK_TMHORIZON=both TR_RACK_BITBRAIN=both TR_BITBRAIN_MEM=decay applied)
[bb] APPLIED-SHIFT CHECK (from bot stdout; needs TR_BITBRAIN_LOG=1). A provably-zero placebo emits ZERO [bb] lines.
arm runs w/log lines min max zeros
pat 0/7 0 - - -
tmh 0/7 0 - - -
bb 0/7 0 - - -
mix 0/7 0 - - -
ROUND-WIN ATTRIBUTION (events primary; score tie-break for mutual-kill / timeout rounds)
pat wins==firstPlaces 7/7 runs OK; single-death rounds agree with score 48/48 (1 tie-broken)
tmh wins==firstPlaces 7/7 runs OK; single-death rounds agree with score 47/47 (2 tie-broken)
bb wins==firstPlaces 7/7 runs OK; single-death rounds agree with score 49/49 (0 tie-broken)
mix wins==firstPlaces 7/7 runs OK; single-death rounds agree with score 49/49 (0 tie-broken)