v2.1.2 — UFC card now actually shows up
v2.1.2 — UFC card now actually shows up
Hotfix shipped ~2 hours after v2.1.1. A live test against tonight's UFC card caught a bug where screen_ranked returned 0 rows for any non-major league (UFC, Soccer) — the default focus book was being set to Pinnacle, and Pinnacle doesn't post UFC moneylines. Algorithm, tier system, and tool surface unchanged.
What changed for users
screen_rankednow returns UFC data. Callingscreen_ranked({league: "UFC"})(and by extensionufc_card,all_slates, andrecommended_betsfor UFC) now surfaces the actual UFC card — currently the Gaethje/Topuria, Chandler/Ruffy, and Aswell/Bolanos fights. Before this fix, the same call returned an empty slate, making it look like the data feed was missing UFC events when it wasn't.
What's under the hood
screen_rankedwas defaulting the focus book to the league preset's first preferred book (Pinnacle for most leagues).extractScreenRowsthen applied afocusPlaysfilter that dropped every row whose odds didn't include Pinnacle — which is every UFC row, since Pinnacle doesn't post UFC moneylines. Fix: only set the focus book when the user explicitly passesbooks; otherwise expand to all books in the payload.- Defensive follow-up:
extractScreenRowsnow falls back to "all books in the row" if the requested focus book has no odds in that row — the focus-book feature was always meant as a best-effort preference, not a hard filter. - 1 new regression test in
test/handler-integration.test.jsasserts the fix against a fixture mirroring the live 2026-06-14 data shape (Pinnacle absent, BetOnline/Caesars/FanDuel/DraftKings present).
Honest framing
Even with the fix, the UFC card tonight still returns all TIER 4 / kaiCall: PASS — the system correctly identifies that the pregame moneylines don't have enough sharp-book consensus or line history to warrant a BET call. If you want signal on the card, try find_best_price for line shopping or wait until closer to tip when more line history accumulates.
Try it
Same as before. make install to upgrade, or npm install from a clean clone.
Then ask your agent: "Show me tonight's UFC card."
Full diff in CHANGELOG.md.