← All findingssource · memory/project_nba_season_readiness.md
User's stated goal 2026-08-06: WNBA has been the focus, but be ready for NBA season. Audit found the NBA training leg was not merely dormant — it was crash-looping nightly since 2026-08-02.
Root cause (CloudWatch-confirmed, now FIXED on feat/xgboost-plus-v5-missingness commit 4d19651): the 45-day rolling training window drained as offseason days pushed playoff dates out (592 samples on 8/01 = last success → 476 → 364), then ValueError: Need at least 500 samples to train. Two defects:
min_sampleswas dead code for NBA:run_train_nightlypasses 200,trainer.traingates on 200, then calledmodel.fit()which hardcoded_fit_with_min(min_samples=500). A 200-499 row window cleared the gate then raised inside fit. (MLB's trainer already called_fit_with_mindirectly — NBA never adopted it.)- [internal detail removed]
Why this matters for opening night: the first weeks of the season produce thin windows (200-499 resolved props). Pre-fix, every one of those nights would have crashed instead of fitting a model.
RATCHET LOCKED SHUT (code FIXED on branch 847320a, prod state NOT fixed). Live models/registry.json has deployedHoldoutAccuracy = 0.6758 stamped by v44 on 2026-06-01. Honest prop models score 52-56%, so every retrain this season would be refused — the same fluke-holdout lockout that blocked 21 WNBA retrains pre-7/07. All 60 registry entries show holdoutSamples: 0 / holdoutAccuracy: 0.0 (offseason), and the old gate could not tell "unmeasured" from "0% accurate". Commit 847320a ports WNBA's gate (holdout_evaluated + 0.52 abs floor + beat hit-rate baseline + stamp only when measured) and adds holdoutEvaluated/holdoutBaseline/deployReason to registry entries.
Still open before the season:
- [internal detail removed]
- NBA accuracy reports read 0/0 in offseason; confirm the sample-producing pipeline resumes in preseason rather than assuming it.
- Re-run
scripts/brier_board.py --fitafter the first real retrain (its calibration map is fitted on the pre-v5 model, and it is WNBA-shaped — check before trusting it on NBA).