Tactical Reroll
⋯

The dial inventory: every dial, searched or not

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

5 Oct (T-726). tools/dialinventory.js; the machine-readable inventory is tools/dial-inventory.json. Snapshot 8dcd24032d, inputs hash dcd477d8a78c. Base: Track A (tools/ledger-benchmarks/2026-10-05-step34b-baseline.json), Track B beside. A report: nothing in the ledger moves, nothing is removed and nothing is adopted.

In plain English

Jordan's rule (5 Oct): every dial goes into the searches, and off is one of its options, never its permanent home. This is the list of every dial we have, so that nothing is left out again.

On 5 Oct Jordan asked that the cascade re-run also search the measured replacements, supportMeasured and synapseMarginal (design/decisions.md). Neither was in cascade2's grid.

How it was run

Recommended: a space-filling screen, then a full factorial on what moves.

Factors. About 100, built from the 140 searchable live dials. wKill is held fixed, and raw, popshare, typicalW, pointsExp and prem are left out.

Stage 1, the screen.

The analysis.

Stage 2, the full factorial.

Why this design.

Rejected:

Tables

Columns:

weights

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
wKillKillweight on Kill (enemy points removed per 100, as Burst)0, 249.08, 498.166, 996.33498.166 · 498.166no16/16, 724 (800)T-588; fitted 498.166 (step 6); Kill is ~91% of Value; Kill alone 58.4% on 14 armies
wSoakSoakweight on Soak (enemy fire absorbed, gated by threat)0, 7.48, 14.97, 29.9314.9672 · 14.9672no16/16, 724 (187)T-588; fitted 14.97; ~2% of Value
wScoreScoreweight on objective control per 100 points0, 9.65, 19.39.6518 · 9.6518no16/16, 686 (331)T-588; fitted 9.65; scoreFloor (22) and missionVP (28) tried as its shape, not kept
wActionsActionsweight on actions per 100 points0, 1.31, 2.611.3058 · 1.3058no16/16, 718 (21)T-588; fitted 1.31; secondaryVP (27) replaces it when on
wHoldHoldweight on OC × Soak ÷ 100 (holding an objective)0, 18.89, 37.7818.8878 · 18.8878no16/16, 686 (624)T-588; fitted 18.89
wPresencePresenceweight on bodies on the board per 100 points0, 2.52, 5.032.5155 · 2.5155no16/16, 719 (66)T-588; fitted 2.52
wSpawnSpawnworth of a spawned point against a point killed0, 15.65, 31.3115.6533 · 15.6533no1/16, 5 (1)T-595; fitted 15.65
premKillKill premium, × all Kill (a second Kill weight). the same job as wKill11 · 1no16/16, 724 (342)T-588; neutral at 1, never moved

base

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
landsKill (melee)scale on each form's charge-model landing share1, 1.25, 1.51.5 · 1.51.25/1.5 (game-wide)16/16, 724 (755)T-590/T-596; 1.5 in Track A; step 32 (1.25) not kept; cascade2 1.25/1.5, survivors keep 1.5
betaKill, Soaktarget-choice sharpness β (how well a unit picks its targets)3, 6, 126 · 66/12 (game-wide)16/16, 725 (734)design/ledger.md §11; 6; cascade2 6/12, survivors keep 6
threatSoakthe old threat weighting t on Soak (threatSoak replaced it)0, 10 · 0no0/16, 0 (0)T-597; 0 in Track A since step 26 (threatSoak)
solorankingrank each unit at its best solo form (0: best of every form, joined included)1, 01 · 1no16/16, 255 (4253)T-597; on
scarcityKillrole scarcity on Kill (scarce killers worth more)0, 11 · 1no16/16, 723 (3041)T-598; on; Space Marines −4.2 [−9.1, +0.7] on their own row (T-681), its place open
soakfxSoakSoak effects (time off the table, heals)0, 11 · 1no2/16, 3 (1)T-599; on; moves nothing on Space Marines (T-681)
rawalllines as measured, before T-608's one scale. a units switch, not a model dial00 · 0no16/16, 733 (951)T-608; 0; for benchmarks saved before T-608 only
reachPresencearrival reach: own bodies × reach when it can arrive far forward1, 1.5, 21 · 1no16/16, 255 (14)T-608; step 4 (1.5) reverted
combodisplayshow a joined form in the Combos table when it beats its parts by this %. never moves a Value10 · 10no0/16, 0 (0)T-589; display only

