Tactical Reroll
⋯

The cascade, stages 1 and 2: World Eaters, then Tyranids (provisional)

From reports/tiers/2026-10-05-cascade-we.md , rendered when the site is built.

5 Oct. tools/cascade.js; results in build/cascade/ (git-ignored). Snapshot 8eb69bc7af, inputs hash a20dbd2c3316. Base: Track A (tools/ledger-benchmarks/2026-10-05-step34b-baseline.json). Nothing in the ledger moves.

Provisional. Dials still to come: the army rules (T-695's game-wide dials), the final character strengths, Soak effects (T-696), Hidden (T-699). The bar per army is "no worse than today": Track A's own score on that army's 11th-edition lists on this snapshot (World Eaters 67.54%, Tyranids 82.45%), never below 60%.

How it was run

Every combination of the dials below, laid over Track A, through the ledger page's own compute() (as tools/exam.js runs a setting: wCarry 0, post hooks after), scored as the exam scores an army: pairwise accuracy over S to D on each 11e list, the mean over the lists (World Eaters: Red Path, Tactical Sugar, Exalted; Tyranids: Auspex, Hivemind, Into the Hive Mind). The score of Track A matches exam.js to the bit on both armies. The control: the same combinations on scrambled letters, three seeds, each list's letters shuffled among the units that list grades, the same bar.

DialValues
aircraftBoard0, 1
smallPiece0, 0.2, 0.4
attachChars0, 1
r.first, r.cp, lands (the old fitted numbers)1 / 1.8 / 2.64; 1 / 1.4 / 1.88; 1 / 1.25 / 1.5
β3, 6, 12
typicalSize (rule mean, through tools/typical.js's post hook)0, 0.25, 0.5
modeScarcity0, 0.2
screen slots (T-677's World Eaters setting)off, on
charEpic0, 0.5
gradeBy (T-700, a post step)perPoint (today), total (Value × points ÷ 100), half (Value × √(points ÷ 100))
r.synapse (stage 2 only)1, 1.5, 2.18

The first sweep had cpOnce {0, 1}, charHome, charPsychic and charEpic at {0, 0.2} and no gradeBy (186,624 combinations, 62,208 computes, 24 minutes). The character measurement then came in final: only charEpic is kept, at {0, 0.5}. That sweep was finished and is kept (build/cascade/stage1-world-eaters-chars.json); the grid above was then run in full (it is the smaller one, so no slice was needed). The first sweep's numbers: 148,608 of 186,624 survive (80%), best 81.08% (with charHome 0.2), scrambled 0 survivors (best 62.7, 61.4, 58.0); cpOnce, charPsychic and charEpic 0.2 at exactly 50% among survivors (no effect on World Eaters).

Time: World Eaters 13 to 23 ms of wall time per compute on 3 processes (about 40 to 70 ms each), so 1.4 to 2.5 ms per combination with the post dials sharing a compute (9 per compute here); Tyranids 42 ms per compute, 4.7 ms per combination. Stage 1: 7,776 computes in 101 s. Stage 2: 19,764 computes in 14 minutes.

Stage 1: World Eaters (69,984 combinations)

SurvivorsBestTrack A here
Real letters27,726 (40%)80.47%67.54%
Scrambled, seed 11062.69%54.84%
Scrambled, seed 12061.17%54.63%
Scrambled, seed 13058.01%56.14%
Points alone (no ledger)–45.90% (scrambled 51.2, 46.5, 49.4)–

The real search clearly beats the control: no scrambled combination reaches the bar, and the real best is 18 points above the best scrambled one. The search alone buys up to 8 points on scrambled letters (best against base: +7.8, +6.5, +1.9), against +12.9 on the real ones.

What survivors share (share of survivors at each value; every value is 1/2 or 1/3 of the grid):

DialSurvivors
screenon 74.9%, off 25.1% (best off 74.4% against on 80.5%)
gradeByperPoint 66.0%, half 33.9%, total 0.0% (12 combinations, best 67.74%)
r.cp1.88 39.9%, 1.4 35.5%, 1 24.5%
attachChars1 56.2%, 0 43.8%
modeScarcity0.2 53.1%, 0 46.9%
smallPiece0 36.7%, 0.2 35.9%, 0.4 27.4%
lands, β, typicalSize, charEpicwithin 3 points of even
aircraftBoard, r.firstexactly even: no effect on World Eaters (no aircraft; Fights First credited the same at every strength)

gradeBy against points alone (T-700): ranked by points alone, World Eaters score 45.9% (below chance: the reviewers rate the cheap pieces higher). total reaches the bar 12 times (best 67.74%, scrambled best 59.7, 58.1, 56.7) and half 9,408 times (best 75.71%, scrambled 62.0, 59.7, 57.3); perPoint 18,306 (best 80.47%). Both beat points alone by 20 or more points, so the ledger carries the signal, but total is worse than today's per-point grading at every combination's best.

Top 20 (all perPoint; aircraftBoard and r.first don't move World Eaters, so each row stands for six):

#ScoreaircraftBoard / r.firstsmallPieceattachCharsr.cplandsβmodeScarcityscreencharEpictypicalSize
1–680.47any0.211.881.560.2on00
7–1280.15any0.201.88160on00
13–1880.13any011.41.5120.2on00
19–2079.97aircraftBoard 0011.881120.2on00

Stage 2: Tyranids (the 27,726 survivors × r.synapse: 83,178 combinations)

Two readings of World Eaters' own dials (screen slots and modeScarcity, "World Eaters' own dials" in the brief):

Game-wide (screen and modeScarcity apply to Tyranids too)World Eaters only (Tyranids at off and 0)
Survivors, real3,43912,008
Best, real84.99% (its World Eaters score 68.56%)85.08% (World Eaters 74.98%)
Scrambled survivors (seeds 11 / 12 / 13)0 / 0 / 00 / 0 / 0
Scrambled best57.7 / 57.3 / 51.2 (Track A 55.4 / 51.6 / 45.3)57.7 / 54.2 / 50.1
Best mean of the two armies78.44 (World Eaters 74.38, Tyranids 82.49)81.68 (World Eaters 79.81, Tyranids 83.55)
Points alone48.6% (scrambled 45.4, 46.0, 50.3)the same

The Tyranid control here scores the real World Eaters survivors on scrambled Tyranid letters (a chained control would need scrambled World Eaters survivors, and there are none).

What survivors share (game-wide reading; World Eaters-only beside where it differs):

DialSurvivors (game-wide)World Eaters only
screenoff 100% (on: best 81.29%, under the bar)on 63.2% (from World Eaters)
gradeByperPoint 100% (half best 81.11%, total 73.54%)perPoint 98.4%, half 1.6% (188)
r.synapse2.18 52.5%, 1.5 47.3%, 1 0.3%1.5 52.5%, 2.18 47.2%, 1 0.2%
r.cp1.88 58.2%, 1.4 39.4%, 1 2.4%1.88 48.7%, 1.4 37.8%, 1 13.5%
smallPiece0 64.1%, 0.2 34.7%, 0.4 1.2%0 60.0%, 0.2 36.0%, 0.4 4.0%
β3 49.5%, 6 25.7%, 12 24.8%3 51.4%
r.first1.8 41.8%, 2.64 40.9%, 1 17.2%the same shape
lands1.25 41.3%, 1.5 37.0%, 1 21.8%1.25 43.7%
aircraftBoard1 61.2%1 58.7%
attachChars0 57.1% (of 44% coming in)0 65.3%
typicalSize, modeScarcity, charEpicnear what came inthe same

Top 5, game-wide (all perPoint, screen off, r.synapse 1.5, r.cp 1.88, β 3, attachChars 0, aircraftBoard 1): 84.99 (smallPiece 0.2, r.first 1.8, lands 1.25, typicalSize 0.5), 84.83 (typicalSize 0), 84.78 (r.first 2.64), 84.76 (typicalSize 0.25), 84.74 (r.first 1). The top 20 are in build/cascade/stage2-tyranids.json.

Reading it

Files: build/cascade/stage1-world-eaters.json, stage2-tyranids.json, stage2-tyranids-armyonly.json (each with every survivor's settings and scores), stage1-world-eaters-chars.json (the first sweep).