How our lab is wired: the LLM writes, the engine computes
Every number we publish comes from deterministic code. The language model is allowed to select and explain — never to calculate.
Most AI-and-betting content hides the wiring. Ours is the product, so here it is.
Diamond Labs runs 9 agents against 428 indexed data points. The architecture has exactly one non-negotiable constraint, and it is the reason we trust anything we publish: the deterministic engine computes all numbers; the language model may only select from engine-produced candidates and write prose.
What we found
The rule exists because language models are excellent at pattern-matching and terrible at arithmetic you can audit. A model that computes an expected value in its own head produces a number that looks right, cannot be reproduced, and cannot be backtested. A number that comes out of code can be re-run against history, and it fails loudly when it's wrong.
Ours fails loudly. The paper record is 2133-2403-64 for a return of -0.11%. Breakeven at standard pricing is 52.38%. We are not there.
The closing-line data says the same thing from a different direction. Average CLV is 0.0011, and we beat the closing number on 46.8% of paper positions — under half. CLV is the metric that tells you whether you found a price before the market did, independent of whether the ball bounced your way. On a sample of that size, 46.8% is not noise we can wave off.
Our NBA work carries the same signature. Across 1070 backtested games, our model's total mean absolute error is 15.17. The market's is 14.36. The market is more accurate than we are, by a margin the sample supports.
None of those numbers were produced by a language model. All three could have been narrated into something flattering by one.
What it means
The two-layer rule is not a safety blanket. It's what makes a negative result *possible*. If the writing layer could touch the math, every unflattering figure above would be one plausible-sounding revision away from disappearing — not through anything as deliberate as lying, just through the ordinary drift of a system optimizing for a good sentence.
So the pipeline is one-directional. Code produces candidates and their numbers. The model picks among candidates it did not create and explains them in language it did. When a figure isn't in the verified set, the draft is discarded rather than patched. That check runs automatically, on this piece too.
The practical consequence: we can publish "the market's 14.36 beats our 15.17" without a committee meeting. That sentence is expensive for a tout and cheap for us, because our credibility is in the method rather than the record. Right now the method's honest verdict is that the model is not yet good enough to bet, and the -0.11% paper ROI is the record of us saying so.
What would change our mind: sustained CLV. If beat-close moves durably above 50% on a forward sample — not backfit, not re-cut — the edge is real and the ROI follows. Until then we publish the losses.
21+ where legal. Nothing here is a recommendation to wager.
Want tonight's slate?
Our number against the market on every game, updated all day. Free.
Get access ›Diamond Labs publishes statistical research. Nothing here is betting advice or a guarantee of any outcome — projections are estimates from a model and can be wrong. 21+ where sports wagering is legal.