← All findingssource · memory/project_wnba_ui_live.md
WNBA free editorial section shipped + verified live on prod 2026-06-17
(nightly-hoops bbcab90, debate-v2 2a17552). Pipeline → UI works end-to-end:
blog_generator --league wnba publishes calibrated graded picks → debate-v2
debate_results → www.nightlyhoops.com/wnba/picks/<date> renders them with
A/B/C grade badges + 3-4 para write-ups; /wnba/results is the graded track record.
Two LATENT BACKEND GAPS that bit the UI and will recur:
-
debate-v2 game_id prefix inconsistency.
/debate/games/date/{date}returns WNBA ids UNPREFIXED (1022600108), but/debate/game/{id}/preview(+ detail, versions) ONLY resolve the PREFIXED form (wnba_1022600108). Storage is prefixed. Frontend works around it withcanonId()inpicks.ts(prefixes non-NBA ids before per-game fetches). The real fix is debate-v2 returning canonical ids in the list (or accepting both forms). SDS/wnba/games/{id}+ grading/grade/game/{id}want the BARE numeric id →numericId()strips the prefix for those joins. -
grading-service has no clean WNBA grade history.
GET /grade/game/{id}404s for recent WNBA games (6/13, 6/16) and older persisted reports mark DNPs aspushwithactual_value=0. So the track record stays empty until grading reliably settles WNBA actuals. Frontend treatspushwhereactual != lineas VOID and excludes it (honest empty state, not a fake 0%/push wall). The grading pipeline fix is separate work in grading-service.
Also: picks page pricing/edge chips + Core/List tiers wait on the 18:00 UTC
grading fanout (banner: "Awaiting 18:00 UTC fanout"); graded picks render before it.
Apex nightlyhoops.com 301s to www. — always curl with -L when verifying.
See project_multi_formula_clv_harness (18:00 UTC fanout) and project_wnba_model_audit.