Which reports actually fed the diagnosis. A source shown as missing was not silently assumed.
| Source | Status | Evidence supplied | Path | Bytes |
|---|---|---|---|---|
| prediction review | loaded | official outcomes and scoring errors | /app/output/reports/prediction_review_20260924.json | 301958 |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260924.json | 196012 |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons | /app/output/learning/continuous_learning_daily_20260924.json | 2023270 |
| detailed report | loaded | full game and simulation rendering | /app/output/reports/detailed_20260924.html | 285081 |
| ultra detailed player audit | loaded | player-level prediction trace | /app/output/reports/20260924_ultra_detailed_player_audit.html | 25971500 |
| structural audit | loaded | all invariant findings | /app/output/reports/audit_report_20260924.html | 1530211 |
| integrity revision audit | missing | post-Luna remediation proof for immutable revision artifacts | /app/output/reports/audit_report_20260924_integrity_revision.html | n/a |
Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).
| Severity | Domain | Finding and evidence | Affected | Action & guardrail |
|---|---|---|---|---|
| HIGH | pipeline_stages | An intermediate stage materially degraded winner direction historical_ml → variance_applied changed winner accuracy by -0.2500 (-3 hits) | CHW@KC, MIA@CHC, NYM@TEX | Do thisList the exact games whose winner flipped at this stage, and keep both the before-stage and after-stage picks in the trace. Don't concludeEven if a later stage recovers the pick, this unstable step is still a risk; do not treat it as harmless. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.1701 across 12 games | ARI@COL, CHW@KC, CIN@ATL, CLE@BOS, HOU@OAK, LAA@SEA, MIA@CHC, MIL@PHI, NYM@TEX, SD@LAD, STL@PIT, TB@NYY | Do thisWatch the same confidence buckets over the full rolling window before changing any calibration weight. Don't concludeA single slate has far too few games to establish a stable calibration curve. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0040/0.0349/0.0031 | ARI@COL, CHW@KC, CIN@ATL, CLE@BOS, HOU@OAK, LAA@SEA, MIA@CHC, MIL@PHI, NYM@TEX, SD@LAD, STL@PIT, TB@NYY | Do thisTreat exact run scores as low-confidence estimates, and look for stronger features or a better target before tuning the score tails. Don't concludeA small positive R² only means the model beats guessing the average; it does not make the exact scores reliable. |
| INFO | coverage | Every settled game received structural QA 12/12 games structurally audited | ARI@COL, CHW@KC, CIN@ATL, CLE@BOS, HOU@OAK, LAA@SEA, MIA@CHC, MIL@PHI, NYM@TEX, SD@LAD, STL@PIT, TB@NYY | Do thisKeep the per-game audit receipt in every report. Don't concludeFull audit coverage does not cancel the findings raised inside the audited games. |
| INFO | probability_lineage | Material calibrated-to-published movements have recorded lineage 5 material movement(s), all explained by named score-coherence and/or recency transformations | ARI@COL, CHW@KC, CIN@ATL, HOU@OAK, LAA@SEA | Do thisKeep showing every probability layer and the named transformation between them. Don't concludeA published probability above the calibrated one is not a governor bypass when a recorded transformation explains it. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ARI@COL, CHW@KC, CIN@ATL, CLE@BOS, HOU@OAK, LAA@SEA, MIA@CHC, MIL@PHI, NYM@TEX, SD@LAD, STL@PIT, TB@NYY | Do thisMeasure the simulation's contribution across rolling slates, separating score realization from winner flipping. Don't concludeZero winner flips is not a defect and does not mean the simulation did no score-reconciliation work. |
A finding that has repeated at or beyond the escalation streak is no longer single-slate noise. It carries its target registered lever and an action-oriented guardrail.
| Finding | Persistence | Target lever(s) | Direction | Guardrail |
|---|---|---|---|---|
| simulation_inert_on_slate | 11 consecutive · 11 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | 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 · 11 in window | training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate | investigate features/target via isolated training backtest (manual) | 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. |
| Finding | Consecutive slates | Incidence | Present now | Fix type |
|---|---|---|---|---|
| high_raw_probability_cluster | 0 | 3/11 | no | param |
| pipeline_winner_instability | 1 | 6/11 | yes | code/diagnostic |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 1 | 8/11 | yes | param |
| weak_run_model_signal | 11 | 11/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | improving | [0.7, 0.4, 0.6667, 0.4444, 0.6667, 0.7333, 0.6, 0.3333, 0.4, 0.5, 0.6667] |
| weighted_calibration_error | improving | [0.2812, 0.2795, 0.1661, 0.1016, 0.1247, 0.3458, 0.3184, 0.2028, 0.1881, 0.1108, 0.1701] |
| margin_bias | improving | [-0.4, -1.667, -1.133, -2.111, -2.0, -0.667, -1.533, -2.667, -1.867, -1.188, -1.083] |
| team_run_error_on_losses | improving | [6.333, 5.556, 6.4, 3.6, 5.2, 6.5, 6.5, 3.0, 6.222, 5.75, 3.5] |
Every stored stage is scored against the same official finals. A later recovery remains visible; it does not erase an unstable intermediate flip.
| Stage | Winner hits | Accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|---|
| historical_ml | 9/12 | 75% | 2.57 | 4.25 | 2.213 |
| variance_applied | 6/12 | 50% | 2.5 | 4.167 | 2.167 |
| enhanced_prediction | 8/12 | 66.7% | 2.167 | 3.833 | 2 |
| embedded_savant_run_environment | 8/12 | 66.7% | 2.208 | 3.75 | 2.083 |
| fundamental_edge_target_review | 8/12 | 66.7% | 2.208 | 3.75 | 2.083 |
| capped_target | 8/12 | 66.7% | 2.208 | 3.75 | 2.083 |
| simulation_result | 8/12 | 66.7% | 2.208 | 3.75 | 2.083 |
| published_final | 8/12 | 66.7% | 2.208 | 3.75 | 2.083 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.25 | -3 | -0.0701 | -0.0464 | CHW@KC: CHW → TIE; MIA@CHC: CHC → TIE; NYM@TEX: TEX → TIE |
| variance_applied → enhanced_prediction | 0.1667 | 2 | -0.3333 | -0.1667 | CHW@KC: TIE → CHW; MIA@CHC: TIE → CHC; NYM@TEX: TIE → NYM |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | 0.0416 | 0.0833 | |
| embedded_savant_run_environment → fundamental_edge_target_review | 0 | 0 | 0 | 0 | |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| ARI@COL | hit | 0.716 | 0.661 | 0.661 | 0.6175 | 0.56 | score coherence followed by matchup-recency guardrail |
| CHW@KC | hit | 0.5873 | 0.62 | 0.62 | 0.62 | 0.5446 | score coherence followed by matchup-recency guardrail |
| CIN@ATL | miss | 0.6478 | 0.5973 | 0.5973 | 0.5857 | 0.56 | score coherence followed by matchup-recency guardrail |
| CLE@BOS | hit | 0.5 | 0.5073 | 0.5073 | 0.5073 | 0.5062 | published probability matches the calibrated/governed value |
| HOU@OAK | hit | 0.6661 | 0.6344 | 0.6344 | 0.6344 | 0.56 | score coherence followed by matchup-recency guardrail |
| LAA@SEA | miss | 0.6618 | 0.6366 | 0.6366 | 0.6053 | 0.56 | score coherence followed by matchup-recency guardrail |
| MIA@CHC | hit | 0.5425 | 0.5263 | 0.5263 | 0.5263 | 0.519 | score coherence followed by matchup-recency guardrail |
| MIL@PHI | hit | 0.5639 | 0.5543 | 0.5543 | 0.5543 | 0.5392 | score coherence followed by matchup-recency guardrail |
| NYM@TEX | miss | 0.5029 | 0.5246 | 0.5246 | 0.5246 | 0.5209 | published probability matches the calibrated/governed value |
| SD@LAD | miss | 0.5283 | 0.5186 | 0.5186 | 0.5186 | 0.5098 | score coherence followed by matchup-recency guardrail |
| STL@PIT | hit | 0.5644 | 0.5381 | 0.5381 | 0.5381 | 0.5275 | score coherence followed by matchup-recency guardrail |
| TB@NYY | hit | 0.5616 | 0.5366 | 0.5366 | 0.5366 | 0.5311 | score coherence followed by matchup-recency guardrail |
One blown start is noise. The same failure repeating across the slate is a model problem. These are the repeats.
| Sides analyzed | Broke on pitching | Broke on offense | Both | Variance | Mean starter ERA error | Mean lineup runs vs proj |
|---|---|---|---|---|---|---|
| 24 | 4 | 11 | 1 | 8 | 1.68 | -0.67 |
The blend mixes the trained win classifier with the margin-derived probability. It is only worth its weight if its decision survives the downstream reconciliation to the projected score.
1 of 12 games: the blend picked one side and the published number picked the other. The published probability is reconciled to the integer score after the blend runs, so a blend that disagrees with the score is overwritten before publication. On those games the trained classifier changes nothing a reader sees, even where the artifact records winner_changed.
| Game | Trained p(home) | Blended p(home) | Blend favoured | Published p(home) | Published side | Artifact says winner changed | Outcome |
|---|---|---|---|---|---|---|---|
| CLE@BOS | 0.522 | 0.507 | home | 0.494 | away | yes | hit |
Blend side survived on 11 of 12 games; the blend flagged a winner change on 1.
A bias on one slate is noise. The same sign across slates, large relative to how much it moves between them, is a model defect. Only the ones that pass both tests are turned into a named parameter change; the rest are held deliberately.
starter ERA error (actual minus projected)
Mean 0.50 over 12 slates (sign shared by 0.42 of them, z = 1.04).
starters were hit harder than projected: the run model under-credits opposing offenses.
Hold: no change: this bias is not separable from slate-to-slate noise yet
5 of 12 slates share the sign, mean 0.5 +/- 0.48 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.33 over 12 slates (sign shared by 0.75 of them, z = -2.25).
lineups scored below projection: the run environment is set too high.
Actionable: the total-runs projection is running hot; check the run environment before touching variance, and treat score.variance_floor only as the spread lever
Lever: score.variance_floor (default 2.75); watch total_run_mae, team_run_mae.
9 of 12 slates share the sign and the mean is 2.3 standard errors from zero
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260923 | 16 | 0.500 | -0.49 | -0.91 | 4 | 11 |
| 20260922 | 15 | 0.400 | -0.32 | -0.97 | 3 | 11 |
| 20260921 | 3 | 0.333 | -1.08 | -0.50 | ||
| 20260920 | 15 | 0.600 | -0.89 | -1.00 | 2 | 10 |
| 20260919 | 15 | 0.733 | 1.36 | -0.10 | 8 | 7 |
| 20260918 | 15 | 0.667 | 3.95 | 0.30 | 6 | 5 |
| 20260917 | 9 | 0.444 | 2.16 | -0.22 | 2 | 3 |
| 20260916 | 15 | 0.667 | 2.09 | -0.23 | 4 | 5 |
| 20260915 | 15 | 0.400 | -1.58 | -0.70 | 1 | 12 |
| 20260914 | 10 | 0.700 | -0.48 | -0.20 | 2 | 6 |
| 20260913 | 15 | 0.600 | -0.07 | 0.03 | 2 | 8 |
| 20260912 | 15 | 0.533 | 1.35 | 0.57 | 6 | 7 |
Narrow predicted margins next to wide actual margins is the signature the score-variance tail is too tight.
| Game | Pred margin | Actual margin | Pred − actual |
|---|---|---|---|
| ARI@COL | 1 | 4 | -3 |
| CHW@KC | 2 | 8 | -6 |
| CIN@ATL | 2 | 1 | 1 |
| CLE@BOS | 2 | 1 | 1 |
| HOU@OAK | 2 | 2 | 0 |
| LAA@SEA | 1 | 2 | -1 |
| MIA@CHC | 1 | 1 | 0 |
| MIL@PHI | 1 | 4 | -3 |
| NYM@TEX | 1 | 2 | -1 |
| SD@LAD | 1 | 2 | -1 |
| STL@PIT | 1 | 1 | 0 |
| TB@NYY | 2 | 2 | 0 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ARI | Eduardo Rodriguez | 3 ER / 17 outs | 2 ER / 18 outs | -1 |
| COL | Tanner Gordon | 3 ER / 13 outs | 10 ER / 10 outs | 7 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Tanner Gordon (COL) posted 27.00 ERA vs projected 6.23 (10 ER in 10 outs); he is materially worse pitching home (9.29 ERA there vs 3.00 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Eduardo Rodriguez (ARI) at a projected 4.76 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 5 runs on 13 hits and 2 HR, against a projected 4 runs / 9 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Tanner Gordon (COL) threw 10 outs, 10 ER = 27 ERA against a projected 6.23 ERA (20.77 ERA error)
Bullpen behind him: 2 ER over 14 outs.
The AWAY lineup he faced produced 11 runs on 14 hits and 2 HR, against a projected 4 runs / 9 hits (7 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | Tanner Gordon (Starter) | 10 / 13 | 27 / 6.23 (+20.77) | 10 / 3 | 12 / 7 | 2 / 1 | 4 / 1 | 1.03 | 1 / 1 | 3.77 | venue home: 9.29 vs 3 ERA (worse here) · opp run factor 1.08 (average) · 23 prior appearances this season |
| COL | Jimmy Herget (Middle Reliever (High Leverage)) | 8 / 4 | 6.75 / 0 (+6.75) | 2 / 0 | 4 / 0 | 1 / 0 | 1 / 0 | 0.59 | 4 / 0 | 1.01 | |
| COL | Jordan Romano (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.54 | 1 / 3 | 1.17 | |
| COL | Nick Frasso (Reliever) | 3 / 1 | 0 / 81 (-81.00) | 0 / 3 | 1 / 2 | 0 / 0 | 0 / 1 | n/a | 0 / 1 | n/a |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cole Carrigg (CF) | COL | 5 / 4 | 4 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 2.03 | 0.31 average | no signal |
| Geraldo Perdomo (SS) | ARI | 5 / 4 | 3 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 1 | 1 / 0 | 1.56 | 0.326 above average | projection too low |
| Pavin Smith (1B) | ARI | 3 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 1.11 | 0.279 weak | good day |
| Kyle Karros (3B) | COL | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 1.07 | 0.337 above average | projection too low |
| Nolan Arenado (3B) | ARI | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.94 | 0.296 below average | good day |
| Hunter Goodman (DH) | COL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.32 average | no signal |
| TJ Rumfield (1B) | COL | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 1 / 1 | 0 / 0 | 0.78 | 0.333 above average | projection too low |
| Ketel Marte (2B) | ARI | 2 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 2 / 0 | 0 / 0 | 0.66 | 0.342 elite | projection too low |
| Jake McCarthy (LF) | COL | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.62 | 0.325 above average | bad day |
| Lars Nootbaar (LF) | ARI | 6 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0 / 1 | 0.61 | 0.338 above average | projection too low |
| Tim Tawa (CF) | ARI | 5 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.312 average | — |
| Brett Sullivan (C) | COL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.284 below average | — |
| Ezequiel Tovar (SS) | COL | 5 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.28 weak | — |
| Corbin Carroll (RF) | ARI | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.345 elite | — |
| Gabriel Moreno (DH) | ARI | 6 / 4 | 1 / 2 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 1 | 0 / 1 | 1 / 0 | -0.18 | 0.362 elite | — |
| Connor Norby (2B) | COL | 3 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0.14 | 0.304 average | — |
| Jordan Beck (RF) | COL | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 4 / 1 | 0 | 0.248 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.157 | positive favors home; negative favors away |
| Recent form | -0.666 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.153 | positive favors home; negative favors away |
| Composite | -1.32 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.64-3.67 | n/a | Base ML historical model prediction |
| variance_applied | 6-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.64-3.67 | 6-4 | 0.03 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 6-5 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | 6-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | 6-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | 6-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-5 | 6-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| COL | Nick Frasso | pitcher / Reliever | worse | predicted_ER 3 |
| COL | Connor Norby | batter / 2B | better | predicted_H 2.76 |
| COL | TJ Rumfield | batter / 1B | boosted | predicted_SO 2.43 |
| ARI | Pavin Smith | batter / 1B | worse | predicted_AB 2.229 |
| COL | Kyle Karros | batter / 3B | worse | predicted_H 2.14 |
| ARI | Lars Nootbaar | batter / LF | worse | predicted_AB 1.771 |
| ARI | Tim Tawa | batter / CF | better | predicted_RBI 1.549 |
| COL | Jake McCarthy | batter / LF | worse | predicted_H -1.42 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ARI |
| info | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | ARI model pitcher projections differ from final simulation pitching box score (H: current=13, sim=12). | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=10, sim=11; 2B: current=2, sim=1; 3B: current=0, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=6, sim=8; SF: current=0, sim=1). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Gabriel Moreno: H current=2 box=1, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Pavin Smith: AB current=3 box=5, SO current=1 box=2; Ketel Marte: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, 3B current=0 box=1; Nolan Arenado: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Tim Tawa: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1, BB current=0 box=1; Geraldo Perdomo: AB current=4 box=3, RBI current=0 box=1, R current=0 box=1, SF current=0 box=1; Corbin Carroll: H current=1 box=2, 3B current=0 box=1, RBI current=0 box=2, SO current=1 box=0 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=9, sim=12; 2B: current=2, sim=1; 3B: current=1, sim=0; HR: current=1, sim=0; R: current=4, sim=5; BB: current=3, sim=1; SO: current=7, sim=11). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: H current=1 box=0, HR current=1 box=0, SO current=1 box=2, SF current=0 box=1; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; TJ Rumfield: RBI current=1 box=0, R current=0 box=1, SO current=0 box=3; Jake McCarthy: AB current=4 box=5, H current=1 box=0, 3B current=1 box=0, RBI current=1 box=0; Jordan Beck: AB current=3 box=4; Kyle Karros: H current=1 box=3, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Connor Norby: AB current=4 box=5, H current=1 box=3, RBI current=0 box=2, R current=0 box=1; Brett Sullivan: AB current=3 box=4, H current=1 box=2, R current=0 box=1, SO current=0 box=1 | COL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHW | David Sandlin | 3 ER / 15 outs | 1 ER / 18 outs | -2 |
| KC | Randy Dobnak | 2 ER / 17 outs | 4 ER / 4 outs | 2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Randy Dobnak (KC) posted 27.00 ERA vs projected 3.18 (4 ER in 4 outs); he is materially worse pitching home (3.86 ERA there vs 2.73 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named David Sandlin (CHW) at a projected 5.4 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 1 runs on 7 hits and 1 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Randy Dobnak (KC) threw 4 outs, 4 ER = 27 ERA against a projected 3.18 ERA (23.82 ERA error)
Bullpen behind him: 2 ER over 3 outs.
The AWAY lineup he faced produced 2 runs on 5 hits and 0 HR, against a projected 2 runs / 3 hits (0 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | Randy Dobnak (Starter) | 4 / 17 | 27 / 3.18 (+23.82) | 4 / 2 | 6 / 2 | 0 / 2 | 1 / 5 | 1.33 | 1 / 6 | 3.37 | venue home: 3.86 vs 2.73 ERA (worse here) · opp run factor 1.01 (average) · 14 prior appearances this season |
| KC | Alex Lange (Middle Reliever (High Leverage)) | 3 / 3 | 18 / 9 (+9.00) | 2 / 1 | 2 / 2 | 1 / 0 | 2 / 0 | 0.55 | 1 / 1 | 0.87 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Carter Jensen (C) | KC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.73 | 0.31 average | no signal |
| Salvador Perez (DH) | KC | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 1.26 | 0.311 average | no signal |
| Vinnie Pasquantino (1B) | KC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | -0.8 | 0.335 above average | bad day |
| Chase Meidroth (2B) | CHW | 3 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.299 below average | good day |
| Michael Massey (2B) | KC | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | -0.78 | 0.306 average | no signal |
| John Rave (RF) | KC | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.311 average | no signal |
| Miguel Vargas (3B) | CHW | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 2 / 1 | 1 / 1 | 3 / 1 | 0.47 | 0.38 elite | — |
| Kyle Isbel (CF) | KC | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.253 weak | — |
| Isaac Collins (LF) | KC | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.33 | 0.294 below average | — |
| Tristan Peters (CF) | CHW | 5 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.31 | 0.315 average | — |
| Bobby Witt Jr. (SS) | KC | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.378 elite | — |
| Colson Montgomery (SS) | CHW | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.299 below average | — |
| Nick Loftin (3B) | KC | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.294 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.923 | positive favors home; negative favors away |
| Recent form | -0.738 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.046 | positive favors home; negative favors away |
| Composite | -1.153 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.02-4.5 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-5 | 0.545 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.02-4.5 | 5-5 | -0.516 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 7-5 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | 7-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | 7-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | 7-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-5 | 7-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| KC | Isaac Collins | batter / LF | worse | predicted_SO 3.173 |
| CHW | Braden Montgomery | batter / RF | better | predicted_RBI 2.568 |
| KC | Carter Jensen | batter / C | worse | predicted_RBI 2.3 |
| KC | Kyle Isbel | batter / CF | worse | predicted_SO 2.217 |
| CHW | David Sandlin | pitcher / Starter | boosted | predicted_H 2 |
| CHW | Sean Newcomb | pitcher / Setup Man | deboosted | predicted_H -2 |
| CHW | Tristan Peters | batter / CF | boosted | predicted_AB 1.9 |
| CHW | Chase Meidroth | batter / 2B | better | predicted_H 1.87 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHW |
| info | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=37; H: current=8, sim=10; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=4, sim=7; SO: current=7, sim=9). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: RBI current=0 box=1, BB current=0 box=1, SO current=0 box=2; Munetaka Murakami: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Kyle Teel: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Tristan Peters: AB current=3 box=5, H current=1 box=2, R current=0 box=1, SO current=0 box=1; Andrew Benintendi: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=0 box=1; Braden Montgomery: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=3, BB current=1 box=0; Miguel Vargas: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, BB current=1 box=2; Colson Montgomery: H current=0 box=1, RBI current=1 box=0, R current=0 box=1, BB current=0 box=2 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=8, sim=5; 2B: current=2, sim=0; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; SO: current=7, sim=14). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Carter Jensen: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=3, BB current=1 box=0; Salvador Perez: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Vinnie Pasquantino: RBI current=1 box=0, BB current=1 box=0, SO current=0 box=2; Bobby Witt Jr.: AB current=4 box=3, H current=1 box=2, BB current=0 box=1; Michael Massey: AB current=4 box=3, 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Nick Loftin: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=0 box=1; John Rave: H current=1 box=0, R current=1 box=0, SO current=1 box=0, HBP current=0 box=1; Kyle Isbel: AB current=3 box=4, H current=1 box=0, SO current=1 box=3 | KC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CIN | Brady Singer | 4 ER / 12 outs | 5 ER / 9 outs | 1 |
| ATL | Tyler Mahle | 4 ER / 18 outs | 5 ER / 15 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Brady Singer (CIN) posted 15.00 ERA vs projected 9.00 (5 ER in 9 outs); he is materially worse pitching away (6.37 ERA there vs 5.08 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Brady Singer (CIN) threw 9 outs, 5 ER = 15 ERA against a projected 9 ERA (6 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 6 runs on 12 hits and 1 HR, against a projected 5 runs / 9 hits (1 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Tyler Mahle (ATL) threw 15 outs, 5 ER = 9 ERA against a projected 6 ERA (3 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 7 runs on 7 hits and 3 HR, against a projected 3 runs / 8 hits (4 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CIN | Brady Singer (Starter) | 9 / 12 | 15 / 9 (+6.00) | 5 / 4 | 7 / 7 | 1 / 1 | 2 / 1 | 3.06 | 1 / 7 | 4.27 | venue away: 6.37 vs 5.08 ERA (worse here) · opp run factor 1.08 (strong) · 30 prior appearances this season |
| CIN | Brock Burke (Middle Reliever (High Leverage)) | 3 / 5 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.52 | 0 / 1 | 1.04 | |
| CIN | Emilio Pagán (Closer) | 3 / 4 | 0 / 13.5 (-13.50) | 0 / 2 | 1 / 2 | 0 / 1 | 0 / 0 | 0.28 | 1 / 0 | 1.28 | |
| ATL | Tyler Mahle (Starter) | 15 / 18 | 9 / 6 (+3.00) | 5 / 4 | 6 / 6 | 2 / 0 | 2 / 4 | 1.04 | 4 / 2 | 5.17 | venue home: 2.29 vs 5.28 ERA (ok) · opp run factor 1.05 (weak) · 26 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Matt Olson (1B) | ATL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.73 | 0.354 elite | bad day |
| Héctor Rodríguez (RF) | CIN | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 1.71 | 0.245 weak | good day |
| Austin Riley (3B) | ATL | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1.26 | 0.299 below average | good day |
| Michael Harris II (CF) | ATL | 5 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.34 elite | projection too low |
| Carlos Jorge (CF) | CIN | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.93 | 0.238 weak | good day |
| JJ Bleday (LF) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.339 elite | bad day |
| Tyler Stephenson (C) | CIN | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 1 / 1 | -0.78 | 0.326 above average | bad day |
| Mauricio Dubón (SS) | ATL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.303 average | — |
| Drake Baldwin (DH) | ATL | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.366 elite | — |
| Sal Stewart (1B) | CIN | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.346 elite | — |
| Elly De La Cruz (SS) | CIN | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.375 elite | — |
| Mike Yastrzemski (LF) | ATL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.31 average | — |
| Sean Murphy (C) | ATL | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0.19 | 0.252 weak | — |
| Ronald Acuña Jr. (RF) | ATL | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.368 elite | — |
| Eugenio Suárez (DH) | CIN | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.299 below average | — |
| Ke'Bryan Hayes (3B) | CIN | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.29 below average | — |
| Matt McLain (2B) | CIN | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.296 below average | — |
| Ozzie Albies (2B) | ATL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 3 / 0 | 0 | 0.278 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.445 | positive favors home; negative favors away |
| Recent form | 0.59 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.032 | positive favors home; negative favors away |
| Composite | 1.373 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.76-5.68 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-7 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-7 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-7 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-7 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.76-5.68 | 4-6 | 0.079 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 5-6 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | 5-7 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-7 | 5-7 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-7 | 5-7 | 0 | Capped at max 12 realistic runs |
| simulation_result | 5-7 | 5-7 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| ATL | Mike Yastrzemski | batter / LF | worse | predicted_RBI 1.78 |
| CIN | Tyler Stephenson | batter / C | worse | predicted_BB 1.624 |
| CIN | Carlos Jorge | batter / CF | worse | predicted_AB 1.5 |
| CIN | Eugenio Suárez | batter / DH | better | predicted_RBI 1.45 |
| ATL | Michael Harris II | batter / CF | worse | predicted_AB -1.43 |
| CIN | Elly De La Cruz | batter / SS | better | predicted_RBI 1.39 |
| ATL | Matt Olson | batter / 1B | better | predicted_RBI 1.39 |
| ATL | Ozzie Albies | batter / 2B | worse | predicted_H 1.16 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ATL |
| info | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model pitcher projections differ from final simulation pitching box score (BB: current=4, sim=5). | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=5, sim=7; BB: current=3, sim=1; SO: current=7, sim=10). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: 2B current=0 box=1, BB current=1 box=0, SO current=1 box=2; Mauricio Dubón: 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Matt Olson: RBI current=1 box=2, BB current=1 box=0; Ozzie Albies: H current=1 box=2, RBI current=0 box=1; Ronald Acuña Jr.: AB current=4 box=3, RBI current=1 box=0; Michael Harris II: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Mike Yastrzemski: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Austin Riley: H current=1 box=0, SO current=1 box=2 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=5; SO: current=9, sim=4). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Carlos Jorge: 2B current=0 box=1, R current=0 box=1, HBP current=0 box=1; Tyler Stephenson: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Sal Stewart: 2B current=0 box=1, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Héctor Rodríguez: RBI current=0 box=1, R current=0 box=1; Elly De La Cruz: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; JJ Bleday: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=0; Eugenio Suárez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2; Ke'Bryan Hayes: AB current=3 box=4, H current=0 box=1, SO current=1 box=0 | CIN |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CLE | Daniel Espino | 2 ER / 9 outs | 0 ER / 3 outs | -2 |
| BOS | Ranger Suarez | 1 ER / 17 outs | 1 ER / 15 outs | 0 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Daniel Espino (CLE) posted 0.00 ERA vs projected 6.00 (0 ER in 3 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Daniel Espino (CLE) threw 3 outs, 0 ER = 0 ERA against a projected 6 ERA (-6 ERA error)
Bullpen behind him: 0 ER over 9 outs.
The HOME lineup he faced produced 0 runs on 2 hits and 0 HR, against a projected 5 runs / 8 hits (-5 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: offense: the lineup scored well below its projection
HOME pitching
Ranger Suarez (BOS) threw 15 outs, 1 ER = 1.8 ERA against a projected 1.59 ERA (0.21 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 1 runs on 4 hits and 1 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | Daniel Espino (Starter) | 3 / 9 | 0 / 6 (-6.00) | 0 / 2 | 0 / 6 | 0 / 1 | 0 / 1 | 4.59 | 2 / 6 | 4.06 | venue away: 0 vs 27 ERA (ok) · opp run factor 0.98 (average) · 12 prior appearances this season |
| CLE | Cade Smith (Closer) | 3 / 6 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 2 | 0.36 | 3 / 1 | 1.66 | |
| CLE | Hunter Gaddis (Setup Man) | 3 / 6 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.25 | 1 / 1 | 0.86 | |
| CLE | Erik Sabrowski (Middle Reliever (High Leverage)) | 3 / 6 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0.42 | 2 / 0 | 0.91 | |
| BOS | Ranger Suarez (Starter) | 15 / 17 | 1.8 / 1.59 | 1 / 1 | 3 / 2 | 1 / 0 | 1 / 3 | 1.94 | 5 / 5 | 4.31 | venue home: 3.81 vs 2.85 ERA (worse here) · opp run factor 0.97 (average) · 27 prior appearances this season |
| BOS | Erik Miller (Setup Man) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 2 | 0 / 1 | 0 / 1 | 0.78 | 1 / 1 | 1.25 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chase DeLauter (RF) | CLE | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.11 | 0.346 elite | bad day |
| Adley Rutschman (C) | BOS | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.11 | 0.328 above average | bad day |
| Wilyer Abreu (RF) | BOS | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.35 elite | bad day |
| Mickey Gasper (DH) | BOS | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | -1.07 | 0.36 elite | bad day |
| Steven Kwan (CF) | CLE | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | -0.47 | 0.327 above average | — |
| Jo Adell (DH) | CLE | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.324 above average | — |
| David Fry (1B) | CLE | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.264 weak | — |
| Travis Bazzana (2B) | CLE | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.302 below average | — |
| Patrick Bailey (C) | CLE | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.304 average | — |
| Brayan Rocchio (SS) | CLE | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.295 below average | — |
| Trevor Story (SS) | BOS | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.25 weak | — |
| Nick Sogard (1B) | BOS | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.31 average | — |
| José Ramírez (3B) | CLE | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.17 | 0.327 above average | — |
| Caleb Durbin (3B) | BOS | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | -0.14 | 0.295 below average | — |
| Ceddanne Rafaela (CF) | BOS | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.284 below average | — |
| Angel Martínez (LF) | CLE | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.306 average | — |
| Isiah Kiner-Falefa (2B) | BOS | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.296 below average | — |
| Jarren Duran (LF) | BOS | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.301 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.171 | positive favors home; negative favors away |
| Recent form | -0.41 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.014 | positive favors home; negative favors away |
| Composite | -0.337 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.56-4.21 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 0.506 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-2 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-2 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-2 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-2 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.56-4.21 | 5-4 | 0.651 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-3 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-3 | 4-2 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-2 | 4-2 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-2 | 4-2 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-2 | 4-2 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| BOS | Mickey Gasper | batter / DH | worse | predicted_2B 1.857 |
| CLE | David Fry | batter / 1B | worse | predicted_BB 1.676 |
| CLE | Daniel Espino | pitcher / Starter | worse | predicted_IP -1.667 |
| CLE | José Ramírez | batter / 3B | worse | predicted_AB -1.66 |
| CLE | Chase DeLauter | batter / RF | worse | predicted_RBI 1.45 |
| BOS | Trevor Story | batter / SS | worse | predicted_AB -1.35 |
| CLE | Erik Sabrowski | pitcher / Middle Reliever (High Leverage) | better | predicted_IP 1.333 |
| BOS | Nick Sogard | batter / 1B | worse | predicted_AB 1.317 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BOS |
| info | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 3B: current=0, sim=1; RBI: current=4, sim=2; R: current=5, sim=2). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Nick Sogard: AB current=4 box=5, H current=1 box=0, BB current=1 box=0; Mickey Gasper: AB current=3 box=2, H current=1 box=2, 2B current=0 box=2, HR current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Wilyer Abreu: 2B current=1 box=0, HR current=0 box=1, BB current=1 box=0, SO current=1 box=2; Caleb Durbin: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=0 box=1; Isiah Kiner-Falefa: AB current=3 box=4, H current=0 box=1; Ceddanne Rafaela: R current=0 box=1, SO current=1 box=2; Jarren Duran: AB current=3 box=4, 3B current=0 box=1, R current=1 box=0, SO current=1 box=0 | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (H: current=8, sim=5; 2B: current=2, sim=1; HR: current=1, sim=2; BB: current=3, sim=4). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Jo Adell: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; David Fry: AB current=3 box=2, BB current=0 box=2; José Ramírez: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Angel Martínez: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Chase DeLauter: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Travis Bazzana: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Patrick Bailey: AB current=3 box=4, H current=1 box=0 | CLE |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| HOU | Peter Lambert | 1 ER / 17 outs | 4 ER / 8 outs | 3 |
| OAK | Mason Barnett | 3 ER / 11 outs | 4 ER / 18 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Peter Lambert (HOU) posted 13.50 ERA vs projected 1.59 (4 ER in 8 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Peter Lambert (HOU) threw 8 outs, 4 ER = 13.5 ERA against a projected 1.59 ERA (11.91 ERA error)
Bullpen behind him: 0 ER over 8 outs.
The HOME lineup he faced produced 5 runs on 10 hits and 3 HR, against a projected 4 runs / 9 hits (1 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Mason Barnett (OAK) threw 18 outs, 4 ER = 6 ERA against a projected 7.36 ERA (-1.36 ERA error)
Bullpen behind him: 2 ER over 6 outs.
The AWAY lineup he faced produced 7 runs on 10 hits and 5 HR, against a projected 4 runs / 9 hits (3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | Peter Lambert (Starter) | 8 / 17 | 13.5 / 1.59 (+11.91) | 4 / 1 | 6 / 4 | 2 / 0 | 2 / 1 | 1.78 | 6 / 9 | 5.2 | venue away: 3.17 vs 3.99 ERA (ok) · opp run factor 1.05 (weak) · 27 prior appearances this season |
| HOU | Bryan Abreu (Middle Reliever (High Leverage)) | 4 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 2 | 0 / 0 | 1 / 1 | 0.34 | 0 / 2 | 0.86 | |
| HOU | Bryan King (Reliever) | 4 / 0 | 0 / n/a | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | n/a | 3 / 1 | n/a | |
| OAK | Mason Barnett (Starter) | 18 / 11 | 6 / 7.36 | 4 / 3 | 4 / 6 | 2 / 1 | 2 / 1 | 3.2 | 8 / 4 | 3.9 | venue home: 8 vs 12.19 ERA (ok) · opp run factor 1 (average) · 19 prior appearances this season |
| OAK | Scott Blewett (Middle Reliever (High Leverage)) | 3 / 6 | 9 / 9 | 1 / 2 | 3 / 3 | 1 / 0 | 0 / 0 | 0.41 | 0 / 3 | 1.16 | |
| OAK | Elvis Alvarado (Closer) | 3 / 4 | 9 / 6.75 | 1 / 1 | 2 / 2 | 1 / 0 | 0 / 0 | 0.43 | 0 / 1 | 1.04 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Lucas Spence (CF) | HOU | 4 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 3 / 0 | 5 / 0 | 3 / 0 | 0 / 1 | 0 / 1 | 3.4 | 0.231 weak | good day |
| Zack Gelof (3B) | OAK | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 2 / 1 | 1 / 0 | 0 / 1 | 2.66 | 0.322 above average | projection too low |
| Christian Walker (1B) | HOU | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.298 below average | good day |
| Jeff McNeil (1B) | OAK | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 1.4 | 0.3 below average | good day |
| Jose Altuve (2B) | HOU | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.272 weak | projection too high |
| Yordan Alvarez (LF) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.93 | 0.444 elite | bad day |
| Isaac Paredes (3B) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 0.93 | 0.323 above average | projection too low |
| Jeremy Peña (SS) | HOU | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.326 above average | bad day |
| Shea Langeliers (DH) | OAK | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.358 elite | bad day |
| Henry Bolte (CF) | OAK | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 4 / 1 | -0.8 | 0.318 average | no signal |
| Yainer Diaz (DH) | HOU | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.312 average | no signal |
| Jonah Heim (C) | OAK | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.283 weak | good day |
| Lawrence Butler (RF) | OAK | 5 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | 0.61 | 0.328 above average | projection too low |
| Carlos Cortes (LF) | OAK | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | -0.47 | 0.305 average | — |
| Donovan Walton (2B) | OAK | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.326 above average | — |
| Joshua Kuroda-Grauer (SS) | OAK | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | -0.14 | 0.32 average | — |
| Christian Vázquez (C) | HOU | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.233 weak | — |
| Cam Smith (RF) | HOU | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.318 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.848 | positive favors home; negative favors away |
| Recent form | -0.162 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.05 | positive favors home; negative favors away |
| Composite | -0.758 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.72-3.8 | n/a | Base ML historical model prediction |
| variance_applied | 6-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-5 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.72-3.8 | 6-4 | 0.088 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 7-5 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | 7-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | 7-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | 7-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-5 | 7-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| HOU | Christian Walker | batter / 1B | worse | predicted_SO 3.04 |
| OAK | Jeff McNeil | batter / 1B | better | predicted_RBI 2.594 |
| HOU | Lucas Spence | batter / CF | better | predicted_H 2.538 |
| OAK | Jonah Heim | batter / C | worse | predicted_SO 2.324 |
| OAK | Carlos Cortes | batter / LF | worse | predicted_AB 2.154 |
| OAK | Shea Langeliers | batter / DH | boosted | predicted_SO 1.98 |
| OAK | Joshua Kuroda-Grauer | batter / SS | boosted | predicted_H 1.7 |
| HOU | Yainer Diaz | batter / DH | better | predicted_RBI 1.523 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | HOU |
| info | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=41; H: current=9, sim=11; 2B: current=2, sim=4; HR: current=2, sim=1; RBI: current=5, sim=7; R: current=4, sim=7; BB: current=4, sim=1; SO: current=7, sim=13). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2, SO current=1 box=2; Yainer Diaz: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Isaac Paredes: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Christian Walker: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=4; Lucas Spence: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=0 box=1; Jose Altuve: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1; Jeremy Peña: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Christian Vázquez: AB current=3 box=4, R current=0 box=1, SO current=0 box=1 | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=42; H: current=9, sim=12; 2B: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=2; SO: current=7, sim=15; HBP: current=0, sim=1). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Shea Langeliers: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Henry Bolte: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0, BB current=1 box=0; Jeff McNeil: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Carlos Cortes: AB current=3 box=5, SO current=0 box=2; Joshua Kuroda-Grauer: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Lawrence Butler: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Donovan Walton: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Zack Gelof: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0 | OAK |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAA | Grayson Rodriguez | 5 ER / 15 outs | 4 ER / 15 outs | -1 |
| SEA | Bryan Woo | 3 ER / 17 outs | 4 ER / 16 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Grayson Rodriguez (LAA) threw 15 outs, 4 ER = 7.2 ERA against a projected 9 ERA (-1.8 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 4 runs on 7 hits and 1 HR, against a projected 4 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Bryan Woo (SEA) threw 16 outs, 4 ER = 6.75 ERA against a projected 4.76 ERA (1.99 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 0 HR, against a projected 3 runs / 7 hits (3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAA | Grayson Rodriguez (Starter) | 15 / 15 | 7.2 / 9 | 4 / 5 | 5 / 5 | 1 / 2 | 5 / 3 | 1.75 | 2 / 5 | 5.15 | venue away: 4.54 vs 7.1 ERA (ok) · opp run factor 1.1 (weak) · 19 prior appearances this season |
| LAA | Ryan Watson (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.25 | 2 / 0 | 1.14 | |
| SEA | Bryan Woo (Starter) | 16 / 17 | 6.75 / 4.76 | 4 / 3 | 7 / 3 | 0 / 0 | 3 / 1 | 1.36 | 8 / 7 | 5.88 | venue home: 2.36 vs 5.22 ERA (ok) · opp run factor 0.96 (weak) · 29 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dominic Canzone (DH) | SEA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.356 elite | bad day |
| Julio Rodríguez (CF) | SEA | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 1.4 | 0.334 above average | projection too low |
| Josh Lowe (RF) | LAA | 3 / 3 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 0 / 0 | 0 / 1 | 1.25 | 0.285 below average | good day |
| Christian Moore (2B) | LAA | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 1 / 0 | 0 / 0 | 1 / 2 | 0.78 | 0.231 weak | good day |
| Zach Neto (SS) | LAA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 1 / 0 | 2 / 2 | -0.6 | 0.313 average | no signal |
| Vaughn Grissom (1B) | LAA | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.311 average | — |
| Bryce Teodosio (CF) | LAA | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.203 weak | — |
| J.P. Crawford (SS) | SEA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.32 average | — |
| Lazaro Montes (RF) | SEA | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.319 average | — |
| Leo Rivas (3B) | SEA | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.25 weak | — |
| Moisés Ballesteros (C) | LAA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 3 / 1 | 0.33 | 0.293 below average | — |
| Randy Arozarena (LF) | SEA | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.351 elite | — |
| Cole Young (2B) | SEA | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.312 average | — |
| Wade Meckler (LF) | LAA | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0.16 | 0.314 average | — |
| Mike Trout (DH) | LAA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 1 | -0.14 | 0.38 elite | — |
| Denzer Guzman (3B) | LAA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 2 / 1 | -0.14 | 0.268 weak | — |
| Cal Raleigh (C) | SEA | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 1 | 0 / 1 | -0.14 | 0.31 average | — |
| Josh Naylor (1B) | SEA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.312 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.404 | positive favors home; negative favors away |
| Recent form | 0.614 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.139 | positive favors home; negative favors away |
| Composite | 0.863 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.53-5.1 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.53-5.1 | 4-5 | -0.575 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| SEA | Josh Naylor | batter / 1B | better | predicted_RBI 2.57 |
| LAA | Ben Joyce | pitcher / Closer | better | predicted_IP 1.9 |
| SEA | Randy Arozarena | batter / LF | worse | predicted_AB -1.7 |
| SEA | Lazaro Montes | batter / RF | better | predicted_RBI 1.7 |
| LAA | Zach Neto | batter / SS | deboosted | predicted_RBI 1.64 |
| LAA | Bryce Teodosio | batter / CF | worse | predicted_AB 1.5 |
| SEA | Dominic Canzone | batter / DH | worse | predicted_H -1.42 |
| LAA | Moisés Ballesteros | batter / C | better | predicted_H 1.33 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAA |
| info | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SEA |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=3, sim=4; R: current=3, sim=4; BB: current=2, sim=1; HBP: current=0, sim=1). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Wade Meckler: H current=1 box=0, 2B current=1 box=0, BB current=1 box=0; Mike Trout: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Vaughn Grissom: RBI current=1 box=0; Moisés Ballesteros: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Josh Lowe: H current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Bryce Teodosio: AB current=3 box=4, SO current=1 box=2; Zach Neto: HR current=1 box=0, RBI current=0 box=2, SO current=2 box=1; Christian Moore: AB current=3 box=4, H current=1 box=0 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=29; H: current=8, sim=5; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=9, sim=6). | SEA |
| info | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: J.P. Crawford: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Dominic Canzone: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randy Arozarena: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Cal Raleigh: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0; Cole Young: AB current=4 box=3, R current=0 box=1; Julio Rodríguez: RBI current=1 box=0, SO current=1 box=0; Lazaro Montes: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Josh Naylor: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1 | SEA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIA | Tyler Phillips | 1 ER / 15 outs | 0 ER / 12 outs | -1 |
| CHC | Matthew Boyd | 3 ER / 17 outs | 1 ER / 21 outs | -2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Matthew Boyd (CHC) posted 1.29 ERA vs projected 4.76 (1 ER in 21 outs); he is materially worse pitching home (5.53 ERA there vs 2.86 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Tyler Phillips (MIA) threw 12 outs, 0 ER = 0 ERA against a projected 1.8 ERA (-1.8 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 1 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Matthew Boyd (CHC) threw 21 outs, 1 ER = 1.29 ERA against a projected 4.76 ERA (-3.47 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 1 runs on 5 hits and 0 HR, against a projected 5 runs / 8 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | Tyler Phillips (Starter) | 12 / 15 | 0 / 1.8 | 0 / 1 | 3 / 4 | 0 / 0 | 4 / 5 | 1.77 | 2 / 3 | 3.61 | venue away: 5.26 vs 3.17 ERA (worse here) · opp run factor 1.04 (strong) · 36 prior appearances this season |
| MIA | Victor Vodnik (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 13.5 (-13.50) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.79 | 1 / 1 | 0.99 | |
| CHC | Matthew Boyd (Starter) | 21 / 17 | 1.29 / 4.76 (-3.47) | 1 / 3 | 5 / 4 | 0 / 0 | 2 / 1 | 2.04 | 3 / 1 | 4.28 | venue home: 5.53 vs 2.86 ERA (worse here) · opp run factor 0.96 (average) · 21 prior appearances this season |
| CHC | Daniel Palencia (Middle Reliever (High Leverage)) | 3 / 5 | 0 / 5.4 (-5.40) | 0 / 1 | 0 / 3 | 0 / 0 | 1 / 0 | 0.37 | 0 / 1 | 0.98 | |
| CHC | Ryan Zeferjahn (Setup Man) | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 2 | 0 / 0 | 0 / 1 | 0.65 | 0 / 1 | 1.36 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Heriberto Hernández (LF) | MIA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.348 elite | bad day |
| Seiya Suzuki (RF) | CHC | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 1.09 | 0.337 above average | projection too low |
| Pete Crow-Armstrong (CF) | CHC | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.93 | 0.376 elite | bad day |
| Michael Busch (1B) | CHC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.333 above average | bad day |
| Brian Navarreto (C) | MIA | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.176 weak | good day |
| Ian Happ (LF) | CHC | 3 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0.62 | 0.315 average | no signal |
| Deyvison De Los Santos (1B) | MIA | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.173 weak | — |
| Jared Serna (2B) | MIA | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.214 weak | — |
| Carson Kelly (C) | CHC | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.313 average | — |
| Agustín Ramírez (DH) | MIA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.284 below average | — |
| Otto Lopez (SS) | MIA | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 0 | 0.33 | 0.327 above average | — |
| Pedro Ramirez (3B) | CHC | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.282 weak | — |
| Javier Sanoja (3B) | MIA | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | -0.31 | 0.294 below average | — |
| Esteury Ruiz (RF) | MIA | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.276 weak | — |
| Michael Conforto (DH) | CHC | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.336 above average | — |
| Jakob Marsee (CF) | MIA | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 | 0.31 average | — |
| Nico Hoerner (2B) | CHC | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.323 above average | — |
| Dansby Swanson (SS) | CHC | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.305 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.626 | positive favors home; negative favors away |
| Recent form | -0.098 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.081 | positive favors home; negative favors away |
| Composite | 0.677 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.61-4.84 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.519 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.61-4.84 | 5-5 | -0.231 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 4-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| MIA | Esteury Ruiz | batter / RF | worse | predicted_AB 2.5 |
| CHC | Michael Conforto | batter / DH | better | predicted_H 2.24 |
| CHC | Pedro Ramirez | batter / 3B | worse | predicted_AB 1.877 |
| CHC | Seiya Suzuki | batter / RF | better | predicted_AB -1.78 |
| CHC | Carson Kelly | batter / C | worse | predicted_AB 1.69 |
| MIA | Javier Sanoja | batter / 3B | better | predicted_H 1.65 |
| CHC | Dansby Swanson | batter / SS | better | predicted_AB 1.555 |
| MIA | Deyvison De Los Santos | batter / 1B | better | predicted_H 1.537 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHC |
| info | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIA |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; HR: current=1, sim=2; BB: current=4, sim=6; SO: current=7, sim=5; HBP: current=0, sim=1). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Michael Conforto: AB current=3 box=4, H current=1 box=3, R current=0 box=1, BB current=0 box=1; Seiya Suzuki: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Michael Busch: SO current=1 box=0; Pete Crow-Armstrong: H current=1 box=2; Pedro Ramirez: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0; Ian Happ: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=2; Nico Hoerner: AB current=4 box=5, H current=1 box=0; Dansby Swanson: AB current=3 box=5, H current=0 box=1, 2B current=0 box=1, R current=1 box=0 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (H: current=9, sim=8). | MIA |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=40; H: current=8, sim=10; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; R: current=5, sim=4; BB: current=3, sim=2; SO: current=7, sim=5). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Heriberto Hernández: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Javier Sanoja: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, R current=0 box=1; Agustín Ramírez: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Deyvison De Los Santos: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Jared Serna: H current=1 box=2, 2B current=0 box=1, R current=1 box=0, BB current=0 box=1; Esteury Ruiz: AB current=3 box=5, H current=1 box=0; Otto Lopez: AB current=4 box=5, RBI current=1 box=2, SO current=0 box=1; Brian Navarreto: AB current=3 box=4, H current=0 box=1, 3B current=0 box=1, RBI current=0 box=1 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIL | Shane Drohan | 1 ER / 14 outs | 1 ER / 8 outs | 0 |
| PHI | Andrew Painter | 5 ER / 15 outs | 1 ER / 18 outs | -4 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Andrew Painter (PHI) posted 1.50 ERA vs projected 9.00 (1 ER in 18 outs); he is materially worse pitching home (6.56 ERA there vs 4.88 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Shane Drohan (MIL) threw 8 outs, 1 ER = 3.38 ERA against a projected 1.93 ERA (1.45 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 1 runs on 4 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Andrew Painter (PHI) threw 18 outs, 1 ER = 1.5 ERA against a projected 9 ERA (-7.5 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The AWAY lineup he faced produced 3 runs on 10 hits and 0 HR, against a projected 5 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | Shane Drohan (Starter) | 8 / 14 | 3.38 / 1.93 | 1 / 1 | 3 / 3 | 0 / 0 | 2 / 2 | 2.36 | 2 / 3 | 4.75 | venue away: 4.61 vs 5.54 ERA (ok) · opp run factor 1.01 (average) · 31 prior appearances this season |
| MIL | Aaron Ashby (Middle Reliever (High Leverage)) | 6 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.54 | 2 / 0 | 1.1 | |
| PHI | Andrew Painter (Starter) | 18 / 15 | 1.5 / 9 (-7.50) | 1 / 5 | 5 / 7 | 0 / 0 | 3 / 2 | 1.97 | 8 / 3 | 4.37 | venue home: 6.56 vs 4.88 ERA (worse here) · opp run factor 1 (strong) · 24 prior appearances this season |
| PHI | Tim Mayza (Middle Reliever (High Leverage)) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0.28 | 0 / 1 | 0.73 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sal Frelick (LF) | MIL | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0.97 | 0.279 weak | good day |
| Cooper Pratt (SS) | MIL | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.314 average | no signal |
| Trea Turner (SS) | PHI | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.294 below average | projection too high |
| Brice Turang (2B) | MIL | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.64 | 0.344 elite | bad day |
| Jake Bauers (1B) | MIL | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.48 | 0.376 elite | — |
| Kyle Schwarber (DH) | PHI | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.48 | 0.364 elite | — |
| Gary Sánchez (C) | MIL | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 1 / 1 | 2 / 1 | 0.47 | 0.339 elite | — |
| Bryson Stott (3B) | PHI | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.328 above average | — |
| Luis Arraez (2B) | PHI | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.308 average | — |
| Justin Crawford (CF) | PHI | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.284 below average | — |
| J.T. Realmuto (C) | PHI | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.317 average | — |
| William Contreras (DH) | MIL | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.333 above average | — |
| Bryce Harper (RF) | PHI | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.38 elite | — |
| Alec Bohm (1B) | PHI | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.33 above average | — |
| Bryan De La Cruz (LF) | PHI | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.288 below average | — |
| Luis Lara (RF) | MIL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.294 below average | — |
| Joey Ortiz (3B) | MIL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.295 below average | — |
| Garrett Mitchell (CF) | MIL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 4 / 1 | 0 | 0.352 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.955 | positive favors home; negative favors away |
| Recent form | -0.53 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.006 | positive favors home; negative favors away |
| Composite | -0.825 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.56-3.87 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.539 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.56-3.87 | 5-4 | 0.312 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| PHI | Luis Arraez | batter / 2B | deboosted | predicted_RBI 2.52 |
| PHI | Trea Turner | batter / SS | worse | predicted_AB -2.11 |
| MIL | Jake Bauers | batter / 1B | better | predicted_RBI 1.57 |
| PHI | Bryan De La Cruz | batter / LF | worse | predicted_AB 1.481 |
| PHI | Kyle Schwarber | batter / DH | better | predicted_SO -1.453 |
| PHI | Justin Crawford | batter / CF | worse | predicted_SO 1.432 |
| MIL | Joey Ortiz | batter / 3B | worse | predicted_SO 1.298 |
| MIL | Garrett Mitchell | batter / CF | worse | predicted_SO -1.18 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIL |
| info | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 2B: current=1, sim=2; HR: current=1, sim=0; SO: current=8, sim=6). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Jake Bauers: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Luis Lara: 2B current=0 box=1, R current=0 box=1; Brice Turang: 2B current=1 box=0, BB current=1 box=0; Sal Frelick: H current=1 box=0, BB current=0 box=1; Joey Ortiz: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Garrett Mitchell: AB current=4 box=5, SO current=1 box=0; Gary Sánchez: RBI current=1 box=0 | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=8, sim=4). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Alec Bohm: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Bryan De La Cruz: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Bryson Stott: AB current=3 box=4, 2B current=0 box=1, BB current=1 box=0; Trea Turner: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; J.T. Realmuto: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Luis Arraez: H current=1 box=2, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Kyle Schwarber: HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYM | Zac Thornton | 2 ER / 17 outs | 2 ER / 15 outs | 0 |
| TEX | Kumar Rocker | 4 ER / 14 outs | 1 ER / 15 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Kumar Rocker (TEX) posted 1.80 ERA vs projected 7.71 (1 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Zac Thornton (NYM) threw 15 outs, 2 ER = 3.6 ERA against a projected 3.18 ERA (0.42 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 3 runs on 7 hits and 2 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Kumar Rocker (TEX) threw 15 outs, 1 ER = 1.8 ERA against a projected 7.71 ERA (-5.91 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 1 runs on 4 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYM | Zac Thornton (Starter) | 15 / 17 | 3.6 / 3.18 | 2 / 2 | 4 / 5 | 1 / 0 | 1 / 0 | 0.85 | 4 / 2 | 4.17 | venue away: 2.86 vs 3.71 ERA (ok) · opp run factor 0.95 (average) · 14 prior appearances this season |
| TEX | Kumar Rocker (Starter) | 15 / 14 | 1.8 / 7.71 (-5.91) | 1 / 4 | 3 / 3 | 0 / 1 | 2 / 5 | 2.26 | 4 / 4 | 5.11 | venue home: 4.61 vs 4.57 ERA (ok) · opp run factor 1.05 (average) · 29 prior appearances this season |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.35 | 2 / 1 | 0.97 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Josh Jung (3B) | TEX | 3 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 2.2 | 0.343 elite | projection too low |
| Juan Soto (DH) | NYM | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | -1.4 | 0.413 elite | bad day |
| A.J. Ewing (CF) | NYM | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.318 average | no signal |
| Nick Morabito (LF) | NYM | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.78 | 0.31 average | no signal |
| Luis Torrens (C) | NYM | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.292 below average | — |
| Bo Bichette (3B) | NYM | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.328 above average | — |
| Jake Burger (1B) | TEX | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.317 average | — |
| Ezequiel Duran (CF) | TEX | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.303 average | — |
| Elias Díaz (C) | TEX | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.266 weak | — |
| Brandon Nimmo (RF) | TEX | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.342 elite | — |
| Francisco Lindor (SS) | NYM | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.332 above average | — |
| Corey Seager (SS) | TEX | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.346 elite | — |
| Marcus Semien (2B) | NYM | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.303 average | — |
| Wyatt Langford (LF) | TEX | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.322 above average | — |
| Carson Benge (RF) | NYM | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.339 elite | — |
| Brett Baty (1B) | NYM | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.32 average | — |
| Justin Foscue (2B) | TEX | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.327 above average | — |
| Danny Jansen (DH) | TEX | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.268 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.11 | positive favors home; negative favors away |
| Recent form | -0.018 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.1 | positive favors home; negative favors away |
| Composite | -0.344 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.32-4.35 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.521 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.32-4.35 | 4-4 | 0.024 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 5-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| NYM | Francisco Lindor | batter / SS | better | predicted_RBI 2.53 |
| TEX | Justin Foscue | batter / 2B | worse | predicted_AB 2.5 |
| TEX | Josh Jung | batter / 3B | better | predicted_H 1.76 |
| TEX | Danny Jansen | batter / DH | worse | predicted_BB 1.705 |
| TEX | Corey Seager | batter / SS | better | predicted_AB -1.51 |
| NYM | Marcus Semien | batter / 2B | worse | predicted_AB -1.41 |
| TEX | Jake Burger | batter / 1B | worse | predicted_RBI 1.37 |
| NYM | Juan Soto | batter / DH | deboosted | predicted_BB 1.305 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYM |
| info | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TEX |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (H: current=8, sim=6; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=6; SO: current=8, sim=6). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Carson Benge: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1; Juan Soto: AB current=4 box=3, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Brett Baty: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; A.J. Ewing: H current=1 box=0, BB current=1 box=0; Luis Torrens: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Nick Morabito: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Francisco Lindor: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Marcus Semien: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1, R current=0 box=1 | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=8, sim=7; 2B: current=2, sim=3; HR: current=1, sim=0; BB: current=2, sim=3; SO: current=8, sim=3; SF: current=0, sim=1). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Jake Burger: RBI current=1 box=2, R current=0 box=1, SF current=0 box=1; Corey Seager: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Josh Jung: H current=1 box=3, RBI current=0 box=1; Ezequiel Duran: 2B current=0 box=1, RBI current=1 box=0; Justin Foscue: AB current=3 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Danny Jansen: AB current=3 box=2, BB current=0 box=2; Brandon Nimmo: H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Elias Díaz: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=0 | TEX |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SD | Nick Pivetta | 2 ER / 15 outs | 0 ER / 14 outs | -2 |
| LAD | Tyler Glasnow | 2 ER / 18 outs | 3 ER / 19 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Nick Pivetta (SD) posted 0.00 ERA vs projected 3.60 (0 ER in 14 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Nick Pivetta (SD) threw 14 outs, 0 ER = 0 ERA against a projected 3.6 ERA (-3.6 ERA error) only 7 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 1 ER over 3 outs.
The HOME lineup he faced produced 2 runs on 7 hits and 0 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Tyler Glasnow (LAD) threw 19 outs, 3 ER = 4.26 ERA against a projected 3 ERA (1.26 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 3 runs on 5 hits and 0 HR, against a projected 6 runs / 7 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | Nick Pivetta (Starter) | 14 / 15 | 0 / 3.6 (-3.60) | 0 / 2 | 4 / 5 | 0 / 1 | 1 / 3 | 0.68 | 7 / 6 | 4.46 | venue away: 4 vs 3 ERA (ok) · opp run factor 0.98 (strong) · 7 prior appearances this season |
| SD | Mason Miller (Closer) | 3 / 5 | 9 / 0 (+9.00) | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.32 | 2 / 1 | 1.7 | |
| LAD | Tyler Glasnow (Starter) | 19 / 18 | 4.26 / 3 | 3 / 2 | 3 / 5 | 0 / 0 | 2 / 2 | 2.17 | 11 / 7 | 6.99 | venue home: 4.25 vs 2.84 ERA (worse here) · opp run factor 1.02 (average) · 12 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Manny Machado (3B) | SD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.73 | 0.331 above average | bad day |
| Mookie Betts (SS) | LAD | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 1.58 | 0.338 above average | projection too low |
| Max Muncy (3B) | LAD | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -1.11 | 0.348 elite | bad day |
| Ethan Salas (C) | SD | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.94 | 0.197 weak | good day |
| Kyle Tucker (RF) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.333 above average | bad day |
| Shohei Ohtani (DH) | LAD | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.48 | 0.4 elite | — |
| Dustin Harris (LF) | SD | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.313 average | — |
| Ty France (1B) | SD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.332 above average | — |
| Samad Taylor (DH) | SD | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 3 / 1 | -0.47 | 0.315 average | — |
| Jake Cronenworth (2B) | SD | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.273 weak | — |
| Teoscar Hernández (LF) | LAD | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -0.47 | 0.332 above average | — |
| Tommy Edman (2B) | LAD | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.304 average | — |
| Jackson Merrill (CF) | SD | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 2 / 2 | 0.31 | 0.346 elite | — |
| Fernando Tatis Jr. (RF) | SD | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0.16 | 0.38 elite | — |
| Freddie Freeman (1B) | LAD | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.16 | 0.365 elite | — |
| Andy Pages (CF) | LAD | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 1 | -0.14 | 0.342 elite | — |
| Xander Bogaerts (SS) | SD | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 | 0.323 above average | — |
| Hunter Feduccia (C) | LAD | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.317 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.68 | positive favors home; negative favors away |
| Recent form | -0.002 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.045 | positive favors home; negative favors away |
| Composite | 0.455 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.47-4.87 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.51 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.47-4.87 | 4-5 | 0.597 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| LAD | Tyler Glasnow | pitcher / Starter | better | predicted_SO 3 |
| LAD | Hunter Feduccia | batter / C | worse | predicted_SO 2.28 |
| SD | Dustin Harris | batter / LF | better | predicted_H 2.16 |
| SD | Nick Pivetta | pitcher / Starter | better | predicted_SO 2 |
| LAD | Brock Stewart | pitcher / Setup Man | worse | predicted_SO -2 |
| LAD | Mookie Betts | batter / SS | boosted | predicted_H 1.96 |
| SD | Ethan Salas | batter / C | worse | predicted_RBI 1.77 |
| LAD | Andy Pages | batter / CF | worse | predicted_AB -1.55 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAD |
| info | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (H: current=8, sim=10; 3B: current=0, sim=1; RBI: current=4, sim=5; BB: current=3, sim=4). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: AB current=4 box=5, H current=1 box=2, 3B current=0 box=1, HR current=1 box=0; Freddie Freeman: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2; Mookie Betts: AB current=4 box=5, H current=1 box=3, 2B current=0 box=1, RBI current=1 box=0; Teoscar Hernández: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kyle Tucker: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Max Muncy: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Andy Pages: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1, SO current=1 box=0; Hunter Feduccia: AB current=3 box=4, SO current=1 box=3 | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model pitcher projections differ from final simulation pitching box score (H: current=8, sim=10). | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=37; H: current=7, sim=10; R: current=6, sim=4; BB: current=3, sim=2; SO: current=10, sim=8). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Manny Machado: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Dustin Harris: H current=1 box=3, RBI current=0 box=2, BB current=0 box=1, SO current=1 box=0; Ty France: H current=1 box=0, RBI current=1 box=0; Fernando Tatis Jr.: 2B current=1 box=0, RBI current=1 box=0; Samad Taylor: AB current=3 box=4, R current=1 box=0; Jackson Merrill: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=2 box=0; Xander Bogaerts: H current=0 box=2, 2B current=0 box=1, BB current=1 box=0; Ethan Salas: AB current=3 box=4, H current=0 box=2, HR current=0 box=1, RBI current=0 box=2 | SD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| STL | Kyle Leahy | 2 ER / 15 outs | 1 ER / 6 outs | -1 |
| PIT | Paul Skenes | 4 ER / 17 outs | 1 ER / 19 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Paul Skenes (PIT) posted 1.42 ERA vs projected 6.35 (1 ER in 19 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Kyle Leahy (STL) threw 6 outs, 1 ER = 4.5 ERA against a projected 3.6 ERA (0.9 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 2 runs on 7 hits and 0 HR, against a projected 5 runs / 9 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Paul Skenes (PIT) threw 19 outs, 1 ER = 1.42 ERA against a projected 6.35 ERA (-4.93 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The AWAY lineup he faced produced 1 runs on 5 hits and 1 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| STL | Kyle Leahy (Starter) | 6 / 15 | 4.5 / 3.6 | 1 / 2 | 3 / 2 | 0 / 0 | 0 / 4 | 1.44 | 3 / 6 | 4.14 | venue away: 3.94 vs 3.4 ERA (worse here) · opp run factor 1 (average) · 29 prior appearances this season |
| STL | Ryne Stanek (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.41 | 0 / 1 | 0.98 | |
| PIT | Paul Skenes (Starter) | 19 / 17 | 1.42 / 6.35 (-4.93) | 1 / 4 | 3 / 7 | 1 / 0 | 2 / 1 | 1.29 | 8 / 7 | 4.99 | venue home: 3.94 vs 3.87 ERA (ok) · opp run factor 1.02 (average) · 31 prior appearances this season |
| PIT | Luke Weaver (Setup Man) | 1 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.25 | 1 / 0 | 1.11 | |
| PIT | Mason Montgomery (Closer) | 3 / 6 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.4 | 3 / 1 | 1.36 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jordan Walker (RF) | STL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | -1.07 | 0.341 elite | bad day |
| Brandon Lowe (2B) | PIT | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.93 | 0.332 above average | bad day |
| Spencer Horwitz (1B) | PIT | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0 / 0 | -0.8 | 0.315 average | no signal |
| Leonardo Bernal (DH) | STL | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | -0.78 | 0.355 elite | bad day |
| Thomas Saggese (3B) | STL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.318 average | — |
| Jake Mangum (LF) | PIT | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.287 below average | — |
| Henry Davis (C) | PIT | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.292 below average | — |
| JJ Wetherholt (2B) | STL | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.348 elite | — |
| Ryan O'Hearn (DH) | PIT | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.45 | 0.315 average | — |
| Oneil Cruz (CF) | PIT | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.352 elite | — |
| Iván Herrera (C) | STL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.336 above average | — |
| Nick Gonzales (3B) | PIT | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.325 above average | — |
| Ronny Simon (RF) | PIT | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.311 average | — |
| Alec Burleson (1B) | STL | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 0.29 | 0.369 elite | — |
| Konnor Griffin (SS) | PIT | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0.16 | 0.307 average | — |
| Bryan Torres (LF) | STL | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.288 below average | — |
| Masyn Winn (SS) | STL | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.297 below average | — |
| Nathan Church (CF) | STL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.286 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.353 | positive favors home; negative favors away |
| Recent form | 0.462 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.021 | positive favors home; negative favors away |
| Composite | 0.444 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.79-5.5 | n/a | Base ML historical model prediction |
| variance_applied | 5-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.528 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.79-5.5 | 5-6 | 0.288 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| PIT | Oneil Cruz | batter / CF | worse | predicted_AB -3.72 |
| PIT | Nick Gonzales | batter / 3B | better | predicted_2B 1.807 |
| STL | JJ Wetherholt | batter / 2B | worse | predicted_RBI 1.621 |
| STL | Masyn Winn | batter / SS | worse | predicted_RBI 1.57 |
| PIT | Spencer Horwitz | batter / 1B | better | predicted_RBI 1.53 |
| STL | Bryan Torres | batter / LF | worse | predicted_AB 1.475 |
| PIT | Ronny Simon | batter / RF | worse | predicted_SO 1.471 |
| PIT | Brandon Lowe | batter / 2B | worse | predicted_H -1.21 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PIT |
| info | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | STL |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=9, sim=7; 2B: current=2, sim=3; BB: current=3, sim=6; SO: current=8, sim=7; HBP: current=0, sim=2). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Ryan O'Hearn: AB current=4 box=5, 2B current=1 box=0, SO current=1 box=0; Oneil Cruz: AB current=4 box=1, H current=1 box=0, RBI current=1 box=0, BB current=1 box=3; Konnor Griffin: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Brandon Lowe: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jake Mangum: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Nick Gonzales: H current=1 box=3, 2B current=0 box=2, RBI current=0 box=2, R current=0 box=1; Ronny Simon: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Henry Davis: R current=0 box=1, HBP current=0 box=1 | PIT |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=5, sim=4; BB: current=3, sim=1; SO: current=9, sim=8). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: RBI current=0 box=2, BB current=1 box=0; Iván Herrera: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Leonardo Bernal: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Bryan Torres: AB current=3 box=4, 2B current=0 box=1; Thomas Saggese: H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Masyn Winn: H current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Alec Burleson: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jordan Walker: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TB | Ian Seymour | 0 ER / 15 outs | 0 ER / 15 outs | 0 |
| NYY | Cam Schlittler | 1 ER / 19 outs | 1 ER / 9 outs | 0 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Ian Seymour (TB) threw 15 outs, 0 ER = 0 ERA against a projected 0 ERA (0 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 6 runs on 7 hits and 2 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Cam Schlittler (NYY) threw 9 outs, 1 ER = 3 ERA against a projected 1.42 ERA (1.58 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 4 runs on 8 hits and 0 HR, against a projected 3 runs / 6 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TB | Ian Seymour (Starter) | 15 / 15 | 0 / 0 | 0 / 0 | 1 / 2 | 0 / 0 | 0 / 2 | 0.99 | 3 / 5 | 5.48 | venue away: 3.75 vs 5.25 ERA (ok) · opp run factor 1.01 (strong) · 45 prior appearances this season |
| NYY | Cam Schlittler (Starter) | 9 / 19 | 3 / 1.42 | 1 / 1 | 3 / 3 | 0 / 0 | 2 / 2 | 1.75 | 5 / 8 | 8.28 | venue home: 2.98 vs 1.16 ERA (worse here) · opp run factor 1.01 (average) · 32 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Austin Wells (C) | NYY | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 1.73 | 0.296 below average | good day |
| George Lombard Jr. (SS) | NYY | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 2 / 1 | 0 / 0 | 0 / 1 | 1.71 | 0.289 below average | good day |
| Ben Rice (1B) | NYY | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -1.4 | 0.379 elite | bad day |
| Taylor Walls (SS) | TB | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 1.11 | 0.251 weak | good day |
| Cody Bellinger (LF) | NYY | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.337 above average | bad day |
| Liam Hicks (C) | TB | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.321 average | no signal |
| Yandy Díaz (DH) | TB | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 0 | 0 / 1 | 0.8 | 0.346 elite | projection too low |
| Junior Caminero (3B) | TB | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.79 | 0.36 elite | bad day |
| Paul Goldschmidt (DH) | NYY | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 2 | 0.78 | 0.313 average | no signal |
| Anthony Volpe (2B) | NYY | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | -0.47 | 0.292 below average | — |
| José Caballero (CF) | NYY | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.281 weak | — |
| Jonny DeLuca (CF) | TB | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 1 / 1 | 0.35 | 0.257 weak | — |
| Ryan Vilade (1B) | TB | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 0.33 | 0.334 above average | — |
| Chandler Simpson (LF) | TB | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.265 weak | — |
| Richie Palacios (2B) | TB | 1 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 | 0.309 average | — |
| Heliot Ramos (RF) | NYY | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.327 above average | — |
| Amed Rosario (3B) | NYY | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.308 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.185 | positive favors home; negative favors away |
| Recent form | -0.042 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.004 | positive favors home; negative favors away |
| Composite | 0.461 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.3-5.24 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-4 | 0.531 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 2-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 2-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 2-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 2-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.3-5.24 | 4-5 | 0.06 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 3-4 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | 2-4 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 2-4 | 2-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 2-4 | 2-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 2-4 | 2-4 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| NYY | Cam Schlittler | pitcher / Starter | better | predicted_SO 4 |
| NYY | David Bednar | pitcher / Closer | worse | predicted_SO -3 |
| TB | Yandy Díaz | batter / DH | worse | predicted_SO 2.353 |
| NYY | Cody Bellinger | batter / LF | better | predicted_H 1.92 |
| NYY | George Lombard Jr. | batter / SS | neutral | predicted_RBI 1.43 |
| NYY | Amed Rosario | batter / 3B | worse | predicted_AB 1.278 |
| NYY | Heliot Ramos | batter / RF | worse | predicted_SO -1.103 |
| NYY | Brent Headrick | pitcher / Setup Man | worse | predicted_SO -1 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYY |
| info | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TB |
| info | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (3B: current=0, sim=1; BB: current=3, sim=2; SO: current=10, sim=6). | NYY |
| info | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Paul Goldschmidt: HR current=0 box=1, SO current=2 box=1; Ben Rice: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Heliot Ramos: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Anthony Volpe: AB current=3 box=4, H current=1 box=0, BB current=1 box=0; Cody Bellinger: H current=1 box=3, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; George Lombard Jr.: 3B current=0 box=1, RBI current=0 box=2; José Caballero: H current=1 box=0, SO current=1 box=0; Amed Rosario: AB current=3 box=4, R current=0 box=1 | NYY |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 2B: current=1, sim=0; HR: current=1, sim=0; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=3, sim=2). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Liam Hicks: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Yandy Díaz: RBI current=1 box=2, SO current=1 box=3; Jonny DeLuca: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Junior Caminero: HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Ryan Vilade: AB current=3 box=2, BB current=0 box=1; Victor Mesa Jr.: H current=1 box=0, R current=1 box=0; Richie Palacios: BB current=1 box=0; Taylor Walls: R current=1 box=0, SO current=1 box=0 | TB |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Each candidate fix, and exactly which games it would help versus hurt. A lever that repairs one game and breaks two is visible here before it is proposed.
Compared against packet 20260923. Last recorded change: v4.30.0 (2026-09-08) Hitter shrinkage is derived from the between-hitter spread rather than fitted to slate error, so an established extreme profile is no longer flattened toward the league.
| Metric | Prior | Current | Δ | Result |
|---|---|---|---|---|
| brier_score | 0.2442 | 0.2454 | +0.001109 | regressed |
| accuracy | 0.5546 | 0.563 | +0.0084 | improved |
| team_run_mae | 2.5168 | 2.4832 | -0.0336 | improved |
| total_run_mae | 3.3697 | 3.3529 | -0.0168 | improved |
| calibration_error | 0.101 | 0.0535 | -0.0475 | improved |
| starter_er_mae | 1.756 | 1.7323 | -0.0237 | improved |
| starter_outs_mae | 3.572 | 3.5984 | +0.0264 | regressed |
All seven manifest entries were checked against the supplied evidence:
| Source | Status | Purpose |
|---|---|---|
prediction review — /app/output/reports/prediction_review_20260924.json | Loaded, 301,958 bytes | Official outcomes and scoring errors |
forensic deep audit — /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260924.json | Loaded, 196,012 bytes | Probability, provenance, starter, and decision contracts |
continuous learning — /app/output/learning/continuous_learning_daily_20260924.json | Loaded, 2,023,270 bytes | Stage quality, calibration, lineage, score distribution, starter comparisons |
detailed report — /app/output/reports/detailed_20260924.html | Loaded, 285,081 bytes | Full game and simulation rendering |
ultra detailed player audit — /app/output/reports/20260924_ultra_detailed_player_audit.html | Loaded, 25,971,500 bytes | Player-level prediction trace |
structural audit — /app/output/reports/audit_report_20260924.html | Loaded, 1,530,211 bytes | Invariant findings |
integrity revision audit — /app/output/reports/audit_report_20260924_integrity_revision.html | Missing | Post-Luna remediation proof for immutable revision artifacts |
The missing integrity-revision audit is a provenance gap, but it did not prevent the supplied per-game structural checks from running. It does mean immutable revision/remediation claims cannot be independently confirmed from this receipt.
All 12 games in the slate were reviewed, and the coverage matrix reports complete game-level coverage:
The 12 games were:
ARI@COL, CHW@KC, CIN@ATL, CLE@BOS, HOU@OAK, LAA@SEA, MIA@CHC, MIL@PHI, NYM@TEX, SD@LAD, STL@PIT, and TB@NYY.
enhanced_prediction, no later stage changed direction, but at least CIN@ATL is shown with an enhanced-stage score favoring CIN while the published prediction favors ATL. The probability trace also reports a published ATL probability of 0.560. This requires reconciliation in the raw trace; the supplied evidence does not fully establish whether the later winner changed, whether score and probability paths diverged, or whether the transition summary omitted a change.historical_ml has 9/12 winner hits, variance_applied 6/12, and final stages 8/12. The aggregate transition record correctly identifies a three-game regression at variance application, but it does not list all winner states for every later stage.---
The slate beat the stated walk-forward baseline and was directionally successful, but the score forecasts were weak, the probability buckets were poorly aligned, and the system had a material intermediate winner-direction regression.
The final published pick was correct in 8 of 12 games. This is useful directional performance, but it does not imply that the numerical prediction was good.
The four losses were:
CIN@ATLLAA@SEANYM@TEXSD@LADTwo losses were classified as wrong-side conviction calls, one as a run-environment miss, and one as toss-up variance:
Calibration was the most important winner-probability weakness on this slate.
The correct response is not to treat all probabilities as unusable. The evidence supports bounded confidence-cap and variance shadow experiments, not a wholesale calibration rewrite based on one slate.
Score accuracy was materially weaker than winner accuracy.
The model predicted every margin at two runs or less:
ARI@COL, 6 in CHW@KC, and 3 in MIL@PHI.The final-stage run model has near-zero holdout explanatory power. Exact scores should therefore remain low-confidence outputs. The model correctly identified several winners while badly missing the score magnitude.
Starter forecasts were mixed:
ARI@COL and CHW@KC had very large starter errors, but the winner was still correct.CIN@ATL had both starters only one earned run from projection, so the loss was not primarily a starter-model failure.LAA@SEA had both starters close enough to projection that the loss was better classified as variance or wrong-side conviction than starter error.NYM@TEX was affected by Kumar Rocker allowing 1 ER versus a projected 4 ER, but the stored primary diagnosis correctly emphasizes the lower-than-projected run environment.SD@LAD had Nick Pivetta outperforming projection and the game remained a toss-up.The cross-slate starter ERA finding remains nonpersistent, so a strong starter-weight change is not justified solely by this slate.
Artifact integrity was strong for the game artifacts:
However, the missing integrity-revision audit remains a receipt gap. It is a presentation/provenance gap, not evidence that the picks themselves were corrupted.
pipeline_winner_instability — Highhistorical_ml → variance_applied reduced winner accuracy by 0.2500, or 3 hits.CHW@KC, MIA@CHC, NYM@TEX.This was a real model/process risk. The variance stage changed three directions to ties, and the subsequent enhanced stage recovered two correctly and moved one incorrectly. The intermediate regression must remain visible even where the final result recovered.
single_slate_calibration_instability — HighThis is a real current-slate warning, but not sufficient by itself for a permanent calibration rewrite.
weak_run_model_signal — HighThis is both a current-slate and persistent cross-slate model risk.
complete_slate_audit_coverage — InfoCoverage is complete; the slate is not therefore “clean” in predictive terms.
probability_publication_delta_explained — InfoThis supports artifact lineage integrity for the five material movements.
simulation_inert_on_slate — Info on this slate, escalated persistent failure across slatesCross-slate evidence now elevates this from a single-slate observation to an established code/diagnostic issue.
---
The published probability below is the probability of the published side. A home-minus-away edge of 0.12 means a 56% home / 44% away split when the home side was favored, or 44% home / 56% away when the away side was favored. It is moderate, not near certainty and not a near coin flip.
Edges:
Starters:
Controls and score path:
Player adjustments:
Audit and causes:
context.venue_adjustment_weight, not a claim that this one start proves the adjustment is generally valid.Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
This game is also one of the three documented winner-direction regressions at historical_ml → variance_applied: CHW became a tie before recovering to CHW at enhanced prediction.
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
This is the third documented variance-stage instability game: historical evidence favored TEX, variance moved to a tie, and enhanced prediction moved to NYM—the wrong direction relative to the actual result.
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
Edges:
Starters:
Controls and path:
Player adjustments:
Audit and causes:
---
| Loss | Bad input | Bad weighting | Calibration | Starter error | Offense/bullpen | Run environment | Irreducible variance |
|---|---|---|---|---|---|---|---|
| CIN@ATL | No clear defect | Yes: ATL season/recent conviction; pipeline trace instability | Moderate-confidence overcommitment | Limited; both starters close in ER | Some player deviations | Minor; total close | Some |
| LAA@SEA | No structural defect | Yes: form/quality favored SEA | Moderate-confidence overcommitment | No material starter miss | LAA offense exceeded projection | Minor | Material |
| NYM@TEX | No structural defect | Yes: enhanced stage moved from tie toward NYM | Lean call, not extreme | Rocker materially outperformed | NYM offense underproduced | Major; actual total 4 vs projected 9 | Some |
| SD@LAD | No structural defect | No strong evidence of bad weighting | Correctly treated as toss-up | Pivetta outperformed | Both lineups underproduced | Moderate low-run environment | Major |
The ARI@COL and CHW@KC stage regressions are not losses, but they demonstrate why final winner accuracy alone is insufficient: variance application lost three winner hits overall before enhanced prediction recovered two.
A 0.12 edge is moderate. It should not be described as a near coin flip, but it also does not represent a highly reliable prediction. On this slate both 0.12-confidence calls in CIN@ATL and LAA@SEA lost.
| Stage | Winner accuracy | Winner hits | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|---|
| historical_ml | 75.0% | 9 | 2.5701 | 4.2504 | 2.2131 |
| variance_applied | 50.0% | 6 | 2.5000 | 4.1667 | 2.1667 |
| enhanced_prediction | 66.67% | 8 | 2.1667 | 3.8333 | 2.0000 |
| embedded_savant_run_environment | 66.67% | 8 | 2.2083 | 3.7500 | 2.0833 |
| fundamental_edge_target_review | 66.67% | 8 | 2.2083 | 3.7500 | 2.0833 |
| capped_target | 66.67% | 8 | 2.2083 | 3.7500 | 2.0833 |
| simulation_result | 66.67% | 8 | 2.2083 | 3.7500 | 2.0833 |
| published_final | 66.67% | 8 | 2.2083 | 3.7500 | 2.0833 |
Transitions:
historical_ml → variance_applied: winner accuracy −25 percentage points, 3 fewer hits; CHW, MIA, and NYM moved to ties.variance_applied → enhanced_prediction: winner accuracy +16.67 points, 2 recovered hits; CHW and MIA recovered, NYM moved to NYM.enhanced_prediction → embedded_savant_run_environment: no winner changes; small run-metric deterioration.A later recovery does not erase the variance-stage regression. The system must preserve both before- and after-stage winner states.
---
Lever: score.variance_multiplier / score.variance_floor
CIN@ATL: lost a 0.12-confidence pick; wider tails could reduce overconfidence.LAA@SEA: same rationale.This supports a bounded shadow experiment, not an unrestricted increase. The lever primarily changes spread and tail behavior; it should not be used as a substitute for fixing the near-zero run-model signal.
Lever: player.pitcher.v4 form weights / player.pitcher_prior_games
ARI@COL: Gordon ER error 7.HOU@OAK: Lambert ER error 3.MIL@PHI: Painter ER error 4.NYM@TEX: Rocker ER error 3.STL@PIT: Skenes ER error 3.CIN@ATL: both starter projections were reasonably accurate.LAA@SEA: both starters were close.TB@NYY: ER projections were exact.The net slate count favors some investigation, but cross-slate starter_era_error is explicitly nonpersistent: only 5 of 12 prior slates had the same sign, with z = 1.04. Therefore, do not make a direct permanent weight increase yet. Use a shadow test only if the system can isolate credible venue/form evidence.
Lever: recent.* / season.* run-mean weighting
ARI@COLCHW@KCCLE@BOSMIA@CHCNYM@TEXSTL@PITTB@NYYHOU@OAK, where team-run error was already zero.This is directionally favorable on the slate, but it must be reconciled with the persistent cross-slate finding that projected lineup runs are too high. The safer response is to lower the projected run environment or widen tails in a bounded experiment, not simply increase recent/season weight without examining feature bias.
CLE@BOS or SD@LAD as evidence that all low-confidence picks should be reversed; both were genuine toss-up outcomes.HOU@OAK to conclude the run model is healthy; it had exact team runs despite a 3-run starter error for Lambert.---
Across all supplied structural audits:
Every individual game reported structural audit PASS with zero critical, error, and warning findings.
There are no critical or error findings in the game artifacts.
The missing integrity_revision_audit is a manifest-level missing source, not a reported critical finding inside the game audits. It remains a provenance deficiency.
There are no warning findings.
The principal informational findings are:
CIN@ATL.These presentation/trace defects matter because they limit forensic reproducibility, even though they do not prove that the published forecast artifact was corrupted.
The slate is structurally covered:
“Complete coverage” means every game was audited; it does not mean every prediction was good. The coverage finding is therefore valid but cannot override the high-severity model findings.
The supplied lineage includes:
Material examples:
ARI@COL: raw 0.716, calibrated 0.661, score coherence 0.617535, published pick probability 0.56; named score-coherence and matchup-recency transformation.CHW@KC: calibrated 0.620, score coherence 0.619987, published 0.54462; named transformation.CIN@ATL: calibrated 0.5973, score coherence 0.585689, published 0.56.HOU@OAK: calibrated 0.6344, score coherence 0.634358, published 0.56.LAA@SEA: calibrated 0.6366, score coherence 0.605337, published 0.56.CLE@BOS: published probability matches the calibrated/governed value.NYM@TEX: no recency guardrail; published probability matches calibrated/governed value.SD@LAD: experience shrinkage reduced the probability before publication.The evidence records named transformations for all five material movements and marks unexplained_material_delta: false. No probability-governor bypass is established.
There is, however, a separate probability-reversion event:
CLE@BOS: blend favored home and changed the winner flag, with blended home probability 0.506608, trained home probability 0.521703, and published home probability 0.49381.This was not a final prediction failure, but it warrants continued trace visibility.
---
The evidence includes 10 prior slates and an 11-slate trend window from 2026-09-14 through 2026-09-24.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
high_raw_probability_cluster | 0 | No | Appeared in 3 slates within the window, but not consecutively present now |
pipeline_winner_instability | 1 | Yes | Current-slate issue, also incidence in 6/11 slates; not yet escalated as a persistent streak |
simulation_inert_on_slate | 11 | Yes | Established persistent failure |
single_slate_calibration_instability | 1 | Yes | Current-slate issue; incidence in 8/11, but not an 11-slate consecutive streak |
weak_run_model_signal | 11 | Yes | Established persistent failure |
simulation.allow_scoreteam_run_mae, total_run_maeThe self-assessment gives a concrete suspected root cause: the simulation distribution is built from the same draws used to find a target-realizing play-by-play path; the loop can early-exit after roughly two selected draws. That makes the derived win rate non-probabilistic and explains repeated zero flip candidates.
training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateteam_run_mae, total_run_maeThe recommended action is a code/data change, not nightly hyperparameter tuning. Candidate features named in the evidence are:
Every supplied metric trend is labeled improving, but the levels remain weak:
“Improving” does not mean solved. In particular, the current weighted calibration error is still 0.1701 and run-model \(R²\) remains near zero.
Current slate:
[1,1,1,1,2,2,2,2,2,4,4,8]ARI@COL, CHW@KC, and MIL@PHI.The recurring concern is not simply final accuracy; it is intermediate winner-direction regression. Current slate evidence directly confirms the variance-stage regression.
Current bucket behavior is mixed:
---
Recommendations are ranked by persistence and scope.
simulation.allow_scoreteam_run_mae, total_run_mae, and especially winner-direction diagnostics.CIN@ATL, NYM@TEX, and SD@LAD.This is the safest persistent-pattern action because the evidence identifies an architectural cause and explicitly says not to force a parameter move.
training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateteam_run_mae and total_run_mae.ARI@COL, CHW@KC, MIL@PHI, NYM@TEX, STL@PIT, and TB@NYY.This is a code/data action because the evidence explicitly states that no bounded nightly knob can repair near-zero signal.
score.variance_multiplier or, if the implementation uses a floor as the spread lever, score.variance_floorscore.variance_multiplier, rather than a large change.CIN@ATL and LAA@SEA, the two 0.12-confidence losses explicitly identified by the lever tension; also helps the broader compressed-margin pattern.HOU@OAK had exact team runs and could be disturbed; all correctly scored close games are potential regression cases.This is not a claim that wider variance would have changed the actual winners. It is a bounded calibration/spread experiment motivated by the 3/12 large-margin outcomes and 0/12 predicted margins above two runs.
player.pitcher.v4 form weights / player.pitcher_prior_gamesstarter_er_mae, starter_outs_mae, and indirectly total_run_mae.CIN@ATL, LAA@SEA, and TB@NYY.confidence.empirical_max_weight, confidence.base_cap, confidence.moderate_cap---
CIN@ATL, because the stored transition summary and per-game published result do not fully reconcile.Run the bounded simulation code/diagnostic repair in shadow: separate independent winner-probability draws from target-realization draws, remove the early-exit dependence, register the batch size, and compare its winner/Brier/run-metric contribution against the current control before changing model parameters.