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 | 0.486 → 0.501 (+0.016) | 70.5% → 71.8% (+1.3) | 0.585 → 0.575 (−0.010) | 0.238 → 0.318 (+0.081) | 0.486 → 0.504 (+0.019) | 70.5% → 71.9% (+1.4) | KEEP | yes (KEEP) |
| burstKill + threatSoak | 0.486 → 0.504 (+0.019) | 70.5% → 71.9% (+1.3) | 0.585 → 0.574 (−0.011) | 0.238 → 0.330 (+0.092) | 0.486 → 0.506 (+0.020) | 70.5% → 71.9% (+1.4) | 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.059, Space Marines 0.095, all lists 0.053 (first run's pool).
Per list (ρ / pairwise, S to D)
| List | Step 6 | Base re-fit | burstKill | burstKill + threatSoak |
|---|---|---|---|---|
| tyr.auspexFull | 0.688 / 80.8% | 0.693 / 81.0% | 0.686 / 80.5% | 0.680 / 80.1% |
| tyr.hivemindFull | 0.664 / 80.2% | 0.658 / 80.1% | 0.641 / 78.7% | 0.640 / 78.6% |
| tyr.secondFull | 0.644 / 78.6% | 0.622 / 77.5% | 0.587 / 75.6% | 0.581 / 75.5% |
| tyr.maelstrom | 0.571 / 71.4% | 0.565 / 71.0% | 0.574 / 73.7% | 0.580 / 73.8% |
| tyr.astrategas | 0.381 / 65.9% | 0.386 / 66.2% | 0.385 / 67.2% | 0.389 / 67.3% |
| sm.auspexFull | 0.284 / 63.4% | 0.280 / 63.2% | 0.359 / 66.3% | 0.372 / 66.8% |
| sm.tobias | 0.197 / 54.9% | 0.195 / 54.7% | 0.278 / 60.6% | 0.288 / 61.0% |
Left out (each list by the fit on the others), ρ / pairwise:
| List | Base re-fit | burstKill | burstKill + threatSoak |
|---|---|---|---|
| tyr.auspexFull | 0.692 / 80.9% | 0.684 / 80.3% | 0.680 / 80.1% |
| tyr.hivemindFull | 0.657 / 80.0% | 0.641 / 78.7% | 0.637 / 78.5% |
| tyr.secondFull | 0.623 / 77.6% | 0.595 / 75.9% | 0.588 / 75.8% |
| tyr.maelstrom | 0.567 / 71.0% | 0.579 / 73.7% | 0.584 / 73.8% |
| tyr.astrategas | 0.390 / 66.3% | 0.389 / 67.3% | 0.391 / 67.3% |
| sm.auspexFull | 0.277 / 63.0% | 0.359 / 66.3% | 0.370 / 66.7% |
| sm.tobias | 0.194 / 54.7% | 0.285 / 60.9% | 0.292 / 61.2% |
The fitted knobs
| Knob | Step 6 | Base re-fit | burstKill | burstKill + threatSoak |
|---|---|---|---|---|
| lands | 1.500 | 1.451 | 1.451 | 1.451 |
| wKill | 498.2 | 445.6 | 398.6 | 379.7 |
| wSoak | 14.97 | 15.14 | 14.74 | 15.23 |
| wScore | 9.652 | 9.890 | 10.02 | 10.02 |
| wActions | 1.306 | 1.296 | 1.303 | 1.303 |
| wHold | 18.89 | 19.86 | 19.77 | 19.82 |
| wPresence | 2.515 | 2.605 | 2.762 | 2.729 |
| wSpawn | 15.65 | 15.25 | 15.36 | 15.36 |
Movers (ranks between the base re-fit and the run's re-fit; letters per list)
burstKill. Tyranids: Ripper Swarms 38 → 50 (B/C/B/D/D), Harpy 32 → 22 (D/D/D/F/D), Psychophage 27 → 36 (B/B/A/B/C), Raveners 36 → 29 (S/B/A/B/A), Toxicrene 26 → 33 (C/–/–/D/D), Hive Guard 28 → 34 (A/B/A/C/C), Mawloc 41 → 35 (B/B/C/B/C), Carnifexes 31 → 37 (C/C/C/C/C). Space Marines: Apothecary 10 → 77 (B/D), Rhino 18 → 64 (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 → 41 (A/B), Company Heroes 25 → 52 (A/B), Terminator Assault Squad 63 → 39 (S/B).
burstKill + threatSoak. Tyranids: Ripper Swarms 38 → 50 (B/C/B/D/D), Harpy 32 → 22 (D/D/D/F/D), Psychophage 27 → 36 (B/B/A/B/C), Hormagaunts 23 → 16 (S/A/B/A/S), Neurolictor 21 → 28 (S/S/S/–/S), Raveners 36 → 29 (S/B/A/B/A), Winged Tyranid Prime 30 → 24 (C/B/B/C/B), Toxicrene 26 → 32 (C/–/–/D/D). Space Marines: Apothecary 10 → 77 (B/D), Rhino 18 → 70 (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 → 41 (A/B), Company Heroes 25 → 52 (A/B), Terminator Assault Squad 63 → 39 (S/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() (6.3e-16).
- Ranking rows: base solo/solo; burstKill solo/solo; burstKill + threatSoak solo/solo.
- Run times (the main fit; with folds and scrambles on 3 threads): base 2.96 s (19 s); burstKill 3.81 s (21.7 s); burstKill + threatSoak 5.84 s (34.4 s). Total 76.3 s.