Deep slate diagnosis — 20261004
- Games: 2 · hits 1 · misses 1 · winner accuracy 0.5
- Mean total-run bias on losses: 2.0 (negative = under-projected)
- Mean team-run error on losses: 2.0 · mean Brier on losses: 0.265
Loss primary drivers
- Genuine toss-up that flipped: 1
High-level causal issue register
[CRITICAL] Published probability differs materially without a recorded transformation
- Domain:
probability_lineage· affected: SD@MIL - Evidence: 1 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] Published confidence buckets were poorly aligned on this slate
- Domain:
calibration· affected: ATL@LAD, SD@MIL - Evidence: weighted absolute calibration error 0.4806 across 2 games
- Action: Watch the same confidence buckets over the full rolling window before changing any calibration weight.
- Do not infer: A single slate has far too few games to establish a stable calibration curve.
[HIGH] Validated run models explain very little holdout variance
- Domain:
model_validation· affected: ATL@LAD, SD@MIL - Evidence: home/away/total R² = 0.0021/0.0309/0.0024
- 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: ATL@LAD, SD@MIL - Evidence: 2/2 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: ATL@LAD, SD@MIL - 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: 20260924, 20260925, 20260926, 20260927, , 20260929, 20260930, 20261001, , 20261003, 20261004 (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.
Metric direction across the window
winner_accuracy: regressing · series [0.6667, 0.6471, 0.5385, 0.6429, None, 1.0, 0.75, 1.0, None, 1.0, 0.5]weighted_calibration_error: regressing · series [0.1701, 0.1302, 0.1524, 0.1031, None, 0.4792, 0.2317, 0.4832, None, 0.4705, 0.4806]margin_bias: improving · series [-1.083, -1.706, -3.0, -1.571, None, -4.25, -2.75, -3.0, None, -0.25, 0.0]mean_team_run_error_on_losses: improving · series [3.5, 5.333, 6.167, 4.8, None, None, 2.0, None, None, None, 2.0]
Pipeline stage quality
historical_ml: winner 1/2 (0.5), team-run MAE 1.4371, margin MAE 1.1925variance_applied: winner 1/2 (0.5), team-run MAE 1.5, margin MAE 1.0enhanced_prediction: winner 1/2 (0.5), team-run MAE 1.0, margin MAE 1.0embedded_savant_run_environment: winner 1/2 (0.5), team-run MAE 1.0, margin MAE 1.0fundamental_edge_target_review: winner 1/2 (0.5), team-run MAE 1.0, margin MAE 1.0capped_target: winner 1/2 (0.5), team-run MAE 1.0, margin MAE 1.0simulation_result: winner 1/2 (0.5), team-run MAE 1.0, margin MAE 1.0published_final: winner 1/2 (0.5), team-run MAE 1.0, margin MAE 1.0
Probability lineage
- ATL@LAD: raw 0.5816 → calibrated 0.547 → published 0.5149; score coherence followed by matchup-recency guardrail
- SD@MIL: raw 0.5995 → calibrated 0.5765 → published 0.5538; no recorded transformation explains the publication delta
Every game, in detail
ATL@LAD — ❌ miss
- Predicted LAD 3-4 (conf +0.03, toss_up) · actual ATL 3-2
- Root cause: Genuine toss-up that flipped
- Errors: winner WRONG · Brier 0.265169 · team-run err 2.0 · total bias +2
SD@MIL — ✅ hit
- Predicted MIL 4-5 (conf +0.11, moderate) · actual MIL 3-4
- Root cause: strong_correct_call
- Errors: winner correct · Brier 0.199104 · team-run err 2.0 · total bias +2
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: 0 helped vs 0 hurt
player.pitcher.v4 form weights / player.pitcher_prior_games
- Targets: starter_er_mae, starter_outs_mae
- Net: 0 helped vs 1 hurt
- Would hurt / risk:
- ATL@LAD (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: 0 helped vs 2 hurt
- Would hurt / risk:
- ATL@LAD (miss): team runs already close (off 2); reweight risks disturbing it
- SD@MIL (hit): team runs already close (off 2); reweight risks disturbing it