Tactical Reroll
⋯

One per job: the better option takes the slot (T-682, phase 1, 5 Oct)

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

The idea (Jordan's Tyranid notes). A list takes one unit per job. When another unit of the same army does that job better per point, reviewers mark the weaker one down: the Winged Hive Tyrant against the Hive Tyrant, ranged Warriors against melee Warriors, Von Ryan's Leapers against the Lictor and Neurolictor, Carnifexes and the Toxicrene against the Haruspex. Our ledger values each unit alone, so it can't see this.

What was built. tools/rivals.js, a preview. It changes no ledger file, setting or page.

A product, so a pure shooter and a pure fighter are never rivals. An average was tried first. It left almost every Tyranid pair 0.8 to 0.95 alike, so the dial only shrank the weak units. Under the product, Tyranid pairs at Track A have a median likeness of 0.02 and a 90th percentile of 0.29. Same-job pairs land between 0.3 and 0.75.

Sanity print: Tyranids, Track A, rivalW 0.5 (node tools/rivals.js --w 0.5 --all; ranks of 52)

UnitLettersRankValue per 100Top rival (likeness, gap)
LictorASSSSAS1 → 14047 → 4047none: best in its job
Hive TyrantSASAASAS2 → 23536 → 3505Lictor (0.12, 0.14)
Winged Hive TyrantABBBBABB3 → 33273 → 3192Hive Tyrant (0.62, 0.08)
Von Ryan's LeapersSBABCSBA11 → 92062 → 1884Lictor (0.18, 0.96)
NeurolictorSSBSSSS12 → 141981 → 1572Lictor (0.41, 1.00)
Warriors, meleeBBABBBBB14 → 111792 → 1653Lictor (0.16, 1.00)
Warriors, rangedCCBDCCCC17 → 211327 → 946Biovores (0.57, 1.00)
HaruspexBBAABBBA24 → 251065 → 857Old One Eye (0.55, 0.71)
Screamer-killerBBCCBBBB26 → 28992 → 699The Swarmlord (0.59, 1.00)
CarnifexesCCCCCCCC32 → 33840 → 588Norn Assimilator (0.60, 1.00)
ToxicreneDDC41 → 40554 → 415Maleceptor (0.50, 1.00)

The other big movers: Parasite of Mortrex (37th to 42nd, behind the Winged Tyranid Prime at 0.91), Termagants (38th to 43rd, behind ranged Warriors), Raveners (28th to 32nd), Tyranid Prime (7th to 10th) and Broodlord (10th to 13th), all three behind the Lictor. Rising, because their neighbours fall: Neurotyrant (30th to 23rd), Psychophage (35th to 29th), Tervigon (22nd to 18th) and Mawloc (42nd to 38th).

Against the predictions.

Read. The rival structure is plausible: the Lictor, the Swarmlord and the Biovores are the units others give way to. It is not yet a measurement. In sample, the five Tyranid lists go 79.3 to 78.9 at 0.5 against 78.0 for one placebo seed. Measuring is phase 2, after T-673: a sweep of rivalW through tools/exam.js, held out by army, with the placebo seeds beside it. Nothing is adopted.