PHASE 1 (measured on the live prod feed with the real key):
- WNBA is NOT thin at the feed -- 4.21 books/prop vs MLB's 3.61. It was
allow-list-starved exactly as MLB was. This removes one candidate
explanation for its anti-predictive result; it does not explain it, and
WNBA stays abstaining.
- We cannot see 64.8% of the MLB slate at all (zero admitted books).
- Exchanges are real (smarkets 27%, novig 22%, kalshi 15% on MLB) but
pinnacle, matchbook and polymarket measured 0% on BOTH sports. There is
no sharp anchor for player props. The consensus is a MARKET consensus,
not a SHARP one -- recorded as a permanent limitation, not a milestone.
- DFS is the trap, quantified: prizepicks covers 82% of MLB props, the
highest in the feed. Admitting it "for breadth" would have looked like
the biggest available win. Permanently excluded.
- Endpoints: /context WORKS and is FREE (umpire, roof, pitcher handedness,
lineup confirmation -- richer than what we hand-built). /odds/closing and
/movement are REDACTED (full structure, zero prices). /results and
/exports/resolved-props are 403.
- The $19/mo question is answered: soccer IS graded, ~15 competitions in 30
days (MLS 41k, Liga MX 15k, Brasileirao 12k, UCL/Europa/Conference). Our
"soccer grades into a void" is a Pro-tier problem, not a data problem.
NBA is absent because it is July -- seasonal, not inferable either way.
PHASE 2 delta, corrected: MLB mean +1.50 pts, median 0, p90 +10.0, 17.0%
of comparable props move >=5 pts, one-directional (the incumbent prices
the over below the exchange-inclusive consensus). WNBA symmetric and
tight. The median prop does not move -- the change is a right-skewed
minority. That the rulers DIFFER is established; that the new one is
BETTER is not, and that is the re-run.
PHASE 2 item 6: ledger_entries.ruler_version applied to prod, 1,384
existing rows backfilled to v1_first_book (a statement of fact -- every
row to date was produced by the first-book rule). ledgerService stamps
CURRENT_RULER_VERSION on new rows. Never pool edge or CLV across it.
Repo migration numbering lags prod; 025_ledger_ruler_version.sql records
the DDL for review.
PHASE 3: MLB isotonic p_win remains PROVISIONAL -- calibrated against
v1_first_book, does not promote until re-run on the consensus ruler.
NOT LIVE, deliberately: ALLOWED_BOOKS unchanged, served slate
byte-identical, CURRENT_RULER_VERSION still v1_first_book, no live path
calls consensusRuler.
Gates: 4,022 tests passed / 322 suites; next build exit 0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc