← All findingssource · memory/project_wnba_snapshot_players_regression.md
ROOT-CAUSED by the 2026-07-07 full-chain audit (project_wnba_audit_2026_07). The 2026-06-11 "players block regression" was route-scoped, not a regression:
/api/v1/wnba/snapshot/{id}(league route) is HEALTHY — verified live 2026-07-07 on both games: 37-38 players, 26-27 with prop_diagnostic, 1,055 mispriced line_edges, team stats block, injuries hard-gate.- Bare
/api/v1/snapshot/{id}serves a thinplayers:nullWNBA snapshot because data-hydrator's warmer writes ALL leagues under the bare NBA-namespace cache key (warmer.go:279,300) with an incomplete assembly, while the league route usessnapshot:{league}:{id}(handlers.go:783). - The consumer that matters — grading-service's 18:00 UTC fanout — fetches the BARE route (
fanout.go:390), sosystem_lineedges/both_agree/disciplined/disciplined_boardhave zero WNBA rows all season. That consequence part of the original note was right.
How to apply: fix = league-prefix the URL in grading fetchSnapshot (fanout.go:390) + fix the data-hydrator warmer cache key + make looksLikePlayerMap (system_lineedges.go:218-233) scan all values. Then trigger fanout and confirm WNBA rows appear. Tier-0 item #1 in the audit roadmap. Related: project_wnba_snapshot_depth_gap (per-player depth blocks still unwired — separate, real, deprioritized).