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) | – | – |
| arrivalKill | 0.464 → 0.458 (−0.006) | 69.7% → 69.5% (−0.2) | 0.554 → 0.541 (−0.013) | 0.238 → 0.250 (+0.012) | 0.460 → 0.456 (−0.004) | 69.6% → 69.4% (−0.2) | REVERT: mean ρ −0.006; mean pairwise −0.2 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.040, Space Marines 0.102, all lists 0.037 (first run's pool).
Per list (ρ / pairwise, S to D)
| List | Step 6 | Base re-fit | arrivalKill |
|---|---|---|---|
| tyr.auspex | 0.662 / 79.8% | 0.656 / 79.4% | 0.643 / 78.8% |
| tyr.hivemind | 0.622 / 78.6% | 0.616 / 78.5% | 0.602 / 77.8% |
| tyr.second | 0.587 / 76.7% | 0.568 / 75.7% | 0.548 / 74.6% |
| tyr.maelstrom | 0.571 / 71.4% | 0.554 / 71.0% | 0.544 / 70.6% |
| tyr.astrategas | 0.381 / 65.9% | 0.376 / 65.5% | 0.369 / 65.4% |
| sm.auspexFull | 0.284 / 63.4% | 0.281 / 63.2% | 0.288 / 63.3% |
| sm.tobias | 0.197 / 54.9% | 0.195 / 54.7% | 0.212 / 55.8% |
Left out (each list by the fit on the others), ρ / pairwise:
| List | Base re-fit | arrivalKill |
|---|---|---|
| tyr.auspex | 0.649 / 79.0% | 0.643 / 78.8% |
| tyr.hivemind | 0.608 / 78.2% | 0.595 / 77.3% |
| tyr.second | 0.556 / 75.2% | 0.548 / 74.6% |
| tyr.maelstrom | 0.556 / 71.0% | 0.547 / 70.4% |
| tyr.astrategas | 0.381 / 65.9% | 0.367 / 65.4% |
| sm.auspexFull | 0.272 / 62.9% | 0.284 / 63.1% |
| sm.tobias | 0.199 / 55.0% | 0.212 / 55.8% |
The fitted knobs
| Knob | Step 6 | Base re-fit | arrivalKill |
|---|---|---|---|
| lands | 1.500 | 1.451 | 1.540 |
| wKill | 498.2 | 411.4 | 373.5 |
| wSoak | 14.97 | 14.71 | 14.84 |
| wScore | 9.652 | 10.02 | 9.998 |
| wActions | 1.306 | 1.292 | 1.292 |
| wHold | 18.89 | 19.87 | 20.35 |
| wPresence | 2.515 | 2.739 | 2.756 |
| wSpawn | 15.65 | 15.34 | 15.36 |
Movers (ranks between the base re-fit and the run's re-fit; letters per list)
arrivalKill. Tyranids: Winged Tyranid Prime 31 → 26 (–/B/B/C/B), Ripper Swarms 38 → 34 (B/C/B/D/D), Exocrine 20 → 23 (A/A/A/S/S), Toxicrene 26 → 29 (–/–/–/D/D), Psychophage 28 → 31 (B/B/A/B/C), Gargoyles 47 → 44 (–/B/B/A/S), Von Ryan's Leapers 4 → 2 (S/B/A/B/C), The Swarmlord 2 → 4 (S/S/A/–/A). Space Marines: Inceptor Squad 41 → 30 (A/B), Terminator Squad 57 → 46 (A/D), Librarian in Terminator Armour 69 → 58 (S/B), Storm Speeder Hailstrike 39 → 29 (B/C), Captain 26 → 36 (A/B), Suppressor Squad 33 → 24 (B/C), Rhino 18 → 26 (B/D), Bladeguard Veteran Squad 37 → 45 (S/A).
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 5.0e-16; every form's basis matched valueForm() (6.1e-16).
- Ranking rows: base solo/solo; arrivalKill solo/solo.
- Run times (the main fit; with folds and scrambles on 3 threads): base 4.6 s (23.8 s); arrivalKill 2.99 s (20.1 s). Total 45.1 s.