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.auspex, tyr.hivemind, tyr.second, 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.472 → 0.464 (−0.008) | 70.1% → 69.7% (−0.4) | 0.564 → 0.554 (−0.011) | 0.241 → 0.238 (−0.003) | 0.472 → 0.460 (−0.012) | 70.1% → 69.6% (−0.5) | – | – |
| carryDedicated + wCarry=1 | 0.464 → 0.442 (−0.021) | 69.7% → 68.7% (−1.1) | 0.554 → 0.536 (−0.018) | 0.238 → 0.208 (−0.030) | 0.460 → 0.441 (−0.019) | 69.6% → 68.6% (−1.0) | REVERT: mean ρ −0.021; mean pairwise −1.1 points | yes (REVERT) |
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.036, Space Marines 0.094, all lists 0.034 (first run's pool).
Per list (ρ / pairwise, S to D)
| List | Step 6 | Base re-fit | carryDedicated + wCarry=1 |
|---|---|---|---|
| tyr.auspex | 0.662 / 79.8% | 0.656 / 79.4% | 0.637 / 78.4% |
| tyr.hivemind | 0.622 / 78.6% | 0.616 / 78.5% | 0.605 / 78.2% |
| tyr.second | 0.587 / 76.7% | 0.568 / 75.7% | 0.555 / 75.1% |
| tyr.maelstrom | 0.571 / 71.4% | 0.554 / 71.0% | 0.531 / 69.4% |
| tyr.astrategas | 0.381 / 65.9% | 0.376 / 65.5% | 0.353 / 64.5% |
| sm.auspexFull | 0.284 / 63.4% | 0.281 / 63.2% | 0.265 / 62.3% |
| sm.tobias | 0.197 / 54.9% | 0.195 / 54.7% | 0.151 / 52.7% |
Left out (each list by the fit on the others), ρ / pairwise:
| List | Base re-fit | carryDedicated + wCarry=1 |
|---|---|---|
| tyr.auspex | 0.649 / 79.0% | 0.626 / 77.9% |
| tyr.hivemind | 0.608 / 78.2% | 0.604 / 78.1% |
| tyr.second | 0.556 / 75.2% | 0.551 / 74.9% |
| tyr.maelstrom | 0.556 / 71.0% | 0.534 / 69.5% |
| tyr.astrategas | 0.381 / 65.9% | 0.361 / 65.0% |
| sm.auspexFull | 0.272 / 62.9% | 0.262 / 62.2% |
| sm.tobias | 0.199 / 55.0% | 0.150 / 52.6% |
The fitted knobs
| Knob | Step 6 | Base re-fit | carryDedicated + wCarry=1 |
|---|---|---|---|
| lands | 1.500 | 1.451 | 1.451 |
| wKill | 498.2 | 411.4 | 383.9 |
| wSoak | 14.97 | 14.71 | 15.10 |
| wScore | 9.652 | 10.02 | 10.08 |
| wActions | 1.306 | 1.292 | 1.298 |
| wHold | 18.89 | 19.87 | 20.14 |
| wPresence | 2.515 | 2.739 | 2.699 |
| wSpawn | 15.65 | 15.34 | 15.32 |
Movers (ranks between the base re-fit and the run's re-fit; letters per list)
carryDedicated + wCarry=1. Tyranids: Tyrannocyte 48 → 33 (C/–/–/D/D), Neurogaunts 22 → 20 (B/C/C/C/C), Exocrine 20 → 22 (A/A/A/S/S), Hive Crone 46 → 48 (D/–/–/F/D), Tyranid Warriors with Ranged Bio-Weapons 13 → 12 (C/C/B/D/C), The Red Terror 12 → 13 (A/A/S/–/–), Harpy 27 → 26 (D/–/–/F/D), Toxicrene 26 → 27 (–/–/–/D/D). Space Marines: Drop Pod 84 → 29 (A/C), Razorback 63 → 21 (B/D), Rhino 18 → 1 (B/D), Captain in Terminator Armour 28 → 31 (B/D), Chaplain with Jump Pack 29 → 32 (A/D), Judiciar 43 → 46 (B/D), Gladiator Valiant 51 → 54 (A/C), Dreadnought 52 → 55 (C/D).
Base re-fit against step 6: Tyranids: Neurogaunts 29 → 22 (B/C/C/C/C), Harpy 33 → 27 (D/–/–/F/D), Haruspex 24 → 30 (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 (–/–/–/D/D), Von Ryan's Leapers 6 → 4 (S/B/A/B/C). Space Marines: Tactical Squad 21 → 16 (B/D), Land Raider 57 → 53 (A/C), Land Raider Crusader 68 → 64 (B/D), Outrider Squad 7 → 4 (A/C), Scout Squad 23 → 20 (S/S), Eradicator Squad with Heavy Bolters 18 → 21 (A/B), Invictor Tactical Warsuit 19 → 22 (B/D), Lieutenant 31 → 34 (S/C).
Checks and run times
- Each fit's latents (every unit's ranking row) matched compute() at the fitted setting, the largest relative difference 3.8e-16; every form's basis matched valueForm() (5.7e-16).
- Ranking rows: base solo/solo; carryDedicated + wCarry=1 solo/solo.
- Run times (the main fit; with folds and scrambles on 3 threads): base 4.51 s (29.6 s); carryDedicated + wCarry=1 3.26 s (24.8 s). Total 55.8 s.