The line for Donovan Clingan’s rebounds has moved up significantly, opening at 6.5 on theScore Bet and now showing a consensus median of 8.5 across seven books. This upward movement is evident across multiple books, with DraftKings, Fliff, and theScore Bet all showing increases from 6.5 or 7.5 to 8.5.
What’s behind the button
The model receives a structured fact sheet for the prop:- The opening line (book + timestamp)
- The current consensus across all books (median + book count)
- The full movement timeline (last 12 snapshots)
- Any active sharp signals (sync, steam) for the prop
Anti-hallucination
The system prompt locks the model to four hard rules:- Use only the data provided. No invented stats, injuries, news, or external context.
- If the data is sparse, say so. Don’t speculate.
- No betting advice. No “bet the over” or “fade this.” Pure factual summary.
- Maximum 2 sentences. Forces concision; reduces drift.
Cost & caching
Cached per snapshot
Narratives are cached by
(player, game, prop, latest_snapshot_id). The same prop with the same most-recent snapshot serves from cache — no token spend on repeat clicks.A new snapshot invalidates the cache, so the next click after movement gets a fresh narrative.Daily token budget
A daily token cap prevents runaway spend. If the budget is hit, the button returns “AI explanations are temporarily unavailable — daily budget reached. Try again tomorrow.”Defaults to 100k tokens/day (~$1-2 on Gemini Flash).
Provider
The default is Gemini 2.5 Flash (cost-efficient, factual). The codebase ships with a swappable adapter, so we can switch to Anthropic Claude or another provider via a single env var without code changes. If you’d rather self-host or use your own provider, the architecture supports that — but the default is what you’ll see.What this isn’t
- Not a sharps prediction. The narrative describes what happened, not what will happen.
- Not a betting recommendation. The model is explicitly instructed never to suggest a side.
- Not real-time. The narrative reflects the data as of the latest 30-minute snapshot, not sub-second odds.
Coming soon
Quality eval harness
Tracked as follow-upAutomated testing of narrative quality against historical movements (looking for hallucinations, factual drift, voice consistency). For now, output is monitored manually and the prompt-level safeguards are the primary defense.