6 Oct 2026, Pacific (T-751; Jordan approved 6 Oct: the five steps T-748 proposed, one at a time, each a declared step on the current benchmark). Frozen snapshot b3c416933e, inputs hash 1b88e955b9b3; base Track A2 (step 41, tools/ledger-benchmarks/2026-10-06-step41-stable.json, wCarry 0, its typical post included). Tools: tools/sheetlayer.js (the three dials that act on Value, a post step chained after the stable layer) and tools/sheetstep.js (tools/recipestep.js's protocol, one dial per step, the shuffled controls in the keep rule). Numbers in build/recipe/step46.json to step50.json (git-ignored). Each step's prediction and keep rule were written in reports/tiers/ledger-steps.md and committed before its first score was printed. Nothing on the page, in the published benchmark or on the site moves.
In plain English
Verdict: all five steps reverted. Track A2 stays the benchmark; there is no Track A3 candidate.
T-748 showed that averaging the ledger's rank with a small datasheet model beats the ledger on lists no fit saw. The idea here was to take that model's strongest signals into the ledger one at a time, as named multipliers a reader can follow. Each step had one dial on a small grid. The dial was chosen on 10 armies and scored on the other 5. To be kept, a step had to do four things:
- gain on the held-out armies;
- keep the low end of its 95% interval above −0.5;
- leave at least 9 of 15 armies not falling;
- beat three runs on shuffled letters put through the same fit.
None did.
| Step | The dial (grid) | Held-out gain [95%] | Armies not falling (up / down) | Picked on the folds | Shuffled controls (picks; held-out gain) | Verdict |
|---|---|---|---|---|---|---|
| 46 speed within its kind | Value × (Move ÷ its kind's median Move)^k, k {0, 0.25, 0.5, 1} | +1.1 [−0.6, +2.7] | 10 (10 / 5) | k 1 in 9 of 9 folds, 15 of 15 leave-one-out | 1 ×7 (+1.0); 1 ×7 (+0.5); 0.25 ×4, 0 ×3 (−0.6); mean +0.3 | revert (the floor) |
| 47 Epic Hero or Psyker | × exp(a), a {0, 0.15, 0.3} | −0.3 [−1.2, +0.5] | 8 (8 / 7) | split: 0.15 ×4, 0.3 ×3, 0 ×2 | 0 ×5 (−0.5); 0.3 ×8 (+0.3); 0.3 ×9 (+1.0); mean +0.3 | revert (every part) |
| 48 Infantry | × exp(b), b {0, 0.15, 0.3} | −0.2 [−1.0, +0.7] | 8 (8 / 7) | 0.15 ×6, 0 ×2, 0.3 ×1 | 0 ×9 (+0.0); 0.3 ×9 (+0.8); 0.3 ×5 (−0.3); mean +0.2 | revert (every part) |
| 49 toughness and wounds | the Soak weight wSoak ×1, ×2, ×4 | −0.1 [−0.3, +0.0] | 7 (2 / 8) | ×1 (the base) ×6, ×4 ×2, ×2 ×1 | ×4 ×8 (+0.0); split (−0.3); ×1 ×9 (+0.0); mean −0.1 | revert |
| 50 Lone Operative | rules.lone 1.93, 2.5, 3 | +0.0 [+0.0, +0.0] | 15 (0 / 0) | 3 ×6, 1.93 ×3 | 1.93 ×9; 1.93 ×9; 3 ×6; all +0.0 | revert (no gain) |
Step by step.
- 46, speed within its kind, came closest. It gained +1.1 held out, and leave one army out gave the same. Gemini at half weight gave +1.0 [−0.4, +2.6]. Every fold picked the top of the grid, k = 1.
- It failed on one part of the rule: the low end of its interval (−0.6) is below −0.5.
- It beat the shuffled controls' mean (+0.3), but noise also picks the top. Two of the three shuffled runs chose k = 1 in 7 of 9 folds, and one of them gained +1.0 held out. So the stable choice of k = 1 isn't evidence on its own, as in step 43. The grid was not extended, by the rule set beforehand (the shuffles pick the top too).
- Armies (held out): Blood Angels +8.9, Dark Angels +7.0, Space Marines +4.2, Thousand Sons +3.6; Adeptus Mechanicus −5.0, Votann −2.9, Space Wolves −2.1, Drukhari −1.9.
- 47, Epic Hero or Psyker: nothing beyond charEpic. Track A2 already carries charEpic 0.5. The folds split between 0, 0.15 and 0.3, and the held-out gain is −0.3. Two of the three shuffled runs picked the top of the grid and did better than the real letters. T-748's Epic Hero (+0.33) and Psyker (+0.22) signals don't survive as one factor on Value.
- 48, Infantry: noise. The held-out gain is −0.2. Every part of the rule fails, and one shuffled run (+0.8) does better. The Votann lose 2.2, because nearly the whole army is Infantry.
- 49, the Soak weight can't carry toughness. Even ×4 lifts a unit's Value by only 3 to 11%. Soak is a small share of Value, and threatSoak gates it by the unit's Kill, so almost no graded pair changes order. The folds kept the base. T-748 also named a fallback: Toughness against the army's median, as a flag. Jordan's list of five didn't include it, so it wasn't run.
- 50, Lone Operative: almost nothing to move. Raising the multiplier to 2.5 or 3 changes no graded pair outside the Orks (+0.3 there).
- The folds that train on the Orks pick 3, then score it on armies where nothing moves.
- The folds that hold the Orks out see no gain anywhere, and keep the base.
- Held out, that is +0.0 exactly. It fails on "gain above 0" and on beating the shuffles.
The five together (a diagnostic, declared before it ran; not a candidate, since its values are the folds' modal picks over all 15 armies): speed 1, Epic Hero or Psyker 0.15, Infantry 0.15, Soak ×1, Lone Operative 3.
- Held out over Track A2: +1.3 [−0.6, +3.1], 9 of 15 not falling. Gemini at half: +1.3 [−0.6, +3.0].
- Shuffled: +0.2, +1.5 and −0.8 (mean +0.3). One shuffled run beats the real letters.
- It would fail on the floor too. Speed carries nearly all of it (+1.1 alone).
What it means.
- The ensemble's gain doesn't come through as multipliers on Value. T-748's model is useful when it is averaged with the ledger, because the two are wrong about different units. Taken one at a time as factors on Value, its signals are either noise on the exam's armies (Epic Hero or Psyker, Infantry), out of reach (toughness through Soak), or about too few units (Lone Operative).
- Speed within its kind is the one real lead. It is the largest signal, it held its sign everywhere, and it moved the right units: Land Speeders and Wulfen up, the Helbrute down. But it is not separable from noise on 15 armies with mostly one list each. The interval needs more lists, not a wider grid. T-733's drafted lists for the single-list armies would be the honest next test.
- The benchmark stays Track A2. No setting is saved. Nothing in tools/ledger-benchmarks/ changes.
Against the predictions (each written before its scores):
- 46: right on the main points. The folds picked k = 1 in 9 of 9. The gain (+1.1) and the count (10 armies) were inside the predicted ranges. The shuffles came out below the real gain, the floor decided it, and the verdict was revert, as predicted. Wrong: the Space Wolves fell instead of rising.
- 47: mostly wrong. The picks split instead of settling on 0.3. The gain was −0.3, not +0.3 to +0.8. Only 8 armies didn't fall, not 10 to 13. The shuffles beat the real gain.
- 48: right on the size, the count and the verdict. The folds settled on 0.15 more often than predicted.
- 49: wrong on the picks (the base, not ×2 or ×4) and the gain (−0.1, not +0.2 to +1.0). Right on the revert.
- 50: right on the narrow interval and the 15 armies not falling. Wrong on the sign: the gain was exactly 0, so the tie rule decided it.
The disputed units
Rank among the army's ranked units, before → after, and the unit's factor. Letters are each panel's, Gemini's excluded. Each step at the value its folds picked most often. For step 49, which kept the base, the grid's top is shown.
Step 46, speed 1:
- Space Marines. Land Speeder 29th → 6th (×1.40; S S S): right. Scout Squad 54th → 56th (×1.00; S S S S): unmoved.
- Dark Angels. Land Speeder 37th → 14th (S) and Land Speeder Vengeance 5th → 4th (A): right. Scout Squad 60th → 55th.
- Death Guard. Helbrute 11th → 23rd (×0.70; C): right. Poxwalkers 16th and the Biologus Putrifier 31st: unmoved.
- Leagues of Votann. Thunderkyn 5th and Hearthguard 16th: unmoved, because both have their kind's median Move.
- Space Wolves.
- Up: Wulfen with Storm Shields 4th → 2nd (B), Wulfen 8th → 5th (C), Wolf Scouts 18th → 12th (B).
- Down: Logan Grimnar 2nd → 4th (S; Move 6 against the Infantry median of 7) and Arjac 12th → 13th (A), both wrong.
Step 47, Epic Hero or Psyker 0.15:
- Space Wolves.
- Right: Arjac 12th → 7th (A) and Njal 16th → 14th (B).
- Wrong: Ragnar 7th → 5th (C) and Ulrik 15th → 13th (C).
- Unmoved: Logan 2nd, Bjorn 1st and Murderfang 3rd.
- Everyone else among the disputed units drops a place or two as characters pass them.
Step 48, Infantry 0.15:
- Up: Scout Squads four places (54th → 50th and 60th → 56th; S, A), Poxwalkers 16th → 14th (B), Hearthguard 16th → 14th (A). Right, but small.
- Down: Land Speeders 29th → 35th and 37th → 44th, and the Vengeance 5th → 9th. Wrong, against their S and A letters.
Step 49, Soak ×4:
- Factors of ×1.03 to ×1.11. Poxwalkers 16th → 18th, the Helbrute 11th → 12th, Wulfen 8th → 7th; the rest hold.
Step 50, Lone Operative 3:
- None of the disputed units carries the rule, and none moves.
The final stack against Track A2: none was kept, so the stack is Track A2 itself and every army's change is 0. For the record, the five-together diagnostic moved these units:
- Space Marines. Land Speeder 29th → 8th. Scout Squad 54th → 49th.
- Dark Angels. Land Speeder 37th → 18th. Scout Squad 60th → 51st.
- Death Guard. Helbrute 11th → 26th. Poxwalkers 16th → 14th. The Biologus held.
- Leagues of Votann. Hearthguard 16th → 14th. Thunderkyn held.
- Space Wolves.
- Wulfen with Storm Shields 4th → 3rd, Wulfen 8th → 5th, Wolf Scouts 18th → 14th.
- Ulrik 15th → 12th and Njal 16th → 13th.
The diagnostic's change by army: Blood Angels +9.7, Dark Angels +6.7, Thousand Sons +5.8, Space Marines +5.3, Death Guard +5.0, Orks +4.1, World Eaters +2.5, Genestealer Cults +0.8, Emperor's Children +0.5; Leagues of Votann −6.7, Adeptus Mechanicus −5.3, Drukhari −2.9, Space Wolves −2.9, Astra Militarum −1.6, Agents −1.3. Its held-out change equals the fixed one, army by army, because every human fold picked it.
The Tyranids (never in the exam; three 11e lists / all five / the three lists' consensus, 583 pairs)
Base 82.6 / 79.4 / 90.4.
- Step 46 at speed 1: 82.5 / 79.0 / 91.6.
- Step 47 at 0.15: 82.8 / 79.3 / 90.9.
- Step 48 at 0.15: 82.7 / 79.3 / 90.7.
- Step 49 at ×4: 83.2 / 79.8 / 91.1.
- Step 50: unchanged.
- The five together: 82.8 / 78.9 / 91.8.
Every step was within ±0.6 on the three lists, as predicted.
The tables
Each step's full output (tools/sheetstep.js --step N --base step41) is in build/recipe/step<N>.md. Summaries:
Step 46: sheetSpeed (speed within its kind)
| Yardstick | Held-out gain [units] {armies} | Up / down (not falling) | Leave one out | Picks (9 folds) |
|---|---|---|---|---|
| Human lists | +1.1 ± 0.9 [−0.6, +2.7] {−0.6, +3.0} | 10 / 5 (10) | +1.1 [−0.6, +2.7] | 1 ×9 |
| Gemini at half | +1.0 ± 0.7 [−0.4, +2.6] {−0.3, +2.5} | 10 / 5 (10) | +1.0 [−0.4, +2.6] | 1 ×9 |
| Shuffled, seed 11 | +1.0 ± 0.5 | 10 / 4 (11) | +1.3 | 1 ×7, 0.5 ×2 |
| Shuffled, seed 12 | +0.5 ± 0.6 | 7 / 8 (7) | +0.8 | 1 ×7, 0.25 ×2 |
| Shuffled, seed 13 | −0.6 ± 0.3 | 5 / 8 (7) | −0.8 | 0.25 ×4, 0 ×3, 1 ×2 |
Fixed (human; shuffled mean): k 0.25 +0.3 [−0.4, +0.9] (+0.4); 0.5 +0.5 [−0.7, +1.5] (+0.4); 1 +1.1 [−0.6, +2.7] (+0.6).
| Army | Base | Held out | k 0.25 | k 0.5 | k 1 |
|---|---|---|---|---|---|
| Space Marines | 60.3 | +4.2 | +2.2 | +3.9 | +4.2 |
| Adeptus Mechanicus | 70.5 | −5.0 | +0.0 | −1.6 | −5.0 |
| Agents of the Imperium | 66.4 | +0.4 | +0.0 | +0.9 | +0.4 |
| Astra Militarum | 71.3 | +1.7 | +0.0 | +0.5 | +1.7 |
| Blood Angels | 69.4 | +8.9 | +2.4 | +4.0 | +8.9 |
| Dark Angels | 53.7 | +7.0 | +2.7 | +4.5 | +7.0 |
| Death Guard | 57.8 | +0.8 | −0.2 | −0.4 | +0.8 |
| Drukhari | 63.8 | −1.9 | +0.0 | −0.5 | −1.9 |
| Emperor's Children | 69.6 | +0.5 | −0.5 | +0.0 | +0.5 |
| Genestealer Cults | 52.2 | −1.1 | −0.8 | −1.6 | −1.1 |
| Leagues of Votann | 61.0 | −2.9 | −1.0 | −2.9 | −2.9 |
| Orks | 66.2 | +1.7 | +1.5 | +1.0 | +1.7 |
| Space Wolves | 45.0 | −2.1 | −2.1 | −2.1 | −2.1 |
| Thousand Sons | 40.8 | +3.6 | +0.3 | +1.0 | +3.6 |
| World Eaters | 64.3 | +0.5 | −0.4 | +0.5 | +0.5 |
Step 47: sheetEpicPsyker
| Yardstick | Held-out gain [units] {armies} | Up / down (not falling) | Leave one out | Picks (9 folds) |
|---|---|---|---|---|
| Human lists | −0.3 ± 0.4 [−1.2, +0.5] {−1.2, +0.4} | 8 / 7 (8) | +0.1 [−1.0, +1.1] | 0.15 ×4, 0.3 ×3, 0 ×2 |
| Gemini at half | −0.3 ± 0.5 [−1.5, +0.6] {−1.3, +0.5} | 9 / 6 (9) | −0.3 [−1.5, +0.8] | 0.3 ×5, 0.15 ×2, 0 ×2 |
| Shuffled, seed 11 | −0.5 ± 0.2 | 2 / 10 (5) | −0.2 | 0 ×5, 0.15 ×3, 0.3 ×1 |
| Shuffled, seed 12 | +0.3 ± 0.5 | 7 / 8 (7) | +0.5 | 0.3 ×8, 0 ×1 |
| Shuffled, seed 13 | +1.0 ± 0.8 | 9 / 3 (12) | +1.0 | 0.3 ×9 |
Fixed: 0.15 +0.3 [−0.5, +1.2] (shuffled +0.0); 0.3 +0.2 [−1.2, +1.6] (+0.3). Held out by army: Thousand Sons +1.8, Death Guard +1.3, Orks +1.1, Space Wolves +1.0, Blood Angels +0.5, Space Marines +0.4, Adeptus Mechanicus +0.2, Genestealer Cults +0.2; Astra Militarum −0.1, Dark Angels −0.2, World Eaters −0.8, Drukhari −1.1, Agents −1.5, Leagues of Votann −3.5, Emperor's Children −3.7.
Step 48: sheetInfantry
| Yardstick | Held-out gain [units] {armies} | Up / down (not falling) | Leave one out | Picks (9 folds) |
|---|---|---|---|---|
| Human lists | −0.2 ± 0.3 [−1.0, +0.7] {−0.8, +0.4} | 8 / 7 (8) | +0.2 [−0.7, +1.1] | 0.15 ×6, 0 ×2, 0.3 ×1 |
| Gemini at half | −0.1 ± 0.5 [−1.2, +0.9] {−1.0, +0.7} | 8 / 7 (8) | −0.1 [−1.2, +0.8] | 0.15 ×5, 0.3 ×3, 0 ×1 |
| Shuffled, seed 11 | +0.0 | 0 / 0 (15) | +0.0 | 0 ×9 |
| Shuffled, seed 12 | +0.8 ± 0.6 | 8 / 6 (9) | +0.8 | 0.3 ×9 |
| Shuffled, seed 13 | −0.3 ± 0.7 | 9 / 6 (9) | −0.3 | 0.3 ×5, 0 ×2, 0.15 ×2 |
Fixed: 0.15 +0.2 [−0.7, +1.1] (shuffled +0.1); 0.3 −0.2 [−1.7, +1.3] (+0.1). Held out by army: Death Guard +1.3, Thousand Sons +1.1, Space Wolves +1.0, Orks +0.7, World Eaters +0.7, Space Marines +0.6, Dark Angels +0.6, Drukhari +0.2; Genestealer Cults −0.2, Agents −0.3, Blood Angels −0.8, Adeptus Mechanicus −0.9, Emperor's Children −1.0, Leagues of Votann −2.2, Astra Militarum −2.8.
Step 49: wSoak
| Yardstick | Held-out gain [units] {armies} | Up / down (not falling) | Leave one out | Picks (9 folds) |
|---|---|---|---|---|
| Human lists | −0.1 ± 0.1 [−0.3, +0.0] {−0.3, −0.0} | 2 / 8 (7) | −0.1 [−0.3, +0.0] | ×1 ×6, ×4 ×2, ×2 ×1 |
| Gemini at half | −0.1 ± 0.1 [−0.4, +0.0] {−0.3, −0.0} | 2 / 9 (6) | −0.1 [−0.3, +0.0] | ×1 ×6, ×4 ×3 |
| Shuffled, seed 11 | +0.0 ± 0.2 | 7 / 4 (11) | −0.0 | ×4 ×8, ×1 ×1 |
| Shuffled, seed 12 | −0.3 ± 0.1 | 3 / 9 (6) | −0.4 | ×4 ×4, ×1 ×3, ×2 ×2 |
| Shuffled, seed 13 | +0.0 | 0 / 0 (15) | +0.0 | ×1 ×9 |
Fixed: ×2 −0.0 [−0.4, +0.3]; ×4 −0.1 [−0.9, +0.7] (Astra Militarum +2.2, Votann +1.9; Genestealer Cults −1.3, Dark Angels, Drukhari and Thousand Sons −1.0).
Step 50: rules.lone
Held out +0.0 [+0.0, +0.0], 15 of 15 not falling, leave one out +0.0; picks 3 ×6, 1.93 ×3. Fixed 2.5 and 3: +0.0 [+0.0, +0.1], only the Orks change (+0.2, +0.3). Shuffled: 1.93 ×9, 1.93 ×9, 3 ×6; all +0.0.
The test, as written before scoring
- Base: step 41 (Track A2) for every step, since no step was kept.
- Each step: one dial on a fixed grid, with the base's own value first so the base wins ties. Each step was measured with tools/sheetstep.js, which runs tools/recipestep.js's evaluate():
- the 15 exam armies, 3 seeds × 3 folds, the value chosen on 10 armies and scored on 5;
- leave one army out;
- Gemini's letters added at half weight;
- the Tyranids beside, never in the choice;
- three shuffled letter sets (seeds 11 to 13) through the same fit;
- a paired unit bootstrap of 1,000 draws (rng 739) and armies resampled (rng 740).
- Keep rule (T-751): all four must hold:
- the human held-out gain is above 0;
- its unit interval's low end is above −0.5;
- at least 9 of 15 armies don't fall;
- the real gain is above the mean of the three shuffled held-out gains. A kept step becomes the next step's base, saved as tools/ledger-benchmarks/2026-10-06-step<n>-<name>.json. None was.
- Checks:
- The layer with every dial at 0 returns the run unchanged.
- Each step at the base's own value equals Track A2 to the bit (tests/unit/sheetlayer.test.js).
- The scores come through the exam's own path (recipestep.js armyData: exam.js runOf with the post chain).