← All findingssource · memory/project_wnba_eb_shrinkage.md
nightlyhoops_build_plan.md §4's "highest-value partial cut" per the gap audit: shrink WNBA's season-average projection input toward a positional prior, without full FGA/FG%/3PA/etc. component decomposition (that's a separate 3-5 week item, still entirely unbuilt for every league).
Two real bugs caught before shipping: (1) position first-letter bucketing (above); (2) split-brain risk — season_delta (the confidence-gating signal) must use the same shrunk value as prediction, or they can disagree for exactly the thin-sample players shrinkage targets. A live sanity probe also caught sport-data-service's WNBA season stats never including turnovers at all — without a guard this manufactured a bogus "league average turnovers = 0.0" prior; now dropped from a bucket instead of defaulting to zero.
Default ON, not backtested — today's live priors would leak into any historical replay window (the same class of bug as the already-fixed 743a06b look-ahead leak). Instead persists a model_over_prob_unshrunk shadow field on every v2-path prediction for forward validation once a few weeks of real data accumulate — nobody has run that comparison yet, it's queued future work, not done.
Relates to project_market_anchored_simulator — the simulator's step 4 (per-component rate draws) is blocked on the FULL decomposition this shrinkage deliberately did NOT build.