Deep slate diagnosis — 20260904
- Games: 16 · hits 10 · misses 6 · winner accuracy 0.625
- Mean total-run bias on losses: 2.0 (negative = under-projected)
- Mean team-run error on losses: 6.0 · mean Brier on losses: 0.318
Loss primary drivers
- Run environment far lower than projected (over-dispersed): 1
- Run environment far higher than projected (under-dispersed): 1
- Starting-pitcher projection was wrong: 3
- Backed the wrong side with real conviction: 1
High-level causal issue register
[CRITICAL] Published probability differs materially without a recorded transformation
- Domain:
probability_lineage· affected: ARI@HOU, SF@NYM - Evidence: 2 game(s) have an unexplained ≥2pp calibrated-to-published delta
- Action: Block any promotion until the missing probability transformation is recorded and reconciled.
- Do not infer: Do not assume the probability governor was bypassed until you have traced the pick-side math.
[HIGH] Validated run models explain very little holdout variance
- Domain:
model_validation· affected: ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, 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.0187/0.0264/0.0260
- 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, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD - Evidence: 16/16 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] Simulation produced no winner-direction intervention on this slate
- Domain:
simulation· affected: ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, 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 (7 prior slates loaded)
- Highest-confidence pick loss streak: 0 slate(s)
- Actionable pattern detected: True
Escalated persistent patterns
- simulation_inert_on_slate — 8 consecutive slates (8 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 8 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 — 8 consecutive slates (8 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 8 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]weighted_calibration_error: improving · series [0.2179, 0.3961, 0.0693, 0.1661, 0.2476, 0.21, 0.1474, 0.1316]margin_bias: improving · series [-1.333, -1.882, -2.786, -3.5, -2.533, -3.067, -1.778, -0.688]mean_team_run_error_on_losses: flat · series [5.0, 3.0, 7.0, 8.25, 7.125, 6.4, 6.75, 6.0]
Pipeline stage quality
historical_ml: winner 10/16 (0.625), team-run MAE 2.4463, margin MAE 2.2201variance_applied: winner 8/16 (0.5), team-run MAE 2.4688, margin MAE 2.1875enhanced_prediction: winner 10/16 (0.625), team-run MAE 2.3438, margin MAE 2.0625embedded_savant_run_environment: winner 10/16 (0.625), team-run MAE 2.4062, margin MAE 2.0625fundamental_edge_target_review: winner 10/16 (0.625), team-run MAE 2.4062, margin MAE 2.0625capped_target: winner 10/16 (0.625), team-run MAE 2.4062, margin MAE 2.0625simulation_result: winner 10/16 (0.625), team-run MAE 2.4062, margin MAE 2.0625published_final: winner 10/16 (0.625), team-run MAE 2.4062, margin MAE 2.0625
Probability lineage
- ARI@HOU: raw 0.6275 → calibrated 0.6219 → published 0.5825; no recorded transformation explains the publication delta
- ATL@PHI: raw 0.585 → calibrated 0.5815 → published 0.5599; score coherence followed by matchup-recency guardrail
- BOS@BAL: raw 0.6303 → calibrated 0.6241 → published 0.53; score coherence followed by matchup-recency guardrail
- CHC@MIA: raw 0.7374 → calibrated 0.7104 → published 0.7245; score_coherence aligned probability to the published score margin
- DET@CLE: raw 0.5085 → calibrated 0.5083 → published 0.5251; score coherence followed by matchup-recency guardrail
- DET@CLE: raw 0.568 → calibrated 0.5662 → published 0.5544; score coherence followed by matchup-recency guardrail
- LAA@PIT: raw 0.67 → calibrated 0.6591 → published 0.662; score_coherence aligned probability to the published score margin
- MIL@CIN: raw 0.6628 → calibrated 0.6526 → published 0.54; score coherence followed by matchup-recency guardrail
- MIN@CHW: raw 0.5216 → calibrated 0.5211 → published 0.5381; score coherence followed by matchup-recency guardrail
- NYY@SD: raw 0.6275 → calibrated 0.6219 → published 0.6434; score_coherence aligned probability to the published score margin
- OAK@SEA: raw 0.551 → calibrated 0.5499 → published 0.5485; published probability matches the calibrated/governed value
- SF@NYM: raw 0.5265 → calibrated 0.5258 → published 0.5468; no recorded transformation explains the publication delta
- STL@COL: raw 0.551 → calibrated 0.5499 → published 0.5485; published probability matches the calibrated/governed value
- TB@TEX: raw 0.585 → calibrated 0.5815 → published 0.5599; score coherence followed by matchup-recency guardrail
- TOR@KC: raw 0.551 → calibrated 0.5499 → published 0.5571; score coherence followed by matchup-recency guardrail
- WAS@LAD: raw 0.5619 → calibrated 0.5603 → published 0.5615; published probability matches the calibrated/governed value
Every game, in detail
ARI@HOU — ✅ hit
- Predicted HOU 4-6 (conf +0.17, moderate) · actual HOU 1-3
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.174304 · team-run err 6.0 · total bias +6
- Contributing factors:
- total runs over-projected by 6 (10 vs 4)
- ARI offense over-projected by 3
- HOU offense over-projected by 3
- Cristian Javier (HOU) allowed 3 fewer ER than projected (1 vs 4)
ATL@PHI — ✅ hit
- Predicted ATL 4-3 (conf -0.12, moderate) · actual ATL 5-2
- Root cause: strong_correct_call
- Errors: winner correct · Brier 0.193658 · team-run err 2.0 · total bias +0
BOS@BAL — ❌ miss
- Predicted BAL 4-6 (conf +0.06, lean) · actual BOS 1-0
- Root cause: Run environment far lower than projected (over-dispersed)
- Errors: winner WRONG · Brier 0.2809 · team-run err 9.0 · total bias +9
- Contributing factors:
- total runs over-projected by 9 (10 vs 1)
- BOS offense over-projected by 3
- BAL offense over-projected by 6
- Ranger Suarez (BOS) allowed 3 fewer ER than projected (0 vs 3)
- Shane Baz (BAL) allowed 3 fewer ER than projected (1 vs 4)
CHC@MIA — ✅ hit
- Predicted CHC 6-3 (conf -0.45, strong) · actual CHC 6-1
- Root cause: strong_correct_call
- Errors: winner correct · Brier 0.07589 · team-run err 2.0 · total bias +2
- Contributing factors:
- Janson Junk (MIA) allowed 3 fewer ER than projected (1 vs 4)
DET@CLE — ✅ hit
- Predicted CLE 3-4 (conf +0.05, lean) · actual CLE 6-7
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.225537 · team-run err 6.0 · total bias -6
- Contributing factors:
- total runs under-projected by 6 (7 vs 13)
- DET offense under-projected by 3
- CLE offense under-projected by 3
- Logan Allen (CLE) allowed 3 more ER than projected (3 vs 0)
DET@CLE — ✅ hit
- Predicted CLE 3-4 (conf +0.11, moderate) · actual CLE 3-4
- Root cause: strong_correct_call
- Errors: winner correct · Brier 0.198558 · team-run err 0.0 · total bias +0
LAA@PIT — ✅ hit
- Predicted PIT 5-7 (conf +0.32, strong) · actual PIT 0-1
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.114226 · team-run err 11.0 · total bias +11
- Contributing factors:
- total runs over-projected by 11 (12 vs 1)
- LAA offense over-projected by 5
- PIT offense over-projected by 6
- Ryan Johnson (LAA) allowed 6 fewer ER than projected (1 vs 7)
- Jared Jones (PIT) allowed 5 fewer ER than projected (0 vs 5)
MIL@CIN — ✅ hit
- Predicted MIL 8-5 (conf -0.08, lean) · actual MIL 10-7
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.2116 · team-run err 4.0 · total bias -4
- Contributing factors:
- total runs under-projected by 4 (13 vs 17)
- Shane Drohan (MIL) allowed 5 more ER than projected (6 vs 1)
MIN@CHW — ❌ miss
- Predicted MIN 6-5 (conf -0.08, lean) · actual CHW 1-4
- Root cause: Starting-pitcher projection was wrong
- Secondary cause: Run environment far lower than projected (over-dispersed)
- Errors: winner WRONG · Brier 0.289555 · team-run err 6.0 · total bias +6
- Contributing factors:
- total runs over-projected by 6 (11 vs 5)
- MIN offense over-projected by 5
- Erick Fedde (CHW) allowed 5 fewer ER than projected (0 vs 5)
NYY@SD — ❌ miss
- Predicted NYY 6-3 (conf -0.29, strong) · actual SD 2-3
- Root cause: Backed the wrong side with real conviction
- Secondary cause: Small edge on the losing side
- Errors: winner WRONG · Brier 0.414021 · team-run err 4.0 · total bias +4
- Contributing factors:
- total runs over-projected by 4 (9 vs 5)
- NYY offense over-projected by 4
- Walker Buehler (SD) allowed 3 fewer ER than projected (1 vs 4)
- committed to NYY at 0.29 confidence and it lost
OAK@SEA — ❌ miss
- Predicted SEA 5-6 (conf +0.10, lean) · actual OAK 7-6
- Root cause: Starting-pitcher projection was wrong
- Errors: winner WRONG · Brier 0.30085 · team-run err 2.0 · total bias -2
- Contributing factors:
- Logan Gilbert (SEA) allowed 6 more ER than projected (7 vs 1)
SF@NYM — ✅ hit
- Predicted NYM 4-5 (conf +0.09, lean) · actual NYM 6-10
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.205362 · team-run err 7.0 · total bias -7
- Contributing factors:
- total runs under-projected by 7 (9 vs 16)
- NYM offense under-projected by 5
STL@COL — ✅ hit
- Predicted STL 6-5 (conf -0.10, lean) · actual STL 7-6
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.203854 · team-run err 2.0 · total bias -2
TB@TEX — ❌ miss
- Predicted TEX 3-4 (conf +0.12, moderate) · actual TB 7-6
- Root cause: Run environment far higher than projected (under-dispersed)
- Secondary cause: Backed the wrong side with real conviction
- Errors: winner WRONG · Brier 0.313526 · team-run err 6.0 · total bias -6
- Contributing factors:
- total runs under-projected by 6 (7 vs 13)
- TB offense under-projected by 4
- committed to TEX at 0.12 confidence and it lost
TOR@KC — ❌ miss
- Predicted KC 5-7 (conf +0.11, moderate) · actual TOR 9-2
- Root cause: Starting-pitcher projection was wrong
- Secondary cause: Backed the wrong side with real conviction
- Errors: winner WRONG · Brier 0.310311 · team-run err 9.0 · total bias +1
- Contributing factors:
- TOR offense under-projected by 4
- KC offense over-projected by 5
- Jameson Taillon (TOR) allowed 3 fewer ER than projected (1 vs 4)
- Daniel Lynch IV (KC) allowed 4 more ER than projected (5 vs 1)
- committed to KC at 0.11 confidence and it lost
WAS@LAD — ✅ hit
- Predicted LAD 4-5 (conf +0.12, moderate) · actual LAD 3-5
- Root cause: strong_correct_call
- Errors: winner correct · Brier 0.192284 · team-run err 1.0 · total bias +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: 3 helped vs 2 hurt
- Would help:
- NYY@SD (miss): lost a 0.29-confidence pick; wider tails lower overconfidence
- TB@TEX (miss): lost a 0.12-confidence pick; wider tails lower overconfidence
- TOR@KC (miss): lost a 0.11-confidence pick; wider tails lower overconfidence
- Would hurt / risk:
- CHC@MIA (hit): strong correct call at 0.45; widening softens a good edge
- LAA@PIT (hit): strong correct call at 0.32; widening softens a good edge
player.pitcher.v4 form weights / player.pitcher_prior_games
- Targets: starter_er_mae, starter_outs_mae
- Net: 10 helped vs 3 hurt
- Would help:
- ARI@HOU (hit): starter ER off by 3
- BOS@BAL (miss): starter ER off by 3
- CHC@MIA (hit): starter ER off by 3
- DET@CLE (hit): starter ER off by 3
- LAA@PIT (hit): starter ER off by 6
- MIL@CIN (hit): starter ER off by 5
- MIN@CHW (miss): starter ER off by 5
- NYY@SD (miss): starter ER off by 3
- OAK@SEA (miss): starter ER off by 6
- TOR@KC (miss): starter ER off by 4
- Would hurt / risk:
- ATL@PHI (hit): starter projection was accurate (ER off 0); reweight risks disturbing it
- SF@NYM (hit): starter projection was accurate (ER off 1); reweight risks disturbing it
- TB@TEX (miss): 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: 10 helped vs 6 hurt
- Would help:
- ARI@HOU (hit): team runs off by 6
- BOS@BAL (miss): team runs off by 9
- DET@CLE (hit): team runs off by 6
- LAA@PIT (hit): team runs off by 11
- MIL@CIN (hit): team runs off by 4
- MIN@CHW (miss): team runs off by 6
- NYY@SD (miss): team runs off by 4
- SF@NYM (hit): team runs off by 7
- TB@TEX (miss): team runs off by 6
- TOR@KC (miss): team runs off by 9
- Would hurt / risk:
- ATL@PHI (hit): team runs already close (off 2); reweight risks disturbing it
- CHC@MIA (hit): team runs already close (off 2); reweight risks disturbing it
- DET@CLE (hit): team runs already close (off 0); reweight risks disturbing it
- OAK@SEA (miss): team runs already close (off 2); reweight risks disturbing it
- STL@COL (hit): team runs already close (off 2); reweight risks disturbing it
- WAS@LAD (hit): team runs already close (off 1); reweight risks disturbing it