Deep slate diagnosis — 20260917
- Games: 9 · hits 4 · misses 5 · winner accuracy 0.4444
- Mean total-run bias on losses: 1.2 (negative = under-projected)
- Mean team-run error on losses: 3.6 · mean Brier on losses: 0.293
Loss primary drivers
- Starting-pitcher projection was wrong: 2
- Genuine toss-up that flipped: 1
- Backed the wrong side with real conviction: 2
High-level causal issue register
[HIGH] Validated run models explain very little holdout variance
- Domain:
model_validation· affected: BOS@TEX, DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, MIN@LAA, OAK@TB, PHI@NYM, SD@COL - Evidence: home/away/total R² = 0.0027/0.0232/0.0056
- 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: BOS@TEX, DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, MIN@LAA, OAK@TB, PHI@NYM, SD@COL - Evidence: 9/9 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: DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, OAK@TB, SD@COL - Evidence: 6 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: BOS@TEX, DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, MIN@LAA, OAK@TB, PHI@NYM, SD@COL - 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: 20260907, 20260908, 20260909, 20260910, 20260911, 20260912, 20260913, 20260914, 20260915, 20260916, 20260917 (10 prior slates loaded)
- Highest-confidence pick loss streak: 0 slate(s)
- Actionable pattern detected: True
Escalated persistent patterns
- simulation_inert_on_slate — 11 consecutive slates (11 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 11 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 — 11 consecutive slates (11 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 11 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: regressing · series [0.5455, 0.7333, 0.6667, 0.6, 0.6667, 0.5333, 0.6, 0.7, 0.4, 0.6667, 0.4444]weighted_calibration_error: improving · series [0.2611, 0.1825, 0.1069, 0.1171, 0.2091, 0.1711, 0.0827, 0.2812, 0.2795, 0.1661, 0.1016]margin_bias: regressing · series [-0.182, -0.867, -2.133, -1.0, -2.933, -2.667, -1.8, -0.4, -1.667, -1.133, -2.111]mean_team_run_error_on_losses: improving · series [3.8, 6.75, 5.6, 6.5, 5.0, 6.143, 5.0, 6.333, 5.556, 6.4, 3.6]
Pipeline stage quality
historical_ml: winner 4/9 (0.4444), team-run MAE 2.0863, margin MAE 3.5824variance_applied: winner 4/9 (0.4444), team-run MAE 2.0556, margin MAE 3.6667enhanced_prediction: winner 4/9 (0.4444), team-run MAE 1.8889, margin MAE 3.5556embedded_savant_run_environment: winner 4/9 (0.4444), team-run MAE 1.9444, margin MAE 3.4444fundamental_edge_target_review: winner 4/9 (0.4444), team-run MAE 1.9444, margin MAE 3.4444capped_target: winner 4/9 (0.4444), team-run MAE 1.9444, margin MAE 3.4444simulation_result: winner 4/9 (0.4444), team-run MAE 1.9444, margin MAE 3.4444published_final: winner 4/9 (0.4444), team-run MAE 1.9444, margin MAE 3.4444
Probability lineage
- BOS@TEX: raw 0.5782 → calibrated 0.5633 → published 0.5538; no recorded transformation explains the publication delta
- DET@CHW: raw 0.5527 → calibrated 0.5837 → published 0.53; score coherence followed by matchup-recency guardrail
- KC@HOU: raw 0.6073 → calibrated 0.5606 → published 0.5295; score coherence followed by matchup-recency guardrail
- LAD@CIN: raw 0.6566 → calibrated 0.7106 → published 0.56; score coherence followed by matchup-recency guardrail
- MIL@PIT: raw 0.6087 → calibrated 0.6562 → published 0.56; score coherence followed by matchup-recency guardrail
- MIN@LAA: raw 0.5399 → calibrated 0.5228 → published 0.5165; score coherence followed by matchup-recency guardrail
- OAK@TB: raw 0.6499 → calibrated 0.6502 → published 0.58; score coherence followed by matchup-recency guardrail
- PHI@NYM: raw 0.562 → calibrated 0.5612 → published 0.5442; score coherence followed by matchup-recency guardrail
- SD@COL: raw 0.7208 → calibrated 0.6972 → published 0.54; score coherence followed by matchup-recency guardrail
Every game, in detail
BOS@TEX — ❌ miss
- Predicted TEX 3-4 (conf +0.11, moderate) · actual BOS 4-3
- Root cause: Backed the wrong side with real conviction
- Errors: winner WRONG · Brier 0.306724 · team-run err 2.0 · total bias +0
- Contributing factors:
- committed to TEX at 0.11 confidence and it lost
DET@CHW — ❌ miss
- Predicted DET 5-4 (conf -0.06, lean) · actual CHW 1-3
- Root cause: Starting-pitcher projection was wrong
- Secondary cause: Run environment far lower than projected (over-dispersed)
- Errors: winner WRONG · Brier 0.2809 · team-run err 5.0 · total bias +5
- Contributing factors:
- total runs over-projected by 5 (9 vs 4)
- DET offense over-projected by 4
- Erick Fedde (CHW) allowed 4 fewer ER than projected (1 vs 5)
KC@HOU — ✅ hit
- Predicted HOU 4-5 (conf +0.06, lean) · actual HOU 2-6
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.221341 · team-run err 3.0 · total bias +1
- Contributing factors:
- Seth Lugo (KC) allowed 3 more ER than projected (4 vs 1)
- Miguel Ullola (HOU) allowed 3 fewer ER than projected (1 vs 4)
LAD@CIN — ✅ hit
- Predicted LAD 9-5 (conf -0.12, moderate) · actual LAD 8-2
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.1936 · team-run err 4.0 · total bias +4
- Contributing factors:
- total runs over-projected by 4 (14 vs 10)
- CIN offense over-projected by 3
- Justin Wrobleski (LAD) allowed 3 fewer ER than projected (0 vs 3)
- Brady Singer (CIN) allowed 3 more ER than projected (7 vs 4)
MIL@PIT — ❌ miss
- Predicted MIL 6-4 (conf -0.12, moderate) · actual PIT 4-7
- Root cause: Backed the wrong side with real conviction
- Secondary cause: Small edge on the losing side
- Errors: winner WRONG · Brier 0.3136 · team-run err 5.0 · total bias -1
- Contributing factors:
- PIT offense under-projected by 3
- committed to MIL at 0.12 confidence and it lost
MIN@LAA — ❌ miss
- Predicted MIN 4-3 (conf -0.03, toss_up) · actual LAA 4-5
- Root cause: Genuine toss-up that flipped
- Errors: winner WRONG · Brier 0.266753 · team-run err 2.0 · total bias -2
OAK@TB — ✅ hit
- Predicted TB 4-7 (conf +0.16, moderate) · actual TB 1-10
- Root cause: right_winner_wrong_score
- Errors: winner correct · Brier 0.1764 · team-run err 6.0 · total bias +0
- Contributing factors:
- OAK offense over-projected by 3
- TB offense under-projected by 3
PHI@NYM — ❌ miss
- Predicted NYM 3-4 (conf +0.09, lean) · actual PHI 3-0
- Root cause: Starting-pitcher projection was wrong
- Secondary cause: Small edge on the losing side
- Errors: winner WRONG · Brier 0.296135 · team-run err 4.0 · total bias +4
- Contributing factors:
- total runs over-projected by 4 (7 vs 3)
- NYM offense over-projected by 4
- Aaron Nola (PHI) allowed 4 fewer ER than projected (0 vs 4)
SD@COL — ✅ hit
- Predicted SD 8-5 (conf -0.08, lean) · actual SD 9-2
- Root cause: solid_correct_call
- Errors: winner correct · Brier 0.2116 · team-run err 4.0 · total bias +2
- Contributing factors:
- COL offense over-projected by 3
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:
- BOS@TEX (miss): lost a 0.11-confidence pick; wider tails lower overconfidence
- MIL@PIT (miss): lost a 0.12-confidence pick; wider tails lower overconfidence
player.pitcher.v4 form weights / player.pitcher_prior_games
- Targets: starter_er_mae, starter_outs_mae
- Net: 4 helped vs 4 hurt
- Would help:
- DET@CHW (miss): starter ER off by 4
- KC@HOU (hit): starter ER off by 3
- LAD@CIN (hit): starter ER off by 3
- PHI@NYM (miss): starter ER off by 4
- Would hurt / risk:
- BOS@TEX (miss): starter projection was accurate (ER off 1); reweight risks disturbing it
- MIL@PIT (miss): starter projection was accurate (ER off 1); reweight risks disturbing it
- MIN@LAA (miss): starter projection was accurate (ER off 1); reweight risks disturbing it
- SD@COL (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: 6 helped vs 2 hurt
- Would help:
- DET@CHW (miss): team runs off by 5
- LAD@CIN (hit): team runs off by 4
- MIL@PIT (miss): team runs off by 5
- OAK@TB (hit): team runs off by 6
- PHI@NYM (miss): team runs off by 4
- SD@COL (hit): team runs off by 4
- Would hurt / risk:
- BOS@TEX (miss): team runs already close (off 2); reweight risks disturbing it
- MIN@LAA (miss): team runs already close (off 2); reweight risks disturbing it