calls

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
anywherePresence× spawned units placed anywhere (the Biovore dial)1, 100, 523523 · 523no1/16, 3 (39)Jordan's call, step 5: 1 → 523 (Biovores 49th → 5th); step 33 confines it to the Biovores
tunnelPresencePresence per Subterranean Assault tunnel marker0, 10 · 0no1/16, 2 (0)Jordan's call (T-601); 0, never searched
fireBKill over the gameenemy points shooting each unit a turn (only with killOverGame) (with {killOverGame:1})null, 300– · –no16/16, 716 (1385); alone 0Jordan's call (T-623); hibernated with killOverGame
wCarryCarrythe Transports weight (capacity per point; the cargo line's weight with carryCargo)0, 0.5, 10 · 0no14/16, 84 (1804)Jordan's call (T-629); step 20 with carryDedicated reverted; every value costs the Tyranid lists; held at 0 by the exam and the cascades

rules

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
r.arrivalKill (and Soak) multipliers× arrival rules (reserves, Deep Strike, Scouts): measured by the charge model since T-596–1 · 1no0/16, 0 (0)no multiplier since T-596
r.movementKill (and Soak) multipliers× extra movement–1 · 1no15/16, 339 (148)1, never fitted
r.mortalKill (and Soak) multipliers× mortal wounds outside attacks–1 · 1no16/16, 558 (698)step 29: 1.69 → 1, confirmed
r.overwatchKill (and Soak) multipliers× Better Overwatch (Jordan's call)–1 · 1no8/16, 180 (304)Jordan's call, 1, never searched
r.firstKill (and Soak) multipliers× Fights First–2.64 · 2.641.8/2.64 (game-wide)8/16, 15 (54)fitted 2.64 on 3 units (step 6); step 31 halve not kept; cascade2 1.8/2.64
r.loneKill (and Soak) multipliers× Lone Operative–1.93 · 1.93no13/16, 32 (9)fitted 1.93; step 31 not kept; designers +10% (price list)
r.synapseKill (and Soak) multipliers× Synapse (multiplies the carrier's own Kill)–2.18 · 2.181.5/2.18 (game-wide)2/16, 26 (122)fitted 2.18; step 31 not kept; cascade2 1.5/2.18
r.debuffKill (and Soak) multipliers× debuffs on the enemy–1 · 1no16/16, 125 (964)1, never fitted
r.buffKill (and Soak) multipliers× buffs on friends–1.12 · 1.12no15/16, 113 (281)step 30: 1.24 → 1.12, confirmed
r.spawnKill (and Soak) multipliers× spawning: measured by the Spawn line since T-596–1 · 1no2/16, 7 (36)no multiplier since T-596
r.healKill (and Soak) multipliers× healing–1.805 · 1.805no12/16, 54 (572)step 30: 2.61 → 1.805, confirmed
r.cpKill (and Soak) multipliers× command points–1.88 · 1.881.88/2.88 (game-wide)16/16, 88 (500)fitted 1.88; 34b re-filed 11 reaction moves; cascade2 1.88/2.88 (flips between chains)
r.detachmentKill (and Soak) multipliers× detachment rules–1.065 · 1.065no13/16, 255 (108)step 30: 1.13 → 1.065, confirmed

cuts

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
cutSletterthe S band cut on Value within the army (default top 10/30/60/85%). never moves a Value; pairwise accuracy can't see itdata · datanonot runT-589; letters only; the span yardstick (T-689) reads them
cutAletterthe A band cut on Value within the army (default top 10/30/60/85%). never moves a Value; pairwise accuracy can't see itdata · datanonot runT-589; letters only; the span yardstick (T-689) reads them
cutBletterthe B band cut on Value within the army (default top 10/30/60/85%). never moves a Value; pairwise accuracy can't see itdata · datanonot runT-589; letters only; the span yardstick (T-689) reads them
cutCletterthe C band cut on Value within the army (default top 10/30/60/85%). never moves a Value; pairwise accuracy can't see itdata · datanonot runT-589; letters only; the span yardstick (T-689) reads them

switches

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
charsJoinedKillKill against the typical army with its characters joined (killNC)0, 10 · 0no0/16, 0 (0)T-605, step 7 reverted (ρ 0.569 → 0.542)
synapseMarginalKillSynapse as one more source's worth (synapseAdd), not a multiplier0, 10 · 0no1/16, 18 (173)T-611, step 6 reverted (0.569 → 0.516)
landsNoClampKill (melee)lands as 1 − (1 − p)^scale in place of the clamp0, 10 · 0no16/16, 724 (764)T-612, step 8 reverted (−0.021)
killMarginKillKill with the rest of the list firing first (killM)0, 10 · 0no0/16, 0 (0)T-613; never measured: its field killM was never built
condSharesKillconditional abilities at their share of the game (condMult)0, 10 · 0no2/16, 130 (170)T-614, step 9 reverted (−0.009)
leadersLeadingrankinga leader ranks at its best joined form0, 10 · 0no16/16, 182 (3790)T-604, step 10 reverted (−0.035); exam −2.3; T-715 toggles: none holds
killOverGameKillKill × share of the game still fighting0, 10 · 0no16/16, 718 (4160)T-623, step 12 reverted (0.487 → 0.406)
joinedMarginalrankinga unit ranks at the better of solo and its worth at the margin inside its best joined unit0, 10 · 0no16/16, 287 (4366)T-624, step 13 reverted; exam −3.4; T-715 toggles: none holds
joinedShapleyrankingwith joinedMarginal: the joined synergy split evenly (Shapley) (with {joinedMarginal:1})0, 10 · 0no16/16, 287 (1709); alone 0step 14 reverted; exam −1.4 with joinedMarginal; T-715: +0.28 pooled, −0.19 held out
killByJobKillKill ranked against peers in four jobs, in place of role scarcity0, 10 · 0no16/16, 714 (3127)T-626, step 16 reverted (0.472 → 0.348)
arrivalKillKillKill dealt in the turn it arrives forward0, 10 · 0no16/16, 628 (801)T-633, step 18 reverted at 1; in Track B + 4 dials (1.5)
scarceAnswersKillthe gap the unit leaves in its army's answers0, 10 · 0no16/16, 724 (2981)T-634, step 19 reverted (−0.092)
scoreFloorScoreScore as a floor and saturating curve0, 10 · 0no16/16, 665 (246)T-638, step 22 reverted
killClassWeightKillKill into tough classes counts more0, 10 · 0no0/16, 0 (0)T-639, step 23 reverted; inert on Tyranids below ~2.7
threatSoakSoakSoak × min(2, Kill ÷ median Kill)0, 11 · 1no16/16, 727 (105)T-645, step 26 confirmed (72.1 → 72.3); in Track A
burstKillKillKill read as Burst (finished in one activation)0, 11 · 1no16/16, 733 (2621)T-644, step 25 confirmed (70.8 → 72.1); in Track A
secondaryVPnew secondary line (replaces Actions, own Presence)secondary VP priced in points0, 10 · 0no16/16, 718 (3003)T-641, step 27 not kept; in Track B + 4 dials (0.5)
missionVPmission line (replaces Score, Hold, Actions)every mission card scored per unit0, 10 · 0no16/16, 718 (5484)T-647, step 28 not kept (0.540 → 0.455)
dialBiovoresOnlyPresencethe Biovore dial reaches only the Biovores. a guard on Jordan's call, not a model choice11 · 1no1/16, 1 (10)T-650, step 33 confirmed; in Track A
missionBudgetmission linethe mission line on the old lines' budget (with {missionVP:1})0, 10 · 0no16/16, 713 (5308); alone 0T-647, step 28b not kept (0.540 → 0.526)
supportCreditsupportsupport kinds as a per-point credit (κ) in place of multipliers0, 10 · 0no16/16, 241 (874)T-654, 35a not kept; 35b provisional, never confirmed (14 armies 59.1 → 57.7)
shockPressureBattle-shock lineBattle-shock pressure priced in points0, 11 · 1no6/16, 14 (241)T-653, step 34 confirmed (73.7 → 74.8); in Track A
cpRefilerule multipliersreaction moves no longer count as command points. a data correction kept as a switch11 · 1no6/16, 12 (43)T-653, step 34b confirmed; in Track A
preferredTargetsKillKill spent on preferred target classes, capped by the field0, 10 · 1no16/16, 733 (2715)T-655, step 36 not kept on A (0.575 → 0.554); in Track B
attachCharsKillBurst against the enemy army with its characters attached0, 10 · 10/1 (game-wide)16/16, 733 (1655)T-655 36b neutral on A; held out +1.1 ± 0.7; in Track B and the trio; cascade2 0/1
supportMeasuredsupport linesupport measured on the friends it reaches (replaces the support multipliers)0, 10 · 1no16/16, 243 (1565)T-657, step 37 provisional on A (75.0 → 74.5); in Track B
vpLedgerallevery line in VP a game, no fitted weight0, 10 · 0no16/16, 733 (5937)T-658, step 38 not kept (Tyranids −8.5)
lifeKillKillpoints killed over a unit's life0, 10 · 0no16/16, 733 (2988)T-660, step 39: A 79.3 → 78.0, B 77.7 → 76.4

carry

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
carryDedicatedCarrythe Carry line counts only Dedicated Transports (acts only through wCarry) (with {})0, 10 · 0no13/16, 77 (1076)T-637, step 20 reverted (with wCarry 1)
carryCargoCarrythe Carry line rebuilt from the cargo (what a ride adds to its best rider)0, 10 · 0no0/16, 0 (0)T-674/T-679; shape A +1.2 in sample, −0.0 ± 0.5 held out
carryRideCarry (cargo)the lands a ride raises the rider's melee Kill to (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 0.90 · 0no9/16, 37 (154); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryShieldCarry (cargo)× the rider's Value for the turns it rides out of sight (with {carryCargo:1,wCarry:1})0, 0.40 · 0no14/16, 68 (1800); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryFragCarry (cargo)fragility's power on the shield (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 20 · 0no14/16, 68 (646); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryFragRefCarry (cargo)the shield's reference Soak (0: the army's median) (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 1500 · 0no0/16, 0 (0); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryPerCarry (cargo)per the pair's points (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 0.50 · 0no14/16, 68 (694); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryDedOnlyCarry (cargo)only Dedicated Transports earn it (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 10 · 0no13/16, 37 (706); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryCapCarry (cargo)never above c × its rider's Value (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 10 · 0no10/16, 33 (348); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryOnceCarry (cargo)one-use deliveries discounted (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 0.50 · 0no4/16, 4 (125); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryArriveCarry (cargo)re-usable arrival ways a bonus (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 0.50 · 0no5/16, 14 (50); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carryNeedCarry (cargo)× the share of Kill needing delivery (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 10 · 0no14/16, 68 (1800); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out
carrySquadsCarry (cargo)no lone riders (with {carryCargo:1,wCarry:1,carryShield:0.4})0, 10 · 0no5/16, 10 (46); alone 0T-674/T-679; on the page at 0; shape A (shield 0.4, frag 2, ref 150, dedicated only, cap 1) +1.2 in sample, −0.0 ± 0.5 held out

profile

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
profileDialsalldatasheet features as dials on the whole Value (needs meta.profile). needs meta.profile and pm/pf, put on the data by tools/ledgerprofile.js; inert on the ledger files00 · 0no0/16, 0 (0)T-662; hibernated (profileLines wins over it)
profileLineseach part of Valuethe same features on the lines each acts on (needs meta.profile). needs meta.profile and pm/pf, put on the data by tools/ledgerprofile.js; inert on the ledger files0, 10 · 0no0/16, 0 (0)T-662; G3 84.3% in sample, held out +0.4, placebos match
pm/pf (12 families, 155 features)each part of Valuea slope per family of datasheet features (tools/crack2core.js FAMILIES), via profileLines. a research family; not a game-wide rule dial; live only on data tools/ledgerprofile.js prepares0 · 0nonot runT-662; G3 84.3% in sample, held out +0.4; shuffles +9 to +19; rung (c) 155 knobs fit shuffled letters to 91.5%

strengths

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
arrivalKillWKillarrivalKill's strength (× ARRIVE_W) (with {arrivalKill:1})0, 1, 1.51 · 1no16/16, 663 (636); alone 0T-661; candidate 1.5 (Tyranids +2.2 held out, no transfer)
scarceAnswersWKillscarceAnswers' strength (with {scarceAnswers:1})0, 0.5, 11 · 1no16/16, 724 (1663); alone 0T-661; 0.5: +0.8 lists, −0.4 held out
scoreFloorWScorescoreFloor's strength (with {scoreFloor:1})0, 0.5, 11 · 1no16/16, 665 (120); alone 0T-661; 0.5: +0.3 nested (small)
killClassWeightWKillkillClassWeight's strength (with {killClassWeight:1})0, 1, 31 · 1no11/16, 526 (389); alone 0T-661; nothing at any strength (Tyranids)
secondaryVPWsecondary linesecondaryVP's strength (with {secondaryVP:1})0, 0.5, 11 · 1no16/16, 718 (1580); alone 0T-661; candidate 0.5 (Tyranids +1.3 held out)
missionVPWmission linemissionVP's strength (with {missionVP:1})0, 0.25, 11 · 1no16/16, 718 (3629); alone 0T-661; 0.25: −1.3 held out
vpMissionWVP ledgerthe VP ledger's mission weight (with {vpLedger:1})0, 0.5, 11 · 1no16/16, 715 (1982); alone 0T-661; every cell below Track B
vpPerUnitVP ledgermission VP per unit (1) or per point (0) (with {vpLedger:1})0, 0.5, 11 · 1no16/16, 715 (3149); alone 0T-661; every cell below Track B
threatSoakWSoakthreatSoak's exponent (with {})0, 1, 21 · 1no16/16, 718 (93)T-661; A at 1; nothing at any other strength
shockPressureWBattle-shock lineshockPressure's strength (with {})0, 1, 21 · 1no6/16, 14 (86)T-661; A at 1; candidate 2 (+1.1 held out, −0.1 nested)
supportMeasuredWsupport linesupportMeasured's strength (0 is support worth nothing) (with {supportMeasured:1})0, 1, 31 · 1no16/16, 116 (873); alone 0T-661; B at 1; candidate 3 (+1.3 held out, grid edge)
preferCKillpreferredTargets' class cap C (with {preferredTargets:1})1, 4, 164 · 4no16/16, 724 (2120); alone 0T-661; B at 4; nothing beats 4 out of sample
preferNKillpreferredTargets' activations a game N (with {preferredTargets:1})1, 4, 84 · 4no16/16, 724 (995); alone 0T-661; B at 4; nothing beats 4 out of sample
attachRateKillattachChars' share of the field's leaders attached (null: measured 0.8) (with {attachChars:1})null, 0.4, 1– · –no16/16, 732 (828); alone 0T-661; B at the measured 0.8; inert while preferredTargets is on
kappasupportsupportCredit's strength κ (with {supportCredit:1})0.5, 1, 21 · 1no16/16, 241 (1086); alone 0T-654; fitted 1.08 in 35b, in sample only
lifeSurviveKilllifeKill's survival strength s (with {lifeKill:1})0, 1, 21 · 1no16/16, 723 (725); alone 0T-660; s > 0 costs 0.4–2.2
lifeBlendKilllifeKill's Burst share w (with lifeMode 1) (with {lifeKill:1,lifeMode:1})0.25, 0.5, 0.750.5 · 0.5no16/16, 725 (299); alone 0T-660; w best 0.75, −0.3
lifeModeKilllifeKill's mode: 0 auto, 1 replace, 2 survival only (a selector) (with {lifeKill:1})0, 1, 20 · 0no16/16, 733 (2254); alone 0T-660

ingredients

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
pointsExpfinal ValueValue × (points ÷ 100)^−e (e > 0 favours cheap units)-0.2, 0, 0.20 · 0no16/16, 706 (1173)T-662; the G2 grid's best picks 0
smallPiecefinal ValueValue × (points ÷ army median)^e (cheap pieces lose)0, 0.2, 0.40 · 00/0.2 (game-wide)16/16, 710 (1173)T-670; +1.2 ± 1.0 held out (Tyranids −3.1); the trio; cascade2 0/0.2 (flips between chains)
aircraftBoardKill, Score, Hold, Presenceaircraft off the board when scoring, shooting from round 20, 0.5, 10 · 00/1 (game-wide)7/16, 167 (80)T-670; +0.2 ± 0.1 held out; the trio; cascade2 0/1
loneOpSoakSoakLone Operative as extra Soak0, 0.5, 10 · 0no13/16, 32 (5)T-670; 0.0 held out

leaders

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
leaderCreditrankinga leader ranks at solo + λ × (its best worth at the margin leading − solo)0, 0.25, 0.50 · 0no16/16, 148 (2464)T-670; −0.8 ± 0.2 held out; T-715 toggles: none holds

army

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
modeScarcityKillan army's scarcer attack mode worth more0, 0.2, 0.50 · 00/0.2 (army-specific)16/16, 724 (481)T-672; World Eaters +2.4 held out, others −0.1; cascade2 army-specific 0/0.2
armyPickKill (Burst)Burst with the army rule's choice taken (Blessings of Khorne)0, 0.5, 10 · 0no0/16, 0 (0)T-672; World Eaters −2.2 at full
armyMarksKill (Burst)a mark's share of Kill (Oath of Moment, the Cabal's rituals)0, 0.5, 10 · 0no5/16, 253 (318)T-695; +0.04 at 1 (placebo +0.05)
armyRoundsKill (Burst)an army rule's options at their odds (Blessings, imperatives, Plague)0, 0.5, 10 · 0no3/16, 100 (39)T-695; −0.14 at 1 (World Eaters −2.3)
armyStatesKill (Burst)a state the ledger counts never met, at share s0, 0.5, 10 · 0no3/16, 128 (25)T-695; −0.11 at 1
armyEnableradded wortha unit that switches an army rule on gains w × 50 points' worth0, 0.5, 10 · 00/1 (game-wide)3/16, 7 (34)T-695; +0.33 [+0.0, +0.8] at 1 (Thousand Sons +4.9); cascade2 0/1
armyOrdersadded worthan officer gains w × 20 points' worth per Order0, 0.5, 10 · 0no1/16, 15 (165)T-695; +0.08 at 1 (Astra Militarum +1.2)

screens

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
screenAreaadded worthboard denied to enemy arrivals0, 1.50 · 00/1.5 (army-specific bundle (off / T-677's values))16/16, 718 (3364)T-675; −0.02 held out; World Eaters alone +5.9; cascade2 in the screen bundle (1.5)
screenBlockadded worthfrontage × speed (charge and movement blocking)0, 1.50 · 00/1.5 (army-specific bundle (off / T-677's values))16/16, 710 (3730)T-675; −0.05; World Eaters +4.1; cascade2 bundle (1.5)
screenTradeadded worthenemy fire needed to remove it, at least one activation0, 0.01, 0.350 · 00/0.35 (army-specific bundle (off / T-677's values))16/16, 733 (4299)T-675; +0.15 ± 0.06 at 0.01; cascade2 bundle (0.35)
screenScoreadded worthone more scoring slot × OC (cheap OC and actions)0, 0.1, 10 · 00/0.1 (army-specific bundle (off / T-677's values))16/16, 686 (2073)T-675; −0.95; World Eaters +5.5; cascade2 bundle (0.1)
screenHideadded worthInfiltrators, Scouts, Stealth, Lone Operative0, 0.50 · 0held at 0/016/16, 110 (523)T-675; −1.29; cascade2 bundle (held 0)
screenJobValuea switch: the screen as a job of its own (max, not sum) (with {screenArea:1.5,screenBlock:1.5})0, 10 · 0no16/16, 718 (2736); alone 0T-675; with area 2: −2.1, Tyranids −8.7
screenSlotsadded worthonly an army's top k screens get the screen credit (with {screenArea:1.5,screenBlock:1.5,screenTrade:0.35,screenScore:0.1})0, 1, 30 · 00/1 (army-specific bundle (off / T-677's values))16/16, 717 (5398); alone 0T-677; best +0.03 ± 0.41 held out; World Eaters +6.7; cascade2 bundle (1)
screenNextadded worththe next screen after the top k gets x of it (with {screenArea:1.5,screenBlock:1.5,screenTrade:0.35,screenScore:0.1,screenSlots:1})0, 0.250 · 00/0.25 (army-specific bundle (off / T-677's values))16/16, 32 (302); alone 0T-677; cascade2 bundle (0.25)
screenRankadded worthscreen slots ranked by worth (1) rather than per point (0) (with {screenArea:1.5,screenBlock:1.5,screenTrade:0.35,screenScore:0.1,screenSlots:1})0, 10 · 0held at 0/016/16, 32 (661); alone 0T-677; cascade2 bundle (held 0)

characters

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
charLeadadded wortha CHARACTER carrying it gains w × 50 points' worth: it leads a squad with a dice buff (its presence, not its size)0, 0.25, 0.50 · 0no16/16, 185 (1535)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charMoveadded wortha CHARACTER carrying it gains w × 50 points' worth: movement it gives itself or its squad0, 0.25, 0.50 · 0no13/16, 46 (400)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charArriveadded wortha CHARACTER carrying it gains w × 50 points' worth: arrival tricks for its squad0, 0.25, 0.50 · 0no13/16, 32 (161)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charOCadded wortha CHARACTER carrying it gains w × 50 points' worth: objective control0, 0.25, 0.50 · 0no7/16, 17 (185)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charShockadded wortha CHARACTER carrying it gains w × 50 points' worth: Battle-shock (forced or resisted)0, 0.25, 0.50 · 0no13/16, 47 (366)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charShockAmpadded wortha CHARACTER carrying it gains w × 50 points' worth: makes enemy Battle-shock tests harder (on the shock line's prices)0, 0.25, 0.50 · 00/0.5 (Tyranids only)4/16, 5 (36)T-673; nothing held out (phase 2); cascade2 Tyranids only (0/0.5), gated out
charCPadded wortha CHARACTER carrying it gains w × 50 points' worth: command points0, 0.25, 0.50 · 0no13/16, 46 (276)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charPsychicadded wortha CHARACTER carrying it gains w × 50 points' worth: a psyker0, 0.25, 0.50 · 0no14/16, 55 (298)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charAuraadded wortha CHARACTER carrying it gains w × 50 points' worth: an aura beyond its squad0, 0.25, 0.50 · 0no10/16, 19 (67)T-673; +0.09 ± 0.12 held out (phase 2), noise-sized
charDebuffadded wortha CHARACTER carrying it gains w × 50 points' worth: hinders or marks an enemy unit0, 0.25, 0.50 · 0no11/16, 27 (117)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charEpicadded wortha CHARACTER carrying it gains w × 50 points' worth: an Epic Hero0, 0.25, 0.50 · 00/0.5 (game-wide)15/16, 76 (336)T-673; +0.29 ± 0.54 held out (phase 2); cascade2 0/0.5, the one value both chains keep
charEnhadded wortha CHARACTER carrying it gains w × 50 points' worth: a non-Epic character (may carry an enhancement)0, 0.25, 0.50 · 0no16/16, 185 (1544)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charLoneadded wortha CHARACTER carrying it gains w × 50 points' worth: Lone Operative0, 0.25, 0.50 · 0no16/16, 46 (260)T-673; nothing held out (phase 2: 0 to 0.5 alone, placebo beside)
charHomeadded wortha CHARACTER carrying it gains w × 50 points' worth: what it unlocks: its best squad's Value against the median0, 0.25, 0.50 · 00/0.2 (Tyranids only)16/16, 180 (1007)T-673; nothing held out (phase 2); cascade2 Tyranids only (0/0.2), gated out
cpOncerule multipliers (cp)a command-points rule that can't stack keeps r.cp only on the army's best carrier0, 0.5, 10 · 0no8/16, 44 (576)T-673; nothing held out (phase 2)

post

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
sureFireValue (+ w × K × (d − median d))Burst credited by how sure its delivery is (tools/surefire.js)0, 0.25, 0.50 · 00/0.25/0.5 (game-wide (post))16/16, 418 (1336)T-712; held out +2.72 ± 0.55 (placebo 0.00); cascade2 0/0.25/0.5/0.5nr
sureFire.reservessureFire's deliverysureFire without strategic reserves as a way in (reserves 0) (with {mod:surefire,args:{sureFire:0.5}})1, 0default · defaultwith/without (0.5nr) (game-wide (post))16/16, 702 (544)T-712; +3.51 held out; cascade2 as 0.5nr (81% of the main chain's 213)
exclusiveCarryadded wortha transport is worth what only it can carry (slow, valuable riders)0, 0.5, 10 · 00/0.5/1 (army-specific (post))14/16, 62 (623)T-710; held out +1.33 ± 1.80 (placebo +0.54); cascade2 army-specific 0/0.5/1
exclusiveCarryCharsexclusiveCarry's loadscharacters ride in the load (1) or squads only (0) (with {mod:exclusivecarry,args:{exclusiveCarry:1}})1, 00 · 0no14/16, 60 (199)T-710; squads only +0.30 ± 0.99 held out (placebo +0.47)
objPresenceadded worthobjective presence: scoring pieces × stickiness × reach × OC (tools/objpresence.js)0, 0.5, 10 · 00/0.5/1 (army-specific (post))16/16, 686 (653)T-711; plain held out +0.00 (every fold 0); cascade2 only with extras and enabler
objPresence.extrasobjPresence's creditonly the split and sticky beyond a plain piece (with {mod:objpresence,args:{objPresence:1}})0, 1default · defaultheld at 116/16, 686 (565)T-711; extras + enabler +0.61 ± 0.53 held out (Votann); cascade2 held at 1
objPresence.enablerobjPresence's creditthe split's gain also on its enabling transport (with {mod:objpresence,args:{objPresence:1,extras:1}})0, 1default · defaultheld at 13/16, 4 (18)T-711; cascade2 held at 1
leaderCompadded worth (leaders)leaders compete for the best squad: credit and penalty together (tools/leadercomp.js)0, 0.25, 0.50 · 0no16/16, 164 (670)T-709/T-715; the whole idea +0.03 (placebo +0.05); credit −0.10
leaderCompPenadded worth (leaders)leaderComp's penalty half alone (a leader beaten to its best squad loses)0, 0.5, 10 · 00/1 (game-wide (post))16/16, 92 (307)T-715: penalty alone +0.58 ± 0.11 held out (placebo 0.00); cascade2 0/1
leaderComp.priceleaderComp's synergyhow a leader's synergy is priced: dice (default), lend, lendown, joined (with {mod:leadercomp,args:{leaderComp:0,leaderCompPen:1}})dice, lenddefault · defaultno7/16, 35 (180)T-715 made dice the default
leaderComp.standleaderComp's standthe leader stands at its solo row (default) or its led row (with {mod:leadercomp,args:{leaderComp:0,leaderCompPen:1}})solo, leddefault · defaultno16/16, 89 (82)T-709 option; never measured on its own
leaderComp.shapeleaderComp's shapethe adjustment by Value or by rank (with {mod:leadercomp,args:{leaderComp:0,leaderCompPen:1}})value, rankdefault · defaultno16/16, 92 (736)T-709; added after the grid failed, no help
typicalSizeranking Valueblend toward the typical squad size (rule mean)0, 0.25, 0.50 · 00/0.25 (game-wide (post))16/16, 415 (620)T-683; +0.26 ± 0.35 held out at rule mean; cascade2 0/0.25 (flips between chains)
typicalSizeRuletypicalSize's typical squadwhich squad is typical: smallest, mean of sizes, best at datasheet wargear (with {mod:typical,args:{typicalSize:0.25,typicalDet:0,typicalSizeRule:mean}})mean, smallest, best0 · 0held at mean16/16, 193 (109)T-683: the smallest squad loses; cascade2 held at mean
typicalDetranking Valueblend toward the typical (median) detachment0, 0.250 · 0held at 016/16, 593 (175)T-683: the detachment half loses; cascade2 held at 0
typicalWranking Valuesets typicalSize and typicalDet together when they aren't given. a shorthand for both halves0 · 0no16/16, 692 (656)T-683 phase 1
bonusShareValue ×how much of the army's bonus package (army rule, detachments, auras) a unit can receive0, 0.5, 10 · 00/1 (army-specific (post))16/16, 624 (1103)T-717; held out −1.22 ± 1.22; Thousand Sons +8.4 at 1 (placebo +1.3); cascade2 army-specific 0/1
bonusCasteradded worthcredit for raising a dice-tested army resource (Cabal rituals, Blessings)0, 10 · 0no2/16, 5 (4)T-717; ±0.0 pooled, held out 0
rivalWranking Valuea unit marked down by a better same-army rival for the same job0, 0.25, 0.50 · 0no16/16, 712 (942)T-682; −0.73 ± 0.73 held out (placebo 0.00), not kept
jailWadded worthturn-one jailing of the enemy's zone (tools/steal.js)0, 0.5, 10 · 0no16/16, 202 (89)T-684; 0.00 held out
stealWadded worthobjective steal: primary VP denied (tools/steal.js)0, 0.5, 10 · 0no6/16, 7 (89)T-684; 0.00 held out; Tyranids +0.5
domRivalValue ×a unit dominated on its good jobs by another of its army loses up to 90%0, 0.25, 0.50 · 0no16/16, 198 (899)T-716; strict −1.27 ± 1.12 held out; loose2 −0.02
domRival.modedomRival's rulethe dominance rule: strict worst (default), mean, loose3, loose2 (with {mod:jobprofile,args:{domRival:0.5}})worst, loose2default · defaultno16/16, 360 (1408)T-716; loose3 −0.32, loose2 −0.02 held out
gradeByranking Valuegrade by Value per point (today), half (× √(pts ÷ 100)) or total worth (× pts ÷ 100)perPoint, half, totalperPoint · perPointno16/16, 701 (2727)T-700; total worth: 14 armies +1.5, Tyranids −2.9 (start-here §8.10); cascade.js and solcascade.js searched it, cascade2 didn't

diagnostic

DialActs onWhat it doesSearchTrack A · BCascade2Live: armies, units (flips)History
popshareValue ×tournament list share (popularity), a diagnostic. reads tournament popularity: stays out of letters by Jordan's rule0 · 0no16/16, 729 (4978)T-701: held out +12.5 ± 3.2; Jordan: never in a letter

Pairs

DialDialUnits either movesBoth moveρ (either moves)ρ (all units)Median ρ by army (n)Pairs each reorders from Track APairs the two order differently
leaderCreditjoinedMarginal2871480.5250.6820.671 (16)2464, 43662168
leaderCreditleadersLeading1821480.7190.7220.640 (16)2464, 37901829
joinedMarginalleadersLeading3211480.5090.5220.525 (16)4366, 37902664
joinedMarginal~joinedMarginal+Shapley2872820.9690.9910.969 (16)4366, 26811709
~leaderCredit1joinedMarginal2871480.5250.6820.671 (16)3644, 43661488
leaderCreditleaderComp1771350.1950.0110.440 (16)2464, 6702284
leaderCreditleaderCompPen172680.179-0.5080.502 (16)2464, 3072713
joinedMarginalleaderComp3161350.1500.0360.349 (16)4366, 6704124
leadersLeadingleaderCompPen18292-0.040-0.3810.258 (16)3790, 3073973
supportCreditsupportMeasured2432410.5150.2010.646 (16)874, 15651769
~supportCredit+kappa1supportMeasured2432410.5150.2010.646 (16)874, 15651769
r.synapsesynapseMarginal26180.6410.8310.998 (1)122, 173133
~synapse1synapseMarginal26180.6540.8310.998 (1)259, 17386
wCarry~carryDedicated+wCarry184440.4870.7130.710 (7)1804, 7561076
wCarry~carryCargoShapeA84260.5420.5630.682 (7)1804, 7701260
wCarryexclusiveCarry84620.5840.8600.546 (7)1804, 6231249
~carryDedicated+wCarry1exclusiveCarry78280.1320.5180.109 (6)756, 623885
~carryCargoShapeAexclusiveCarry65230.3200.5660.052 (5)770, 623851
carryCargoexclusiveCarry620––– (0)0, 623623
screenAreascreenScore7186860.6190.6390.661 (16)3364, 20732141
screenBlockscreenScore7106860.7240.7460.731 (16)3730, 20732205
screenTradescreenScore7336860.2220.2220.209 (16)4299, 20734818
screenHidescreenScore6891070.0160.0560.026 (16)523, 20732126
screenAreascreenBlock7187100.9320.9360.938 (16)3364, 37301300
screenScorewScore686686-0.875-0.898-0.892 (16)2073, 3312360
screenScoreobjPresence6866860.9630.9700.959 (16)2073, 6531492
typicalSizepointsExp717404-0.143-0.150-0.088 (16)620, 11731335
typicalSizesmallPiece723402-0.126-0.127-0.073 (16)620, 11731335
~smallPiece0.2~pointsExp-0.27326840.9240.9240.959 (16)1173, 11730
smallPiecegradeBy7326790.8880.8880.919 (16)1173, 27271644
pointsExpgradeBy7067010.9500.9490.960 (16)1173, 27271644
charLeadcharEnh2211490.6640.7860.782 (16)1535, 1544491
charLeadcharHome1911740.3430.6770.400 (16)1535, 10071116
charEnhcharHome2211440.3340.5660.374 (16)1544, 10071273
charLeadleaderCredit1901430.4370.8480.402 (16)1535, 24641887
charLeadleaderCompPen18889-0.163-0.6290.000 (16)1535, 3071810
objPresencewScore686686-0.870-0.893-0.873 (16)653, 331962
objPresencewHold686686-0.680-0.737-0.661 (16)653, 6241193
objPresence.extraswScore68619-0.258-0.252-0.286 (12)88, 331417
objPresencescreenScore6866860.9630.9700.959 (16)653, 20731492
attachCharscharsJoined7330––– (0)1655, 01655
arrivalKillsureFire7133330.2700.2720.386 (16)801, 13361503
reacharrivalKill6512320.7440.7330.765 (16)14, 801791
shockPressurecharShock51100.481-0.3590.707 (4)241, 366601
charShockcharShockAmp475-0.2280.308-0.274 (1)366, 36338
cpOncer.cp90420.144-0.6300.408 (7)576, 5001076
charCPr.cp9242-0.0440.635-0.161 (8)276, 500432
secondaryVPmissionVP7187180.7060.7210.702 (16)3003, 54843975
missionVPvpLedger7337180.0880.0880.210 (16)5484, 59371407
scarcityscarceAnswers7247230.9970.9970.997 (16)3041, 2981102
scarcitykillByJob7247140.4620.4600.465 (16)3041, 31273066
scarceAnswerskillByJob7247150.4690.4670.466 (16)2981, 31273028
modeScarcityscarcity7247230.1680.1690.249 (16)481, 30413061
rivalWdomRival7151950.1320.1520.183 (16)942, 8991455
threatthreatSoak7270––– (0)0, 105105
burstKilllifeKill733733-0.148-0.148-0.146 (16)2621, 29884107
lifeKillkillOverGame7337180.7600.7600.827 (16)2988, 41602380
armyEnablerbonusCaster111-0.7860.162-0.859 (1)34, 438
armyRoundsarmyPick1000––– (0)39, 039
charEpiccharEnh2556-0.782-0.148-0.784 (15)336, 15441876
jailWstealW20270.2600.2040.387 (6)89, 89132
stealWobjPresence68670.0850.0880.114 (6)89, 653710
~screensT677screenScore686480.3300.3280.423 (16)510, 20732059
sureFireexclusiveCarry454260.2430.1220.545 (14)1336, 6231787

(21313 unit pairs in all, over the 16 armies.)

Constants that could be dials

ConstantValueFileWhat it sets
CHAR_PTS50ledger.jspoints a character kind is worth at strength 1 (every char* dial scales it)
CHAR_HOME_CAP2ledger.jscharHome's cap on its best squad's Value ÷ median − 1
SHOCK_AMP0.4ledger.jscharShockAmp: the extra share of failed Battle-shock tests from a −1
SHOCK_ARMY_TESTS, SHOCK_ARMY_FAIL10, 0.35ledger.jsan army rule that tests every enemy unit, priced as that many tests at that fail chance
SHOCK (bridge 31, turns 1.538, vpOpen 0.65, vpHolder 1.25)ledger.jsthe Battle-shock line's prices
ARMY_PTS, ORDER_PTS50, 20ledger.jspoints an army-rule enabler or an Order is worth at strength 1
ARMY_MARK_ODDS, ARMY_ROUNDSTS 30/36; WE 58/29/10%ledger.jsarmy-rule odds (marks, Blessings)
SCREEN_PTS, SCREEN_ACT65, 100ledger.jsa cheap screen's points; one enemy activation's points (screenTrade's floor)
SCREEN_GAP, SCREEN_SPAN, SCREEN_R, SCREEN_MIN3, 9, 8, 3ledger.jsscreen geometry; the fewest models to count as a screen
AIR_KILL0.8ledger.jsaircraftBoard: the share of rounds an aircraft shoots
LONE_SHARE0.5ledger.jsloneOpSoak: the share of enemy shooting that can't target a Lone Operative
ARRIVE_W1/3ledger.jsarrivalKill's weight on the arrival turn (arrivalKillW scales it)
ARRIVE_SEENinfiltrators 0.5, scouts 0.5, rapidIngress 1, others 0ledger.jshow far each arrival way is seen coming
THREAT_SOAK_CAP2ledger.jsthreatSoak's cap on Kill ÷ median Kill (the exponent is threatSoakW)
SCORE_LO, SCORE_HI0.25, 0.75ledger.jsscoreFloor's quartiles
CLASS_TOUGH_W2ledger.jskillClassWeight's tough-class weight (killClassWeightW scales it)
JOB_STRONG, JOB_STEP, JOB_TIE0.75, 0.2, 0.01ledger.jskillByJob's strong job and second-job step
ANSWER_BENCH3ledger.jsscarceAnswers' bench depth
SEC_VP, PRIMARY_VP, SEC_DECK, SEC_HIDE, SEC_KILL_VP, SEC_ADV30, 35, 77.5, 0.5, 22.5, 3.5ledger.jsthe secondary and mission lines' VP prices
VPL (left 0.6, destroyed 0.6, spawnRounds 3, secKillShare 0.29, primaryKillShare 0.123)ledger.jsthe VP ledger's constants
ROUNDS, LIST_UNITS5, 12ledger.jsgame length; units in a typical list
LANDS_FALLBACK, ENEMY_LANDS0.6, 0.6ledger.jsmelee landing share where the charge model has none; the enemy's into us
PROFILE_FLOOR, PROFILE_PHI0.05, 0.5ledger.jsprofile factors' floor; the share of Kill needing the unit alive where it has no life
LIFE_W00.5ledger.jslifeKill's default blend
CARGO_ONCE_MOVE8ledger.jscarryOnce: a one-use delivery moves 8" or less
CUT_SHARE10/30/60/85%ledger.jsthe default letter cuts
attach rate (ATTACH_RATE_DEF)0.8ledger.jsthe field's attached-leader share when attachRate is null
MOVE_REF12exclusivecarry.jsslowness reference Move; load caps 3 squads, 1 character a squad
CHARGE, EDGE, CLEAR9, 6, 8surefire.jsthe charge's reach; reserves' edge strip and clearance
C (OBJ_VP 1, ADVANCE 3.5, RANGE 3, DISEMBARK 3, VP_GAME 65); holder OC H 8.26objpresence.jsobjective presence's prices
C (STEAL_VP 4.5, JAIL_TEMPO 0.1, JAIL_FIRST 0.5, …)steal.jsjail and steal prices
W (kill 2, mode 1, type 1, speed 0.5), GAP_FULL 1rivals.jsrivals' likeness exponents and full gap
C (GOOD_SD 0.5, CAP_SD 2, MAX_CUT 0.9)jobprofile.jsdomRival's good-job bar, strength scale and cap
FOCUS_PTS500bonusshare.jsbonusCaster: the army's own attack points a success is priced on
the leader's squad weight (Value percentile)leadercomp.jsleaderComp's squad worth