Each run: tools/ledgerfit.js fits the base (every step switch off) and fits again with the run's switches on, by the same procedure: the seven weights and lands fitted, everything else hibernated at tools/ledger-benchmarks/2026-10-03-step6-baseline.json; ridge λ 0.01 toward the base benchmark's values; the same seeds. Lists: tyr.auspexFull, tyr.hivemindFull, tyr.secondFull, tyr.maelstrom, tyr.astrategas, sm.auspexFull, sm.tobias. Yardstick through compute() at each fit (ρ; pairwise on the tiers S to D, as the step log). Leave one list out: each list scored by the fit on the other 6. Noise: each army's SD of mean ρ over the scrambled fits (10 per ledger, the base's and the run's pooled: 20). Hint by the keep rule: KEEP only when the mean ρ and mean pairwise both rise and neither army's mean ρ falls past its noise. A hint; the supervisor decides.
| Run | Mean ρ (base → on) | Mean pairwise | Tyranids ρ | Space Marines ρ | Left out: mean ρ | Left out: mean pairwise | Hint | Left out agrees |
|---|---|---|---|---|---|---|---|---|
| base re-fit (against the step-6 weights) | 0.490 → 0.486 (−0.004) | 70.8% → 70.5% (−0.2) | 0.589 → 0.585 (−0.004) | 0.241 → 0.238 (−0.003) | 0.490 → 0.486 (−0.004) | 70.8% → 70.5% (−0.2) | – | – |
| burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile | 0.486 → 0.559 (+0.073) | 70.5% → 74.4% (+3.8) | 0.585 → 0.650 (+0.065) | 0.238 → 0.332 (+0.094) | 0.486 → 0.560 (+0.074) | 70.5% → 74.4% (+3.9) | KEEP | yes (KEEP) |
| burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile + supportMeasured | 0.486 → 0.567 (+0.082) | 70.5% → 74.8% (+4.3) | 0.585 → 0.675 (+0.090) | 0.238 → 0.299 (+0.061) | 0.486 → 0.558 (+0.072) | 70.5% → 74.4% (+3.9) | KEEP | yes (KEEP) |
The base row compares the step-6 baseline as it stands (its weights, unfitted; left out is in sample there) with the base re-fitted on the 7 lists. Noise (SD of mean ρ, scrambled fits): Tyranids 0.060, Space Marines 0.094, all lists 0.053 (first run's pool).
Per list (ρ / pairwise, S to D)
| List | Step 6 | Base re-fit | burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile | burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile + supportMeasured |
|---|---|---|---|---|
| tyr.auspexFull | 0.688 / 80.8% | 0.693 / 81.0% | 0.747 / 83.5% | 0.745 / 83.7% |
| tyr.hivemindFull | 0.664 / 80.2% | 0.658 / 80.1% | 0.722 / 83.0% | 0.758 / 85.5% |
| tyr.secondFull | 0.644 / 78.6% | 0.622 / 77.5% | 0.654 / 79.1% | 0.647 / 78.7% |
| tyr.maelstrom | 0.571 / 71.4% | 0.565 / 71.0% | 0.661 / 76.1% | 0.698 / 78.1% |
| tyr.astrategas | 0.381 / 65.9% | 0.386 / 66.2% | 0.465 / 70.9% | 0.526 / 73.1% |
| sm.auspexFull | 0.284 / 63.4% | 0.280 / 63.2% | 0.372 / 66.9% | 0.359 / 66.2% |
| sm.tobias | 0.197 / 54.9% | 0.195 / 54.7% | 0.292 / 61.1% | 0.239 / 58.4% |
Left out (each list by the fit on the others), ρ / pairwise:
| List | Base re-fit | burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile | burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile + supportMeasured |
|---|---|---|---|
| tyr.auspexFull | 0.692 / 80.9% | 0.747 / 83.5% | 0.744 / 83.6% |
| tyr.hivemindFull | 0.657 / 80.0% | 0.727 / 83.3% | 0.758 / 85.5% |
| tyr.secondFull | 0.623 / 77.6% | 0.655 / 79.2% | 0.632 / 78.1% |
| tyr.maelstrom | 0.567 / 71.0% | 0.661 / 76.1% | 0.674 / 77.0% |
| tyr.astrategas | 0.390 / 66.3% | 0.467 / 71.0% | 0.503 / 72.0% |
| sm.auspexFull | 0.277 / 63.0% | 0.372 / 66.8% | 0.355 / 66.1% |
| sm.tobias | 0.194 / 54.7% | 0.292 / 61.0% | 0.237 / 58.2% |
The fitted knobs
| Knob | Step 6 | Base re-fit | burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile | burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile + supportMeasured |
|---|---|---|---|---|
| lands | 1.500 | 1.451 | 1.451 | 1.451 |
| wKill | 498.2 | 445.6 | 332.5 | 283.3 |
| wSoak | 14.97 | 15.14 | 15.63 | 15.48 |
| wScore | 9.652 | 9.890 | 9.957 | 10.39 |
| wActions | 1.306 | 1.296 | 1.301 | 1.302 |
| wHold | 18.89 | 19.86 | 19.75 | 21.07 |
| wPresence | 2.515 | 2.605 | 2.803 | 2.500 |
| wSpawn | 15.65 | 15.25 | 15.20 | 15.77 |
Movers (ranks between the base re-fit and the run's re-fit; letters per list)
burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile. Tyranids: Harpy 32 → 44 (D/D/D/F/D), Ripper Swarms 38 → 50 (B/C/B/D/D), Neurotyrant 39 → 28 (A/–/–/A/B), Von Ryan's Leapers 5 → 14 (S/B/A/B/C), Psychophage 27 → 36 (B/B/A/B/C), Toxicrene 26 → 34 (C/–/–/D/D), Raveners 36 → 29 (S/B/A/B/A), Neurolictor 21 → 15 (S/S/S/–/S). Space Marines: Apothecary 10 → 77 (B/D), Rhino 18 → 65 (B/D), Firestrike Servo-Turrets 64 → 23 (B/D), Captain in Phobos Armour 36 → 76 (B/D), Lieutenant in Phobos Armour 44 → 78 (C/C), Techmarine 14 → 43 (A/B), Company Heroes 25 → 52 (A/B), Terminator Assault Squad 63 → 39 (S/B).
burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile + supportMeasured. Tyranids: Tervigon 16 → 39 (B/C/C/C/D), Tyranid Warriors with Ranged Bio-Weapons 13 → 31 (C/C/C/D/C), Maleceptor 17 → 35 (S/A/A/A/A), Norn Emissary 19 → 37 (S/B/S/A/A), Hormagaunts 23 → 6 (S/A/B/A/S), The Red Terror 12 → 28 (A/A/S/–/–), Neurogaunts 22 → 38 (B/C/C/C/C), Genestealers 35 → 20 (A/A/A/A/B). Space Marines: Apothecary 10 → 80 (B/D), Rhino 18 → 79 (B/D), Infiltrator Squad 8 → 55 (A/B), Techmarine 14 → 57 (A/B), Firestrike Servo-Turrets 64 → 24 (B/D), Lieutenant in Phobos Armour 44 → 76 (C/C), Terminator Assault Squad 63 → 33 (S/B), Gladiator Reaper 55 → 32 (A/B).
Base re-fit against step 6: Tyranids: Neurogaunts 29 → 22 (B/C/C/C/C), Haruspex 24 → 29 (B/B/A/A/B), Biovores 5 → 1 (S/S/S/S/S), Hive Tyrant 3 → 6 (S/A/S/A/A), Hormagaunts 26 → 23 (S/A/B/A/S), Toxicrene 23 → 26 (C/–/–/D/D), Trygon 22 → 24 (B/C/B/B/A), Termagants 36 → 34 (B/B/C/B/A). Space Marines: Outrider Squad 7 → 4 (A/C), Invictor Tactical Warsuit 19 → 22 (B/D), Lieutenant 31 → 34 (S/C), Land Raider 57 → 54 (A/C), Land Raider Crusader 68 → 65 (B/D), Intercessor Squad 15 → 13 (S/A), Rhino 20 → 18 (B/D), Tactical Squad 21 → 19 (B/D).
Checks and run times
- Each fit's latents (every unit's ranking row) matched compute() at the fitted setting, the largest relative difference 5.8e-16; every form's basis matched valueForm() (7.0e-16).
- Ranking rows: base solo/solo; burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile solo/solo; burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile + supportMeasured solo/solo.
- Run times (the main fit; with folds and scrambles on 3 threads): base 3.2 s (21.7 s); burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile 6.79 s (39.6 s); burstKill + threatSoak + r.mortal=1 + r.heal=1.805 + r.buff=1.12 + r.detachment=1.065 + dialBiovoresOnly + shockPressure + cpRefile + supportMeasured 7.58 s (54.2 s). Total 116.9 s.