Tactical Reroll
⋯

Reports

What the morning summary reads, as of this build. Everything here is ours or counts of public tournament results (grimstat-corpus, CC BY 4.0); the patch pulse shows each unit's searches and tests only as its part of the score.

The report

node tools/report.js, run when the site was built.

== Tournament data coverage (T-413) ==
  sources: minihq
  month     events  winning lists
  2026-09        6             33
  2026-08        9             38
  2026-07       10             41
  2026-06       10             38
  lists: 2026-09, 2026-08, 2026-07, any placing, matched to our datasheets
  army                       lists 3 mo players 4 wk
  Necrons                            33            -
  Adeptus Custodes                   29            -
  T'au Empire                        24            -
  Dark Angels                        23            -
  Tyranids                           23            -
  Emperor's Children                 22            -
  Orks                               21            -
  Chaos Daemons                      18            -
  Death Guard                        16            -
  Adeptus Mechanicus                 15            -
  Astra Militarum                    15            -
  Aeldari                            15            -
  Adepta Sororitas                   13            -
  Blood Angels                       13            -
  Grey Knights                       13            -
  Drukhari                           13            -
  Leagues of Votann                  13            -
  World Eaters                       12            -
  Ultramarines                       12            -
  Imperial Knights                   12            -
  Chaos Space Marines                11            -
  Space Wolves                       11            -
  Thousand Sons                       8            -
  Salamanders                         7            -
  Black Templars                      6            -
  Chaos Knights                       5            -
  Genestealer Cults                   5            -
  Raven Guard                         4            -
  Imperial Fists                      3            -
  Iron Hands                          2            -
  Space Marines                       2            -
  Deathwatch                          1            -
  Agents of the Imperium              1            -
  0 of 33 armies have 40+ lists (T-332's count; its other check, our order against the public win-rate tables, is by hand)

== Data audits (T-385) ==
    1  unclean     ours    Wargear choices that didn't read cleanly: more than one legal squad, but none kept as its best (scored on its default wargear)
    1  noProfile   BSData  Weapons with no attacks, strength or damage in the data
   10  zeroDamage  ours    Units that remove nothing from any of the five targets
    3  pointsSize  BSData  Points tiers whose model counts fall outside the unit's size
  124  dualNames   ours    Weapons with a shooting and a fighting profile under one name, kept as two (T-350): for review, not errors
   50  copies      ours    Default wargear carrying more than two copies of a weapon per model at the smallest size
    0  dupPicks    BSData  Wargear picks that offer the same option twice

== Army tiers from placings (T-332) ==
  0 of 33 armies have 40+ lists in the last 3 months
  Closest: Necrons 33, Adeptus Custodes 29, Dark Angels 23, T'au Empire 23, Emperor's Children 22

== Patch pulse (T-519) ==
  Last balance update 2026-10-03 (BSData 374f505→8b91e6b): 241 units changed, 188 in points, 132 in profiles.
  Searches: the weekly pull's 28 days (2026-09-28), until daily days exist. Tests: none kept yet.
  Top movers:
   1. Cybernetica Datasmith (Adeptus Mechanicus) 5.6: 25→20 pts, tier A→S; best into MEQ, worst into Heavy vehicle
   2. Big Mek Dakkarig (Orks) 5.27: 135→160 pts; best into MEQ, worst into Heavy vehicle
   3. Mek (Orks) 4.52: 45→55 pts; best into MEQ, worst into Heavy vehicle
   4. Big Mek (Orks) 4.16: 85→100 pts, tier C→D; best into MEQ, worst into Heavy vehicle
   5. Canoptek Tomb Crawlers (Necrons) 4.16: 50→60 pts; best into GEQ, worst into Heavy vehicle
   6. Bannernob (Orks) 3.91: 35→30 pts; best into MEQ, worst into Heavy vehicle
   7. Watch Captain Artemis (Agents of the Imperium) 3.91: 65→75 pts, tier C→D, searches +0.11; best into MEQ, worst into Heavy vehicle
   8. Deathwatch Kill Team (Agents of the Imperium) 3.6: 100→115 pts, tier A→B; best into GEQ, worst into Heavy vehicle
   9. Rubric Marines (Thousand Sons) 3.18: 100→115 pts, profile changed; best into GEQ, worst into Heavy vehicle
  10. Valerian (Adeptus Custodes) 3.05: 110→120 pts, profile changed; best into MEQ, worst into Heavy vehicle
  11. Servitor Battleclade (Adeptus Mechanicus) 2.96: 65→75 pts; best into GEQ, worst into Heavy vehicle
  12. Lord of Virulence (Death Guard) 2.9: 100→90 pts; best into MEQ, worst into Heavy vehicle
  13. Havocs (Chaos Daemons, Chaos Space Marines) 2.88: 125→135 pts, tier B→A, profile changed; best into GEQ, worst into TEQ
  14. Chaos Bikers (Chaos Space Marines) 2.87: 70→80 pts, tier A→B, profile changed; best into GEQ, worst into Heavy vehicle
  15. Breacher Team (T'au Empire) 2.83: 90→80 pts; best into GEQ, worst into Heavy vehicle
  16. Aquila Kill Team (Agents of the Imperium) 2.82: 100→110 pts; best into GEQ, worst into Heavy vehicle
  17. Saint Celestine (Adepta Sororitas) 2.78: 150→135 pts; best into GEQ, worst into Heavy vehicle
  18. Big Mek with Shokk Attack Gun (Orks) 2.76: 95→110 pts; best into Light vehicle, worst into GEQ
  19. Wracks (Drukhari) 2.75: 60→55 pts, tier B→A; best into GEQ, worst into Heavy vehicle
  20. Allarus Custodians (Adeptus Custodes) 2.73: 110→120 pts, profile changed; best into MEQ, worst into Heavy vehicle
  Suggested clash pages: Cybernetica Datasmith vs MEQ (stand-in); Big Mek Dakkarig vs MEQ (stand-in); Mek vs MEQ (stand-in); Big Mek vs MEQ (stand-in); Canoptek Tomb Crawlers vs GEQ (stand-in); Bannernob vs MEQ (stand-in); Watch Captain Artemis vs MEQ (stand-in); Deathwatch Kill Team vs GEQ (stand-in); Rubric Marines vs GEQ (stand-in); Valerian vs MEQ (stand-in).

== Plausible goals to add (T-317) ==
  **Done 5 Oct (Jordan added List Tune Saved, Meta Share, Share and Best matchup; the four stale goals stay, harmless).** Checked 5 Oct against Jordan's goal list: every event the live code sends has a goal except **List Tune Saved, Meta Share, Share**; add those three. **When Best matchup (T-688) reaches the live site:** add **Best matchup**. Goals for events the code no longer sends (safe to delete): Loadout Goal, Beta Layout, Paywall Shown, Pro Waitlist Click. Plausible's own (keep): Outbound Link: Click, File Download, Form: Submission, 404. Matchup Pair is still sent by the code and has a goal; harmless. The Sites API (goals by API) is Enterprise-only, so goals stay by hand: Plausible → Site settings → Goals → + Add goal → Custom event, names exactly as written; goals count from the day they are added (no backfill).
  In code, no goal data (2026-10-05.md): Affiliate Click, Auto-equip, Faceoff Shared, Feedback Sent, Fight Back, GIF Offer Used, Game Plan Saved, List Load, List Open, List Pick, List Tune, List Tune Saved, Matchup Colours, Matchup Pair, Meta Filter, Meta Share, Nickname, Page Search, Picture Shared, Saved List Loaded, Share, Support Card Click, Support Card Shown, Supporter Code Asked, Supporter Gift Redeemed, Supporter Signed In, Unit Card, Unit Pick, Unit Saved.

== Cards by status ==
🟡 130: T-761, T-451, T-454, T-457, T-465, T-579, T-560, T-562, T-563, T-564, T-565, T-567, T-568, T-569, T-570, T-574, T-577, T-578, T-572, T-571, T-575, T-576, T-582, T-580, T-581, T-583, T-586, T-587, T-589, T-588, T-591, T-627, T-628, T-641, T-654, T-660, T-661, T-662, T-663, T-668, T-669, T-670, T-667, T-607, T-609, T-610, T-672, T-671, T-673, T-674, T-675, T-677, T-678, T-679, T-680, T-681, T-683, T-682, T-684, T-685, T-686, T-687, T-688, T-688, T-689, T-691, T-690, T-695, T-698, T-694, T-701, T-702, T-703, T-705, T-704, T-707, T-709, T-710, T-711, T-712, T-713, T-714, T-716, T-717, T-715, T-718, T-726, T-727, T-728, T-731, T-737, T-738, T-735, T-734, T-733, T-739, T-746, T-743, T-744, T-745, T-747, T-749, T-751, T-748, T-740, T-736, T-559, T-556, T-546, T-542, T-541, T-540, T-538, T-537, T-535, T-530, T-529, T-527, T-526, T-524, T-521, T-519, T-518, T-770, T-771, T-772, T-773, T-774, T-775, T-073
🔲 83: T-316, T-762, T-763, T-042, T-067, T-409, T-418, T-566, T-573, T-584, T-585, T-590, T-592, T-593, T-594, T-595, T-596, T-597, T-598, T-599, T-600, T-601, T-602, T-603, T-604, T-605, T-611, T-612, T-613, T-614, T-615, T-616, T-617, T-618, T-619, T-620, T-621, T-622, T-623, T-624, T-625, T-626, T-629, T-630, T-631, T-632, T-647, T-648, T-649, T-655, T-656, T-657, T-658, T-659, T-606, T-608, T-676, T-689, T-696, T-700, T-705, T-706, T-709, T-710, T-711, T-716, T-719, T-721, T-724, T-729, T-730, T-732, T-558, T-555, T-539, T-534, T-533, T-532, T-531, T-528, T-523, T-343, T-230
⛔ 4: T-332, T-411, T-412, T-059
🅿️ 78: T-327, T-328, T-329, T-330, T-323, T-325, T-326, T-041, T-066, T-043, T-044, T-051, T-052, T-115, T-116, T-117, T-110, T-102, T-046, T-047, T-104, T-049, T-105, T-106, T-107, T-108, T-109, T-152, T-153, T-154, T-155, T-163, T-169, T-170, T-172, T-173, T-174, T-175, T-176, T-177, T-178, T-180, T-181, T-164, T-165, T-166, T-158, T-160, T-185, T-186, T-187, T-157, T-182, T-183, T-208, T-217, T-484, T-498, T-499, T-664, T-665, T-666, T-697, T-699, T-708, T-720, T-741, T-536, T-525, T-522, T-401, T-402, T-415, T-212, T-213, T-223, T-416, T-120

== Weekly analytics (2026-10-05.md) ==
  | Last 7 days (2026-09-26 to 2026-10-02) | 135 | 13285 | 1.0% | 8.7 |
  | Last 28 days (2026-09-05 to 2026-10-02) | 150 | 15596 | 1.0% | 8.7 |
  | Last 7 days | 263 | 303 | 1217 | 43% | 397s |
  | Last 28 days | 363 | 438 | 1684 | 41% | 459s |
  Pageviews last 7 days: 1217 of the 10,000 a week that opens the affiliates (T-041, T-066)
  | loadout | 7 | 0 | 11 | aeldari corsair voidreavers loadout (2); best sword brethren loadout (2); telemon heavy dreadnought best loadout (2) |
  | wargear | 0 | 0 | 0 | none |
  | detachment | 8 | 0 | 8 | best thousand sons detachment (1); bringers of flame detachment (1); cult of the arkifane detachment (1) |

== Monthly cross-check against the public tables (T-332) ==
  None logged yet (first due 28 Oct): reports/crosscheck.md

Tier-system tests

T-524: three ways to give a unit its letter, against a public tier list (T-523, Tier system v2).

Tournament sources and their terms

From tools/sources.json (T-409 to T-412): a source is read only once its terms allow it.

SourceReadTerms checked
minihqongrimstat-corpus's top-level files, CC BY 4.0 (its README); MiniHeadQuarters' pages may be read by a machine
listhammeroffgrimstat-corpus's listhammer/ folder: not under the corpus's licence; publishing needs Listhammer's OK (T-411, Jordan asked 30 Sep); its /stats faction tables likewise (no licence on the site; robots.txt keeps machines off /api/, /events/, /players/, /list/; checked 2 Oct, T-571). Internal model use only since 6 Oct (Jordan: "Yes, internal use"; T-738): read by tools/sources/merge.js into build/tournaments/ only, never published
longshanksoffrobots.txt allows reading (crawl-delay 20 s), no terms page; but on 30 Sep 03:46Z it answered our reads with a bot challenge (captcha), so it isn't open to machines: email first (design/sources.md, T-412)
mhqsiteoffMiniHeadQuarters read directly (T-735): robots.txt sets no rules and no content signal; its terms (/tcu) don't mention machines and state no licence. Internal model use only (Jordan, 6 Oct): build/tournaments/ only, never published; publishing stays on the corpus relay (minihq)
tabletopheraldoffrobots.txt allows all, no terms page; standings only through an undocumented API and lists behind a login (T-412). Since T-735 a reader of its public pages' own data (each event's field: armies and detachments, no names, no results) for internal model use only (Jordan, 6 Oct): build/tournaments/ only, never published; its undocumented API is not called
tabletoptooffdropped: the domain is parked (checked 30 Sep, T-412)
t3offits terms (§8) need prior written consent to reuse content: permission first (design/sources.md, T-412)
listengineoffno rules or terms; one developer on Discord: permission first (design/sources.md, T-412)
hutberoffa bot checkpoint answers machines (HTTP 429), terms unreadable: permission first (design/sources.md, T-412)
statcheckoffStat Check's faction and faction-versus-faction win rates (T-571, checked 2 Oct): no terms or licence page anywhere on the site; robots.txt lets general agents read /the-meta but names AI crawlers to keep out; the dashboard is a Tableau Public embed whose own terms page refused our read (403). Nothing grants reuse: ask first (contact address on its home page)
ttbattlesoff40kstats (Tabletop Battles; the old 40kstats.goonhammer.com now redirects there), faction-versus-faction win rates (T-571, checked 2 Oct): no robots.txt or terms on the stats site; the parent site and Goonhammer answer machines with a bot check, so their terms are unreadable to us. Ask first
metawatchoffGames Workshop's Metawatch win rates on Warhammer Community (T-571, checked 2 Oct): robots.txt allows reading, but its terms of use forbid reproducing or copying any part of the site without express permission, and our hard rule is never to host GW content. Not a source; a cross-check by eye only

Winning lists by month

From data/metatrack.json (T-161): top-quarter lists, kept as history.

MonthEventsListsMost taken armies
2026-09633Adeptus Custodes 5, Adeptus Mechanicus 4, Necrons 4
2026-08938Necrons 5, Emperor's Children 4, Tyranids 4
2026-071041T'au Empire 5, Necrons 4, Thousand Sons 3
2026-061038T'au Empire 4, Chaos Space Marines 3, Death Guard 3

Visual regression

The 12 screens of tests/browser/visual.test.js (T-396), their baselines as CI last made them, on GitHub.

ScreenPhonePhoneDesktopDesktop
calcdark phonelight phonedark desklight desk
listsdark phonelight phonedark desklight desk
metadark phonelight phonedark desklight desk
minedark phonelight phonedark desklight desk
page-armydark phonelight phonedark desklight desk
page-guidedark phonelight phonedark desklight desk
page-metadark phonelight phonedark desklight desk
page-unitdark phonelight phonedark desklight desk
pickerdark phonelight phonedark desklight desk
rankingsdark phonelight phonedark desklight desk
sheetdark phonelight phonedark desklight desk
unitcarddark phonelight phonedark desklight desk

Lighthouse

No Lighthouse run is kept in the repo yet; T-390's performance pass measures at 390px when it runs.