docs: hero ranking fix verified (new code serving — max-p_win takeable, chalk excluded)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VsztNChZ7vEvSR61AuMhD1
This commit is contained in:
@@ -92,6 +92,24 @@
|
||||
> multi-book, honest-absent (`books:null`→NULL), crown OFF (`bestLines:0`) — plus the
|
||||
> component/panel/wiring unit tests + the type-checked build. Fingerprint: no unauthenticated
|
||||
> card surface (frontend-behind-auth); the consumed feed is live + unchanged.
|
||||
|
||||
> ## 🎯 HERO RANKING FIX 2026-07-29 (commit 41b86e3): p_win among takeable, no arbitrary pick
|
||||
> Review Zero found the hero's REAL behavior was worse than "unknown": it ranked on ev_pct
|
||||
> (v2), but ev_pct is NULL on served grades and **`Number(null) === 0`** made every prop tie
|
||||
> at EV 0 → the "top read" was the FIRST takeable A/B prop in cache order (ARBITRARY, dressed
|
||||
> as ranked; prod was serving Kelsey Mitchell A p_win 0.755 = the #6 read). 0.2/0.3 PASS:
|
||||
> champion p_win is on 100% of recent ledger rows (same graded source as the snapshot cache;
|
||||
> `/api/snapshot` null is just the `stripModelPrice` tier strip), book_odds present. v3:
|
||||
> rank by champion **p_win** among A/B TAKEABLE reads (`isTakeable` −160..+200, same as the
|
||||
> proof/audit), strict-null guard kills `Number(null)=0`, takeable filter excludes chalk, NO
|
||||
> backfill → honest empty state (`available:false, reason:'no_qualifying_read'`). p_win is
|
||||
> RANKING-ONLY (never exposed; route strips it). Display-only: reads caches, writes nothing.
|
||||
> Framing = model-vs-book number + grade (no proven-edge/+EV/best-bet/CLV/ROI claim).
|
||||
> FINGERPRINT (VERIFIED): the current MLB snapshot has 1 takeable A/B grade (Schanuel −135)
|
||||
> which OLD code (mlb-first iteration + `Number(null)=0` first-wins) would pick — but the live
|
||||
> hero is Kelsey Mitchell (WNBA A), the max-p_win read ACROSS sports, and untakeable chalk
|
||||
> (Yainer Diaz −200, Altuve C) is excluded → new code confirmed serving. Visual is auth-gated
|
||||
> (landing hero public, dashboard not) — data fingerprint used, `cf-cache-status: DYNAMIC`.
|
||||
- **Redirect EXISTS + WIRED:** `closingCapture.buildCaptureRows`→`closing_captures` (append-only,
|
||||
provenance: captured_at/book/line_type/both-prices/missed_reason) via `intradayRefreshService:221`
|
||||
+ internal endpoint; `ledgerService.attachClosingProb`→`closing_prob` (de-vigs both raw sides,
|
||||
|
||||
Reference in New Issue
Block a user