Deep slate diagnosis — 20260906
- Games: 15 · hits 9 · misses 6 · winner accuracy 0.6
- Mean total-run bias on losses: -2.667 (negative = under-projected)
- Mean team-run error on losses: 5.333 · mean Brier on losses: 0.296
Loss primary drivers
- Small edge on the losing side: 1
- Several errors of similar size: 1
- Run environment far higher than projected (under-dispersed): 2
- Starting-pitcher projection was wrong: 1
- Backed the wrong side with real conviction: 1
High-level causal issue register
[HIGH] Validated run models explain very little holdout variance
- Domain:
model_validation· affected: ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD - Evidence: home/away/total R² = 0.0074/0.0182/0.0147
- Action: Treat exact run scores as low-confidence estimates, and look for stronger features or a better target before tuning the score tails.
- Do not infer: A small positive R² only means the model beats guessing the average; it does not make the exact scores reliable.
[INFO] Every settled game received structural QA
- Domain:
coverage· affected: ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD - Evidence: 15/15 games structurally audited
- Action: Keep the per-game audit receipt in every report.
- Do not infer: Full audit coverage does not cancel the findings raised inside the audited games.
[INFO] Material calibrated-to-published movements have recorded lineage
- Domain:
probability_lineage· affected: CHC@MIA, DET@CLE, MIL@CIN, MIN@CHW, SF@NYM, STL@COL, TOR@KC, WAS@LAD - Evidence: 8 material movement(s), all explained by named score-coherence and/or recency transformations
- Action: Keep showing every probability layer and the named transformation between them.
- Do not infer: A published probability above the calibrated one is not a governor bypass when a recorded transformation explains it.
[INFO] Simulation produced no winner-direction intervention on this slate
- Domain:
simulation· affected: ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD - Evidence: flip candidates 0; published flips 0
- Action: Measure the simulation's contribution across rolling slates, separating score realization from winner flipping.
- Do not infer: Zero winner flips is not a defect and does not mean the simulation did no score-reconciliation work.
Cross-slate trends (persistent-pattern memory)
- Window: 20260828, 20260829, 20260830, 20260831, 20260901, 20260902, 20260903, 20260904, 20260905, 20260906 (9 prior slates loaded)
- Highest-confidence pick loss streak: 1 slate(s)
- Actionable pattern detected: True
Escalated persistent patterns
- simulation_inert_on_slate — 10 consecutive slates (10 in window)
- Target lever(s): simulation.allow_score
- Direction: confirm the simulation module is running, not silently no-oping
- Guardrail: simulation_inert_on_slate has persisted 10 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move.
- weak_run_model_signal — 10 consecutive slates (10 in window)
- Target lever(s): training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate
- Direction: investigate features/target via isolated training backtest (manual)
- Guardrail: weak_run_model_signal has persisted 10 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move.
Metric direction across the window
winner_accuracy: improving · series [0.4667, 0.9412, 0.5, 0.6667, 0.4667, 0.3333, 0.5556, 0.625, 0.5333, 0.6]weighted_calibration_error: improving · series [0.2179, 0.3961, 0.0693, 0.1661, 0.2476, 0.21, 0.1474, 0.1316, 0.1, 0.0937]margin_bias: improving · series [-1.333, -1.882, -2.786, -3.5, -2.533, -3.067, -1.778, -0.688, -1.467, -1.467]mean_team_run_error_on_losses: improving · series [5.0, 3.0, 7.0, 8.25, 7.125, 6.4, 6.75, 6.0, 5.286, 5.333]
Pipeline stage quality
historical_ml: winner 8/15 (0.5333), team-run MAE 2.6762, margin MAE 2.4455variance_applied: winner 8/15 (0.5333), team-run MAE 2.6667, margin MAE 2.2667enhanced_prediction: winner 9/15 (0.6), team-run MAE 2.7, margin MAE 2.7333embedded_savant_run_environment: winner 9/15 (0.6), team-run MAE 2.6667, margin MAE 2.6667fundamental_edge_target_review: winner 9/15 (0.6), team-run MAE 2.6667, margin MAE 2.6667capped_target: winner 9/15 (0.6), team-run MAE 2.6667, margin MAE 2.6667simulation_result: winner 9/15 (0.6), team-run MAE 2.6667, margin MAE 2.6667published_final: winner 9/15 (0.6), team-run MAE 2.6667, margin MAE 2.6667
Probability lineage
- ARI@HOU: raw 0.5431 → calibrated 0.5439 → published 0.5373; no recorded transformation explains the publication delta
- ATL@PHI: raw 0.5382 → calibrated 0.5596 → published 0.5506; no recorded transformation explains the publication delta
- BOS@BAL: raw 0.5869 → calibrated 0.5682 → published 0.5493; score coherence followed by matchup-recency guardrail
- CHC@MIA: raw 0.5979 → calibrated 0.6773 → published 0.58; score coherence followed by matchup-recency guardrail
- DET@CLE: raw 0.5774 → calibrated 0.5452 → published 0.5203; score coherence followed by matchup-recency guardrail
- LAA@PIT: raw 0.612 → calibrated 0.5858 → published 0.5723; no recorded transformation explains the publication delta
- MIL@CIN: raw 0.6356 → calibrated 0.6257 → published 0.53; score coherence followed by matchup-recency guardrail
- MIN@CHW: raw 0.652 → calibrated 0.5833 → published 0.53; score coherence followed by matchup-recency guardrail
- NYY@SD: raw 0.5007 → calibrated 0.5494 → published 0.5357; score coherence followed by matchup-recency guardrail
- OAK@SEA: raw 0.5843 → calibrated 0.5612 → published 0.5442; no recorded transformation explains the publication delta
- SF@NYM: raw 0.5825 → calibrated 0.5475 → published 0.5163; score coherence followed by matchup-recency guardrail
- STL@COL: raw 0.6129 → calibrated 0.5821 → published 0.5594; score coherence followed by matchup-recency guardrail
- TB@TEX: raw 0.5636 → calibrated 0.5379 → published 0.5274; score coherence followed by matchup-recency guardrail
- TOR@KC: raw 0.5669 → calibrated 0.5724 → published 0.5371; score coherence followed by matchup-recency guardrail
- WAS@LAD: raw 0.5293 → calibrated 0.5772 → published 0.53; score coherence followed by matchup-recency guardrail
Every game, in detail
ARI@HOU — ✅ hit
- Predicted ARI 4-3 (conf -0.07, lean) · actual ARI 3-2
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.214084 · team-run err 2.0 · total bias +2
ATL@PHI — ❌ miss
- Predicted PHI 3-4 (conf +0.10, moderate) · actual ATL 5-4
- Root cause: Backed the wrong side with real conviction
- Errors: winner WRONG · Brier 0.303211 · team-run err 2.0 · total bias -2
- Contributing factors:
- committed to PHI at 0.10 confidence and it lost
BOS@BAL — ✅ hit
- Predicted BOS 4-3 (conf -0.10, lean) · actual BOS 3-1
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.203167 · team-run err 3.0 · total bias +3
- Contributing factors:
- total runs over-projected by 3 (7 vs 4)
- Kyle Bradish (BAL) allowed 3 fewer ER than projected (0 vs 3)
CHC@MIA — ❌ miss
- Predicted CHC 6-4 (conf -0.16, moderate) · actual MIA 3-10
- Root cause: Starting-pitcher projection was wrong
- Secondary cause: Backed the wrong side with real conviction
- Errors: winner WRONG · Brier 0.3364 · team-run err 9.0 · total bias -3
- Contributing factors:
- total runs under-projected by 3 (10 vs 13)
- CHC offense over-projected by 3
- MIA offense under-projected by 6
- Clay Holmes (CHC) allowed 6 more ER than projected (8 vs 2)
- committed to CHC at 0.16 confidence and it lost
DET@CLE — ✅ hit
- Predicted CLE 3-4 (conf +0.04, lean) · actual CLE 2-3
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.230116 · team-run err 2.0 · total bias +2
LAA@PIT — ✅ hit
- Predicted PIT 3-5 (conf +0.14, moderate) · actual PIT 0-1
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.182914 · team-run err 7.0 · total bias +7
- Contributing factors:
- total runs over-projected by 7 (8 vs 1)
- LAA offense over-projected by 3
- PIT offense over-projected by 4
- Walbert Ureña (LAA) allowed 3 fewer ER than projected (1 vs 4)
MIL@CIN — ❌ miss
- Predicted MIL 7-5 (conf -0.06, lean) · actual CIN 8-12
- Root cause: Run environment far higher than projected (under-dispersed)
- Errors: winner WRONG · Brier 0.2809 · team-run err 8.0 · total bias -8
- Contributing factors:
- total runs under-projected by 8 (12 vs 20)
- CIN offense under-projected by 7
MIN@CHW — ✅ hit
- Predicted CHW 4-6 (conf +0.06, lean) · actual CHW 1-10
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.2209 · team-run err 7.0 · total bias -1
- Contributing factors:
- MIN offense over-projected by 3
- CHW offense under-projected by 4
- Bailey Ober (MIN) allowed 4 fewer ER than projected (1 vs 5)
NYY@SD — ❌ miss
- Predicted NYY 4-3 (conf -0.07, lean) · actual SD 3-4
- Root cause: Several errors of similar size
- Errors: winner WRONG · Brier 0.286936 · team-run err 2.0 · total bias +0
OAK@SEA — ✅ hit
- Predicted SEA 6-7 (conf +0.09, lean) · actual SEA 0-2
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.207754 · team-run err 11.0 · total bias +11
- Contributing factors:
- total runs over-projected by 11 (13 vs 2)
- OAK offense over-projected by 6
- SEA offense over-projected by 5
- Bryan Woo (SEA) allowed 3 fewer ER than projected (0 vs 3)
SF@NYM — ✅ hit
- Predicted NYM 4-6 (conf +0.03, toss_up) · actual NYM 2-4
- Root cause: toss_up_went_our_way
- Errors: winner correct · Brier 0.233939 · team-run err 4.0 · total bias +4
- Contributing factors:
- total runs over-projected by 4 (10 vs 6)
- Cesar Perdomo (SF) allowed 6 fewer ER than projected (0 vs 6)
STL@COL — ✅ hit
- Predicted STL 5-4 (conf -0.12, moderate) · actual STL 10-8
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.194172 · team-run err 9.0 · total bias -9
- Contributing factors:
- total runs under-projected by 9 (9 vs 18)
- STL offense under-projected by 5
- COL offense under-projected by 4
- Tanner Gordon (COL) allowed 3 more ER than projected (5 vs 2)
TB@TEX — ❌ miss
- Predicted TB 5-4 (conf -0.05, lean) · actual TEX 6-8
- Root cause: Run environment far higher than projected (under-dispersed)
- Errors: winner WRONG · Brier 0.278144 · team-run err 5.0 · total bias -5
- Contributing factors:
- total runs under-projected by 5 (9 vs 14)
- TEX offense under-projected by 4
- MacKenzie Gore (TEX) allowed 3 more ER than projected (5 vs 2)
TOR@KC — ❌ miss
- Predicted TOR 5-4 (conf -0.07, lean) · actual KC 1-6
- Root cause: Small edge on the losing side
- Errors: winner WRONG · Brier 0.288472 · team-run err 6.0 · total bias +2
- Contributing factors:
- TOR offense over-projected by 4
- Randy Dobnak (KC) allowed 3 fewer ER than projected (1 vs 4)
WAS@LAD — ✅ hit
- Predicted LAD 4-5 (conf +0.06, lean) · actual LAD 5-7
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.2209 · team-run err 3.0 · total bias -3
- Contributing factors:
- total runs under-projected by 3 (9 vs 12)
- Justin Wrobleski (LAD) allowed 3 more ER than projected (4 vs 1)
Cross-game lever tension
Each candidate fix, with the games it would help and the games it would hurt. A lever that repairs one game and breaks two is visible here before it is proposed.
score.variance_multiplier / score.variance_floor (widen run distributions)
- Targets: brier_score, calibration_error
- Net: 2 helped vs 0 hurt
- Would help:
- ATL@PHI (miss): lost a 0.10-confidence pick; wider tails lower overconfidence
- CHC@MIA (miss): lost a 0.16-confidence pick; wider tails lower overconfidence
player.pitcher.v4 form weights / player.pitcher_prior_games
- Targets: starter_er_mae, starter_outs_mae
- Net: 10 helped vs 2 hurt
- Would help:
- BOS@BAL (hit): starter ER off by 3
- CHC@MIA (miss): starter ER off by 6
- LAA@PIT (hit): starter ER off by 3
- MIN@CHW (hit): starter ER off by 4
- OAK@SEA (hit): starter ER off by 3
- SF@NYM (hit): starter ER off by 6
- STL@COL (hit): starter ER off by 3
- TB@TEX (miss): starter ER off by 3
- TOR@KC (miss): starter ER off by 3
- WAS@LAD (hit): starter ER off by 3
- Would hurt / risk:
- ARI@HOU (hit): starter projection was accurate (ER off 1); reweight risks disturbing it
- DET@CLE (hit): starter projection was accurate (ER off 1); reweight risks disturbing it
recent. / season. run-mean weighting
- Targets: team_run_mae, total_run_mae, accuracy
- Net: 9 helped vs 4 hurt
- Would help:
- CHC@MIA (miss): team runs off by 9
- LAA@PIT (hit): team runs off by 7
- MIL@CIN (miss): team runs off by 8
- MIN@CHW (hit): team runs off by 7
- OAK@SEA (hit): team runs off by 11
- SF@NYM (hit): team runs off by 4
- STL@COL (hit): team runs off by 9
- TB@TEX (miss): team runs off by 5
- TOR@KC (miss): team runs off by 6
- Would hurt / risk:
- ARI@HOU (hit): team runs already close (off 2); reweight risks disturbing it
- ATL@PHI (miss): team runs already close (off 2); reweight risks disturbing it
- DET@CLE (hit): team runs already close (off 2); reweight risks disturbing it
- NYY@SD (miss): team runs already close (off 2); reweight risks disturbing it