T-565 (Jordan, 2 Oct, via the design session): round 11 makes the Tyranid workbench's fixes (T-564 and benches 2 to 4) permanent in tools/tiertest.js, each a named switch in o.r11 that the sweep and the bench can turn off, fixes the bugs the investigators found, and runs every army for the first time since the workbench. Jordan's settings: a unit's context is its best legal size (the maths, not the most-listed size); turns alive capped at 5; a CP stays 30 pts. Everything else is round 10's (V10C, the fieldable pool of 1,153 units, frozen cuts). Command: node tools/tiertest.js --r11json <file> (standalone, about 2 min; it injects round 9's inputs as --rawdump does). The report is made from that JSON (reports/tiers/2026-10-02-tyranids-round11.json). Our numbers only; lists counted from grimstat-corpus (CC BY 4.0). A report: no published score changes, but two BSData-reading fixes in docs/bsdata.js do reach the live data (section 5).
In short. Round 11 lifts the Tyranid panel to ρ 0.66 (round 10 0.51). For the first time in eleven rounds, it lifts the Space Marine panel above zero: 0.14, from −0.07. Orks move −0.18 → −0.15. Each panel moves by less than one SE, but they all move the same way. The list-share headline holds or rises: per-army median 0.165 → 0.173, AUC 0.582 → 0.585, ρ among taken units 0.098 → 0.105. It does not reach Jordan's 85% line on the Tyranid table. Within one letter of Auspex: 31 of 44 on the within-army ruler (round 10: 31) and 36 of 44 on Auspex's own shape (round 10: 33; the line is 38). The benches' 38 doesn't transfer, for three reasons. First, bestSize costs: Jordan's best-legal-size rule sends every squad to its largest size, and dropping it alone gives 39 on the shape and ρ 0.70. Second, lends on the best squads with no flat cap make Harvesters Banner leaders (Ripper Swarms S, Auspex B). Third, removing the aura stand-ins costs the Swarmlord. One bug fix matters most outside the Tyranids: effects now use the loadout the damage uses. Alone it moves the Marines −0.07 → 0.10. Desolation Squad drops 92.5 → 9.1, because round 10 multiplied krak-rocket damage by a detachment ratio worked out on frag rockets. The charge-distance claim doesn't hold (section 6): an 11th-edition charge target must be within the charge roll, so no change is needed. Live data: 21 units lose a Stealth, Deep Strike, Scouts or Infiltrators trait that only an enhancement or a leader gives them, Neurogaunts go to 22 models, and Value and the site's letters don't move.
1. Yardsticks: three panels and the list-share headline
ρ: Spearman between our score and the panel's letters (SE: Bonett and Wright's). Within-army ruler: our letters within each army (10% S, 15% A, 25% B, 30% C, the rest D); "same" there is the panel's letters re-cut at that quota (round 8's strict). The panel's own shape: our order over the panel's graded units, cut at the panel's own letter counts (bench 2's yardstick; it tests order alone). The list-share headline is round 10's: over the units some winning list could field, the median of each army's ρ with list share, the AUC for taken against never-taken units, and ρ among taken units. Round 10 rerun on today's data: round 10's code on the data with this round's two BSData fixes (section 5); round 10 as published reproduces exactly on the old data.
| Yardstick | Round 9 (published) | Round 10 (published) | Round 10, rerun on today's data | Round 11 |
|---|---|---|---|---|
| Tyranids (Auspex, 44): ρ (SE) | 0.49 (±0.13) | 0.51 (±0.12) | 0.52 (±0.12) | 0.66 (±0.10) |
| Space Marines (Tista Minis, 30): ρ (SE) | −0.10 (±0.19) | −0.07 (±0.19) | −0.07 (±0.19) | 0.14 (±0.19) |
| Orks (Sprues & Brews, 45): ρ (SE) | −0.12 (±0.15) | −0.18 (±0.15) | −0.19 (±0.15) | −0.15 (±0.15) |
| Tyranids: within one / same, within-army ruler | 30 / 19 | 31 / 19 | 31 / 19 | 31 / 21 |
| Tyranids: within one / same, the panel's own shape (13/7/13/4/7) | 36 / 22 | 33 / 23 | 33 / 23 | 36 / 20 |
| Space Marines: within one / same, within-army ruler | 18 / 8 | 17 / 9 | 17 / 9 | 19 / 9 |
| Space Marines: within one / same, the panel's own shape (4/11/9/6/0) | 22 / 11 | 23 / 10 | 23 / 10 | 24 / 9 |
| Orks: within one / same, within-army ruler | 27 / 10 | 27 / 10 | 27 / 10 | 28 / 9 |
| Orks: within one / same, the panel's own shape (3/13/25/3/1) | 38 / 15 | 38 / 17 | 38 / 17 | 38 / 17 |
| Every unit's list share: pooled ρ | 0.077 | 0.157 | 0.157 | 0.163 |
| Per-army median ρ with list share | 0.113 | 0.165 | 0.139 | 0.173 |
| Tyranids' own ρ / its lead over the median | 0.453 / +0.34 | 0.465 / +0.30 | 0.460 / +0.32 | 0.547 / +0.37 |
| AUC, taken against never taken | 0.536 | 0.582 | 0.582 | 0.585 |
| ρ among taken units only | 0.066 | 0.098 | 0.094 | 0.105 |
| S on the frozen cuts (of the fieldable pool) | – | 92 | 92 | 91 |
| S share per army against its top-quarter lists: ρ | −0.41 | −0.16 | −0.06 | −0.11 |
Reading it. Round 10 on today's data first, to separate the data fixes from the method. Two BSData fixes (section 5) change round 10's own numbers. Most yardsticks move in the third decimal. The per-army median falls 0.165 → 0.139, because the medians of 27 small per-army ρs are sensitive to which Utility percentiles move. The S-per-army ρ rises −0.16 → −0.06. On top of that, round 11 is the best round yet on all three panels together:
- Tyranids: ρ 0.52 → 0.66.
- Space Marines: −0.07 → 0.14.
- Orks: −0.19 → −0.15.
- Per-army median: 0.139 → 0.173.
- The S-per-army check: −0.06 → −0.11, still negative.
The Tyranid lead over the median grows (+0.32 → +0.37). That is the overfit gauge: the panel we tuned on rises faster than everyone's list share.
Each fix alone, on top of round 10 (today's data)
Every yardstick for each switch alone, then all on. Letters moved: against the round-10 rerun, over all 1,153 fieldable units (all-armies letters on the frozen cuts; within-army letters).
| Run | Tyranids ρ | Tyr within one: ruler / shape | Tyr same: ruler / shape | Marines ρ | Marines within one, shape | Orks ρ | Orks within one, shape | Pooled | Median | AUC | Taken ρ | S per army ρ | All-armies letters moved | Within-army letters moved |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Round 10, rerun on today's data | 0.52 | 31 / 33 | 19 / 23 | −0.07 | 23 | −0.19 | 38 | 0.157 | 0.139 | 0.582 | 0.094 | −0.06 | 0 (0↑ 0↓) | 0 |
bannerLendOnly | 0.62 | 35 / 36 | 25 / 26 | 0.02 | 22 | −0.17 | 37 | 0.129 | 0.137 | 0.567 | 0.085 | −0.02 | 311 (156↑ 155↓) | 338 |
bannerModelCount | 0.53 | 31 / 33 | 20 / 23 | −0.07 | 23 | −0.19 | 38 | 0.150 | 0.174 | 0.578 | 0.091 | −0.07 | 54 (24↑ 30↓) | 65 |
turnsHarmonic | 0.51 | 31 / 34 | 19 / 23 | −0.09 | 21 | −0.19 | 37 | 0.153 | 0.134 | 0.580 | 0.092 | −0.17 | 60 (30↑ 30↓) | 79 |
reArriveAfterKill | 0.52 | 31 / 33 | 19 / 23 | −0.07 | 23 | −0.19 | 38 | 0.157 | 0.139 | 0.583 | 0.094 | −0.06 | 0 (0↑ 0↓) | 0 |
reArriverGateExempt | 0.58 | 32 / 35 | 22 / 25 | −0.07 | 23 | −0.19 | 38 | 0.160 | 0.139 | 0.584 | 0.098 | −0.06 | 5 (2↑ 3↓) | 6 |
lendOnBestSquads | 0.50 | 29 / 33 | 18 / 22 | −0.07 | 23 | −0.19 | 38 | 0.158 | 0.138 | 0.585 | 0.088 | −0.06 | 24 (9↑ 15↓) | 28 |
stealthSurvival | 0.53 | 31 / 33 | 18 / 23 | −0.08 | 23 | −0.18 | 38 | 0.161 | 0.144 | 0.585 | 0.096 | −0.12 | 47 (24↑ 23↓) | 55 |
bestSize | 0.52 | 29 / 35 | 22 / 24 | −0.06 | 20 | −0.17 | 38 | 0.187 | 0.220 | 0.601 | 0.103 | −0.11 | 323 (149↑ 174↓) | 341 |
bestLeader | 0.56 | 31 / 34 | 20 / 21 | 0.01 | 23 | −0.16 | 39 | 0.157 | 0.185 | 0.580 | 0.103 | −0.12 | 226 (101↑ 125↓) | 242 |
sameLoadout | 0.52 | 31 / 33 | 19 / 23 | 0.10 | 24 | −0.14 | 38 | 0.164 | 0.166 | 0.585 | 0.102 | −0.05 | 119 (66↑ 53↓) | 156 |
| Round 11 (all on) | 0.66 | 31 / 36 | 21 / 20 | 0.14 | 24 | −0.15 | 38 | 0.163 | 0.173 | 0.585 | 0.105 | −0.11 | 537 (257↑ 280↓) | 554 |
All on but one (what each fix adds once the others are in):
| Run | Tyranids ρ | Tyr within one: ruler / shape | Tyr same: ruler / shape | Marines ρ | Marines within one, shape | Orks ρ | Orks within one, shape | Pooled | Median | AUC | Taken ρ | S per army ρ | All-armies letters moved | Within-army letters moved |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| all but bannerLendOnly | 0.62 | 28 / 37 | 20 / 22 | 0.09 | 23 | −0.13 | 38 | 0.194 | 0.245 | 0.602 | 0.122 | −0.13 | 409 (185↑ 224↓) | 424 |
| all but bannerModelCount | 0.66 | 31 / 36 | 21 / 20 | 0.14 | 24 | −0.15 | 38 | 0.163 | 0.170 | 0.586 | 0.104 | −0.10 | 541 (260↑ 281↓) | 555 |
| all but turnsHarmonic | 0.67 | 31 / 36 | 21 / 20 | 0.11 | 24 | −0.13 | 37 | 0.161 | 0.188 | 0.587 | 0.092 | −0.18 | 530 (254↑ 276↓) | 551 |
| all but reArriveAfterKill | 0.66 | 31 / 36 | 21 / 20 | 0.14 | 24 | −0.15 | 38 | 0.163 | 0.173 | 0.585 | 0.105 | −0.11 | 537 (257↑ 280↓) | 554 |
| all but reArriverGateExempt | 0.58 | 32 / 35 | 22 / 21 | 0.14 | 24 | −0.15 | 38 | 0.158 | 0.173 | 0.584 | 0.099 | −0.11 | 537 (258↑ 279↓) | 553 |
| all but lendOnBestSquads | 0.71 | 33 / 38 | 25 / 25 | 0.14 | 24 | −0.15 | 38 | 0.160 | 0.170 | 0.581 | 0.112 | −0.19 | 538 (260↑ 278↓) | 554 |
| all but stealthSurvival | 0.66 | 31 / 36 | 21 / 20 | 0.13 | 24 | −0.14 | 38 | 0.157 | 0.170 | 0.582 | 0.101 | −0.09 | 536 (256↑ 280↓) | 547 |
| all but bestSize | 0.70 | 33 / 39 | 23 / 21 | 0.19 | 22 | −0.11 | 36 | 0.150 | 0.167 | 0.577 | 0.100 | 0.00 | 415 (204↑ 211↓) | 442 |
| all but bestLeader | 0.62 | 29 / 35 | 20 / 20 | 0.10 | 22 | −0.14 | 38 | 0.172 | 0.173 | 0.593 | 0.097 | −0.08 | 519 (254↑ 265↓) | 520 |
| all but sameLoadout | 0.64 | 30 / 37 | 20 / 19 | 0.03 | 22 | −0.17 | 38 | 0.148 | 0.156 | 0.577 | 0.097 | −0.18 | 553 (258↑ 295↓) | 569 |
Which fixes move which panel.
- The Space Marine and Ork panels. Alone, four fixes move them:
sameLoadout, the loadout bug fix: Marines −0.07 → 0.10, Orks −0.19 → −0.14.bannerLendOnly: Marines 0.02, Orks −0.17.bestLeader: Marines 0.01, Orks −0.16.bestSize: Orks −0.17, Marines −0.06.
With everything on, taking out sameLoadout costs the Marines most (0.14 → 0.03). Taking out bestSize lifts both (Marines 0.19, Orks −0.11).
- The Tyranid panel gets most of its gain from
bannerLendOnly(0.52 → 0.62 alone; 35 within one on the ruler),reArriverGateExempt(0.58) andbestLeader(0.56). lendOnBestSquadslowers the Tyranids alone (0.50) and on top of the rest (0.71 without it). It lends more to the cheapest Harvesters and drops the Swarmlord's stand-in.reArriveAfterKillmoves no letter. Alone it lifts the Red Terror's final score only 7.3 → 9.4: with Runner's points gate still on, its Runner, not its Hammer, holds it down.bestSizehas the widest reach of any fix: 323 letters across every army alone, and the per-army median 0.139 → 0.220 by itself (Lokhust Destroyers, Death Company Intercessors and the Troupe go to S at full size). But it costs the Tyranid ruler (31 → 29 within one) and, on top of the rest, Marines and Orks.
2. The Tyranid table: 44 Auspex-graded units
Sorted by Auspex's letter, then name. Round 10 within army: as published. Round 11 on Auspex's shape: our order over the 44 cut 13 S, 7 A, 13 B, 4 C, 7 D. All armies: the frozen cuts (S 92.02, A 77.02, B 49.96, C 20.03) on the final score (the pool percentile of the composite). Hammer, Anvil, Runner, Banner: the four job percentiles in the chosen context (bracketed: a job the unit may not hold). Lists: winning Tyranid lists taking it (grimstat-corpus, CC BY 4.0). What moved: against round 10 rerun, its context, job and the job percentile that moved most.
| Unit | Pts | Auspex | Round 10 within army | Round 11 within army | Round 11 on Auspex's shape | Round 11 all armies | Final score | Hammer | Anvil | Runner | Banner | Lists | What moved |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Biovores | 60 | S | B | A | S | B | 76.4 | 2 | 30 | 94 | 0 | 22 of 23 | Hammer 13 → 2 |
| Hive Tyrant | 195 | S | B | B | S | B | 74.4 | 36 | 56 | 21 | 94 | 6 of 23 | its attacks inside a squad; Hammer 50 → 36 |
| Hormagaunts | 70 | S | S | S | S | S | 93.1 | 28 | 100 | 56 | 0 | 13 of 23 | 20 models (was 10); Subterranean Assault (was Unending Swarm); Runner 71 → 56 |
| Hyperadapted Raveners | 165 | S | C | A | S | A | 82.5 | 62 | 68 | 96 | 27 | 11 of 23 | scored as the pair with Raveners; job Hammer → Runner; Runner 23 → 96 |
| Maleceptor | 180 | S | B | C | B | C | 26.9 | 33 | 73 | 27 | 71 | 8 of 23 | Banner 26 → 71 |
| Neurolictor | 80 | S | A | A | S | A | 89.5 | 9 | 33 | 99 | 58 | 17 of 23 | Banner 31 → 58 |
| Norn Assimilator | 250 | S | A | B | A | B | 59.4 | 51 | 89 | 16 | 56 | 5 of 23 | Banner 11 → 56 |
| Norn Emissary | 250 | S | A | B | A | B | 61.9 | 48 | 90 | 16 | 3 | 8 of 23 | Hammer 64 → 48 |
| Raveners | 125 | S | D | A | S | A | 82.4 | 58 | 68 | 96 | 27 | 12 of 23 | joined by Hyperadapted Raveners; job Anvil → Runner; Runner 55 → 96 |
| The Swarmlord | 210 | S | A | B | S | B | 64.3 | 49 | 52 | 19 | 91 | 13 of 23 | its attacks inside a squad; Hammer 58 → 49 |
| Tyrannofex | 170 | S | B | C | B | C | 47.6 | 84 | 68 | 29 | 0 | 7 of 23 | Subterranean Assault (was Crusher Stampede); Anvil 88 → 68 |
| Von Ryan's Leapers | 55 | S | A | A | S | A | 82.2 | 41 | 83 | 94 | 0 | 12 of 23 | 6 models (was 3); Anvil 62 → 83 |
| Zoanthropes | 90 | S | C | C | B | C | 49.7 | 85 | 69 | 0 | 20 | 16 of 23 | 6 models (was 3); joined by Neurotyrant; Runner 50 → 0 |
| Deathleaper | 80 | A | S | S | S | S | 92.3 | 20 | 33 | 100 | 10 | 7 of 23 | Hammer 38 → 20 |
| Exocrine | 135 | A | C | C | C | C | 24.3 | 48 | 71 | 34 | 30 | 4 of 23 | Banner 6 → 30 |
| Hive Guard | 80 | A | C | B | B | B | 53.0 | 86 | 72 | 42 | 0 | 1 of 23 | 6 models (was 3); Runner 58 → 42 |
| Neurotyrant | 130 | A | B | B | A | B | 55.5 | 19 | 58 | 31 | 87 | 17 of 23 | its attacks inside a squad; Hammer 34 → 19 |
| Pyrovores | 40 | A | D | A | S | A | 90.6 | 2 | 32 | 57 | 99 | 4 of 23 | Banner 62 → 99 |
| The Red Terror | 130 | A | D | C | B | C | 49.3 | 27 | 48 | 85 | 0 | 10 of 23 | Crusher Stampede (was Subterranean Assault); job Hammer → Runner; Runner 50 → 85 |
| Winged Hive Tyrant | 185 | A | C | C | B | C | 44.9 | 30 | 57 | 28 | 82 | 1 of 23 | job Anvil → Banner; Banner 53 → 82 |
| Haruspex | 125 | B | C | C | B | C | 49.4 | 42 | 60 | 38 | 85 | 3 of 23 | Assimilation Swarm (was Crusher Stampede); job Anvil → Banner; Banner 3 → 85 |
| Mawloc | 135 | B | C | D | C | C | 24.2 | 26 | 71 | 47 | 0 | 2 of 23 | Hammer 49 → 26 |
| Neurogaunts | 45 | B | A | A | S | A | 90.5 | 8 | 99 | 61 | 0 | 2 of 23 | 22 models (was 11); Hammer 24 → 8 |
| Old One Eye | 140 | B | B | C | B | C | 36.3 | 57 | 69 | 36 | 78 | 4 of 23 | its attacks inside a squad; Runner 22 → 36 |
| Parasite of Mortrex | 70 | B | B | B | A | B | 56.5 | 3 | 29 | 88 | 14 | 1 of 23 | Hammer 19 → 3 |
| Psychophage | 110 | B | B | B | S | B | 66.4 | 23 | 57 | 67 | 91 | 5 of 23 | Assimilation Swarm (was Crusher Stampede); job Anvil → Banner; Banner 8 → 91 |
| Ripper Swarms | 30 | B | B | S | S | S | 93.6 | 1 | (0) | 68 | 100 | 1 of 23 | Banner 82 → 100 |
| Screamer-killer | 125 | B | B | C | B | C | 26.7 | 73 | 45 | 35 | 20 | 3 of 23 | Runner 25 → 35 |
| Tervigon | 160 | B | B | C | B | C | 40.7 | 23 | 80 | 32 | 59 | 0 of 23 | Hammer 49 → 23 |
| Trygon | 140 | B | C | D | C | C | 21.7 | 41 | 69 | 43 | 0 | 6 of 23 | Hammer 60 → 41 |
| Tyranid Warriors with Melee Bio-Weapons | 75 | B | C | B | A | B | 53.6 | 32 | 87 | 34 | 5 | 4 of 23 | 6 models (was 3); Hammer 20 → 32 |
| Tyrant Guard | 80 | B | C | C | B | C | 45.1 | 34 | 58 | 0 | 83 | 4 of 23 | joined by Hive Tyrant; job Anvil → Banner; Banner 0 → 83 |
| Venomthropes | 55 | B | C | B | A | B | 56.0 | 10 | 57 | 67 | 87 | 1 of 23 | Subterranean Assault (was Synaptic Nexus); job Anvil → Banner; Banner 44 → 87 |
| Carnifexes | 90 | C | C | C | B | C | 43.5 | 82 | 79 | 0 | 0 | 4 of 23 | 2 models (was 1); joined by Old One Eye; job Anvil → Hammer; Runner 42 → 0 |
| Tyranid Prime with Lash Whip | 75 | C | A | C | B | C | 34.6 | 43 | 17 | 76 | 78 | 11 of 23 | its attacks inside a squad; Hammer 22 → 43 |
| Tyranid Warriors with Ranged Bio-Weapons | 60 | C | B | B | A | B | 63.1 | 38 | 90 | 51 | 7 | 1 of 23 | 6 models (was 3); Anvil 86 → 90 |
| Tyrannocyte | 80 | C | D | D | D | D | 1.7 | 17 | (39) | (68) | 38 | 0 of 23 | job Hammer → Banner; Hammer 40 → 17 |
| Harpy | 185 | D | D | D | D | D | 0.4 | 22 | (0) | 20 | 0 | 0 of 23 | Hammer 46 → 22 |
| Harridan | 610 | D | D | D | D | D | 0.9 | 30 | (0) | 0 | 0 | 0 of 23 | Hammer 52 → 30 |
| Hierophant | 810 | D | C | D | C | D | 10.8 | 24 | 58 | 0 | 50 | 0 of 23 | Hammer 48 → 24 |
| Hive Crone | 170 | D | D | D | D | D | 0.7 | 30 | (0) | 22 | 0 | 0 of 23 | Hammer 52 → 30 |
| Mucolid Spores | 30 | D | D | D | D | D | 0.0 | 0 | (0) | (69) | 0 | 0 of 23 | Runner 56 → 69 |
| Spore Mines | 55 | D | D | D | D | D | 0.0 | 0 | (0) | (64) | 0 | 0 of 23 | Runner 49 → 64 |
| Sporocyst | 145 | D | D | D | D | D | 0.3 | 14 | (0) | (27) | 0 | 0 of 23 | Hammer 37 → 14 |
Counts. Within one letter of Auspex: 31 of 44 on the within-army ruler (round 10: 31), 36 of 44 on Auspex's shape (round 10: 33); the 85% line is 38. The same letter: 21 on the within-army ruler (Auspex re-cut at our quota; 15 as printed), 20 on Auspex's shape. Two or more letters off: on the ruler 13 (Hive Tyrant, Maleceptor, Norn Assimilator, Norn Emissary, The Swarmlord, Tyrannofex, Zoanthropes, Exocrine, The Red Terror, Winged Hive Tyrant, Mawloc, Ripper Swarms, Trygon); on the shape 8 (Maleceptor, Tyrannofex, Zoanthropes, Exocrine, Neurogaunts, Psychophage, Ripper Swarms, Tyranid Warriors with Ranged Bio-Weapons).
What's left, the 13 two letters off on the ruler. Most are Auspex S or A units that we place at B or C:
- the Hive Tyrant, the Swarmlord, both Norns, the Maleceptor, the Tyrannofex, Zoanthropes, the Exocrine, the Winged Hive Tyrant and the Red Terror;
- the Mawloc and Trygon, Auspex B, which we place at D;
- Ripper Swarms, which we place at S.
The ruler's 10% S quota explains half of them. On Auspex's shape only 8 are two off. Three causes stand out:
- The five-turn cap with the harmonic mean. The Tyrannofex, Maleceptor and Norn Emissary live 6.8 to 7.0 harmonic turns, which the cap cuts to 5, so their toughness buys nothing past the game's length. Bench 3's
anvil.tmax6 is the measured fix; Jordan's call is 5. - Feed the Swarm, uncapped, on the best two squads. A 30-pt Ripper Swarm and a 40-pt Pyrovore each lend the regeneration's worth on the army's best squads. That's right for the Pyrovores (A, Auspex A) and too much for Ripper Swarms (S, Auspex B). Bench 4's P2, a Harvester lends only while it lives, is the next fix.
- The stand-ins removed. The Swarmlord's 77-pt Synapse-reach stand-in is gone, and its Banner falls from 96 to 91. Bench 2 showed that a CP worth 45 pts puts it back. That price is T-558's to justify.
On Auspex's shape, 8 of Auspex's 13 S are S: Biovores, the Hive Tyrant, Hormagaunts, Raveners, Hyperadapted Raveners, the Neurolictor, the Swarmlord and Von Ryan's Leapers.
3. The Space Marine and Ork panels on their own shapes
| Panel | Shape | Round 10 (published): within one / same | Round 10 rerun | Round 11: within one / same | Within-army ruler, round 11: within one / same | ρ, round 10 → 11 |
|---|---|---|---|---|---|---|
| Space Marines | 4/11/9/6/0 | 23 / 10 | 23 / 10 | 24 / 9 of 30 | 19 / 9 | −0.07 → 0.14 |
| Orks | 3/13/25/3/1 | 38 / 17 | 38 / 17 | 38 / 17 of 45 | 28 / 9 | −0.18 → −0.15 |
Reading it. The Marines gain one within one on their shape (23 → 24) and lose one same (10 → 9). Their ρ gain comes from the middle of the order:
- Desolation Squad (Tista Minis C) falls from S to D on the all-armies cuts (the loadout fix, section 6).
- Aggressor Squad (B) rises to A.
- The Captain with Jump Pack (A) is S as a leader inside a squad.
The Orks hold 38 of 45 within one on their shape. Their shape has 25 B of 45, so almost any order gets 38.
4. S per army, all-armies view
Armies with 10 or more fieldable units. Top-quarter lists: metatrack.json's count of top-quarter tournament lists by army over every month (chapters count apart). ρ between the S share and the top-quarter lists: round 10 rerun −0.06, round 11 −0.11 (round 10 published −0.16).
| Army | Units | S, round 10 rerun | S, round 11 | S share | Top-quarter lists |
|---|---|---|---|---|---|
| Space Marines | 84 | 14 | 14 | 17% | 1 |
| Genestealer Cults | 90 | 8 | 10 | 11% | 2 |
| Astra Militarum | 72 | 7 | 7 | 10% | 4 |
| T'au Empire | 42 | 4 | 6 | 14% | 12 |
| Necrons | 52 | 2 | 5 | 10% | 15 |
| Tyranids | 52 | 2 | 5 | 10% | 8 |
| Adepta Sororitas | 33 | 6 | 4 | 12% | 6 |
| Death Guard | 36 | 2 | 4 | 11% | 7 |
| Deathwatch | 10 | 5 | 3 | 30% | 0 |
| Black Templars | 19 | 2 | 3 | 16% | 1 |
| Thousand Sons | 35 | 1 | 3 | 9% | 6 |
| Chaos Space Marines | 58 | 5 | 3 | 5% | 6 |
| Aeldari | 75 | 4 | 3 | 4% | 6 |
| Blood Angels | 16 | 2 | 2 | 13% | 3 |
| Dark Angels | 16 | 1 | 2 | 13% | 2 |
| Space Wolves | 21 | 6 | 2 | 10% | 4 |
| Emperor's Children | 23 | 2 | 2 | 9% | 9 |
| Imperial Knights | 27 | 0 | 2 | 7% | 1 |
| Agents of the Imperium | 29 | 1 | 2 | 7% | 1 |
| World Eaters | 30 | 3 | 2 | 7% | 5 |
| Adeptus Mechanicus | 34 | 3 | 2 | 6% | 9 |
| Orks | 55 | 4 | 2 | 4% | 6 |
| Leagues of Votann | 22 | 3 | 1 | 5% | 5 |
| Adeptus Custodes | 31 | 2 | 1 | 3% | 11 |
| Drukhari | 37 | 1 | 1 | 3% | 1 |
| Chaos Daemons | 77 | 0 | 0 | 0% | 5 |
| Chaos Knights | 27 | 1 | 0 | 0% | 1 |
| Grey Knights | 26 | 0 | 0 | 0% | 3 |
| Ultramarines | 11 | 1 | 0 | 0% | 4 |
5. What reaches the live site
Two fixes change the data the site is built from (docs/data/rankings.json, docs/data/index.json and the generated pages): the rule links in docs/bsdata.js, and Neurogaunts' size. The tier test's own changes (sections 1 to 4) don't reach the site.
1. Rule links read as a bare unit has them (docs/bsdata.js hiddenBare). A rule link counts only when the unit has it with nothing taken and nothing joined: not hidden by default, and not hidden by a modifier whose condition (scoped to the unit itself) holds in that bare state. Conditions on the force or the roster are the army's choices (a detachment, a game mode), so they don't count. The Lictor's Deep Strike, hidden outside Ambush Predators, stays. Across BSData at the pinned commit, 76 unit rows (a datasheet shared by armies counts in each) lose one or more rules from their rule list (units.json, not published). Each is a rule an attached leader or an enhancement gives:
- Feel No Pain, mostly Necron, Mechanicus, Aeldari and Genestealer Cult units;
- Fights First on Custodes, Necron, Aeldari and Drukhari units;
- Deep Strike on World Eaters with Lord Invocatus;
- Stealth with the Chameleonic enhancement (Tyranids, Genestealer Cults) or the Upstart Gretchin.
The engine's Feel No Pain (fnp), Fights First (fightsFirst) and Damaged readings were already default-state, so Defense and the calculator's dice don't change.
What the live data shows differently.
- rankings.json traits: 21 units lose a trait chip and the Utility points behind it:
- Stealth: Tyranid Warriors (Ranged and Melee Bio-Weapons), Genestealers, Raveners and Gargoyles (Tyranids, and the Genestealer Cults' copies of the last two), Gretchin and Upstart Gretchin.
- Deep Strike: Eightbound, Khorne Berzerkers, Slaughterbound, Servitors (Grey Knights, Legends).
- Infiltrators: the Shadowseer (Aeldari, Drukhari), Troupe (Aeldari, Drukhari), Lord Exultant, Gretchin, Upstart Gretchin.
- Scouts: Lord Exultant, Slaughterbound, Dragon Knights, Troupe, Warlock Skyrunners, Windriders.
- Utility within the army moves 5 points or more for 34 non-Legends units. The biggest moves: Slaughterbound 57 → 18, Troupe (Drukhari) 63 → 24, Khorne Berzerkers 68 → 40, Lord Exultant 74 → 40, Drukhari Shadowseer 96 → 65, Tyranid Warriors with Melee Bio-Weapons 72 → 52.
- Most other units' Utility parts shift by a point, since their percentiles are against every unit.
- Value, Offense and Defense don't move. The site's letters come from Value and the meta share, so no letter on the site changes (0 Value-band changes).
- The generated pages: 1,057 faction and unit pages are rewritten, mostly for that one-point drift. Unit pages lose the trait chip and show the new Utility parts.
2. Neurogaunts are 11 to 22 models (index.json, rankings.json, the calculator's size list). BSData's Nodebeast is one model, raised to two once the squad has 20 Neurogaunts. bsdata.js read the model's own maximum and missed that raise, so the unit read 21. _raisedByModel now reads it: a model's maximum raised by a count of another model in the unit. Only Neurogaunts change in the whole catalogue. Their points stay 45 for 11 and 90 for the larger size, now at 22 models.
Not changed (wargear costs). bsdata.js reads a unit's own points (its size breakpoints) and none of the option costs. At the pinned commit, BSData prices about 70 options across the armies: weapons such as the Tyrannofex's rupture cannon (+20) and acid spray (+10), the Riptide's ion accelerator (+25), the Gunwagon's zzap gun (+10), and upgrades such as unit enhancements. The best-loadout solver therefore picks a paid weapon at the unit's base price. This is a missing feature, not a misread: pricing it means recording each option's cost in units.json and having docs/loadout.js and the rankings price a squad by its kit, a change to the live Offense of every such unit. So it's documented here and in design/scoring.md's known gaps, and left for a card of its own.
6. The other bug fixes
- The loadout (
sameLoadout). Damage per target uses rankings.json's best squad into that target (T-360's Context rule), but every effect's ratio was worked out on the default wargear. Effects now use the same squad: the ratio of a detachment, leader, aura or Marked effect into each target comes from that target's best squad at the listed size (tools/tiertest.jskitAt, throughratioOfandlendRatio). Alone it moves 119 letters across every army. The units that moved most:- Desolation Squad (Space Marines) 92.5 → 9.1: a detachment's anti-vehicle ratio from frag rockets had been multiplying krak damage, Hammer raw 770 → 171.
- Tiger Shark (T'au) 86.7 → 12.7.
- Armoured Sentinels (Astra Militarum) 93.8 → 30.8.
- Devastator Squad 84.9 → 26.5.
- Death Company Intercessors (Blood Angels) 30.9 → 85.3.
- Death Company Marines 60.9 → 94.5.
- The aura pattern. V2c's aura stand-in counted names matching "(Aura)" only. It now also counts "(Aura, Psychic)" and similar tags (
auraN11). In round 11 the stand-in stays only for units whose lending isn't measured, so this reaches a handful of units outside the Tyranids. - tools/banner.js
squadRec. A leader's link that differs from the datasheet's name by case ("Bio-weapons", "Bio-Weapons") is matched ignoring case. The Lash Whip Prime now finds both Warrior squads: its best is the Melee Warriors at ×0.61 with its attacks left out. The tracked 2026-10-02-banner.json isn't regenerated, so rounds 9 and 10 reproduce. Round 11 reads today's banner.js. - tools/tierbench.js
banOf. The Banner switches take off the stored multiplier (banLead), not today's (banAlt.cur). With every switch off, compose still reproduces round 10 exactly (--check). --rawdump. It no longer overwrites the table under a running bench. It holds build/tier-raw-tyranids.lock (taken over only from a process that has ended) and writes each file to a per-process temporary name, then renames it into place.--raw-out <file>writes elsewhere and leaves the tracked copies alone.- The charge distance (residuals 1's claim; Wahapedia's 11th-edition core rules, read 2 Oct, errata and FAQ on the same page). In our words:
- Engagement range is 2" horizontally and 5" vertically.
- A charge needs an enemy unit within 12". The 2D6 charge roll is the move's maximum distance.
- A unit can only pick as a target an enemy unit within that distance. After the move it must be engaged with every target.
- The rules' own example says a unit beyond the roll can't be a target even if the move could end within 2" of it. The FAQ says modifiers to the roll count when picking targets.
So the roll must reach the target's distance, not that distance less 2". The claim doesn't hold: our pChg (a roll of at least the gap) is right, and so is the Deep Strike charge (set up more than 8" away, so a 9 is needed, 28%). Card T-566 records this. It has no change to make, and it notes the one difference found: Deep Strike sets up more than 8" away, while V3C.DS places it at 9" for range checks.
7. Method, decisions taken alone, doubts
The switches (o.r11, all on in round 11; R11F names them):
bannerLendOnly: the leader multiplier from today's banner.js withlendOnly. The difference from the stored one goes into Banner. The leader's own attacks get an "inside" context: its Hammer delivered on the turns alive of the pair with the squad that keeps it alive longest, at that squad's listed size. Its Anvil and Runner stay its own.bannerModelCount: banner.js'smodels, a multi-model character at its real model count.turnsHarmonic(turnsH): Anvil's turns alive and its Battle-shock share are 1 ÷ Σ wᵢ ÷ turnsᵢ over the six attacker classes, with no per-class floor or cap, and min(that,V10C.TMAX= 5) in Anvil. Hammer and Runner keep turns5's turns, as bench 1 found best (the residual report: switching Hammer cost the Marines 0.18).reArriveAfterKill: goRe'salt.reArriverGateExempt: a re-arriving unit (tierfx.json'srearrive) skips Runner's points gate.lendOnBestSquads(best2), one rule for every lend:- Each lend is worth its lift on the two squads of the bearer's army it lifts most, by points lent. The candidates are every non-character unit of that army in the fieldable pool that the lend reaches.
- A defensive lift counts as the turns alive it adds inside the game: min(5, T × (1 + l)) ÷ min(5, T) − 1.
- Feed the Swarm is the mean of its two best squads (one regeneration a phase), and round 7's cap goes.
- Applies to data auras, tierfx.json auras and marks, Synapse, heals for others and the −1-to-hit shield. A unit with any measured lend loses V2c's aura stand-in and the CP block's stand-in swap.
- This replaces bench 2's Hive Tyrant special case, bench 4's Pyrovores and bench 1's Maleceptor (
auraToNeighbours, which went into Anvil; here the lend is Banner's).
stealthSurvival: a unit with the Stealth trait takes 4/3 the attacks to destroy from each ranged class (htk5's cover factor), unless its own abilities already give it cover (the Flayed Ones). ev.js already has the hook (a defender'scoveron incoming ranged attacks), but the tier test's incoming fire is htk5's closed form, not ev.js, so the fix lives in the tier test only.bestSize: every size on the datasheet, in every detachment, the best by the tie key.bestLeader: each leader BSData's canJoin allows, at each size, in the squad's best unpaired detachment. The pair's Banner is the squad's plus the leader's lending other than its multiplier, per point of the pair. A leader takes the pair as its own context when it is a multi-model unit, or (Tyranids, from the co-list counts) when it joins that squad in most lists that take both.sameLoadout(kit): section 6.
Decided alone:
- The defensive-lift transform and the Feed the Swarm mean.
- Pairs scored in the squad's best unpaired detachment, not every detachment: the cost, about 6 s a run.
- The inside squad at its listed size.
- Banner per point of the context's own cost (a larger squad or a pair).
- Rule links read by self-scoped conditions only.
- Round 11 reads today's banner.js; the tracked file stays round 10's.
Doubts:
bestSizeas the maths defines it means the largest squad (absolute survival grows with size, incoming fire doesn't). It favours hordes and costs the Tyranid ruler and both other panels on top of the rest. Bench 4's fire scaled to points is the measured alternative.- Feed the Swarm uncapped.
- The stand-ins removed before a CP's price exists (T-558).
- The per-army median's sensitivity: 0.165 → 0.139 from the data fixes alone.