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_20260917.json | 229581 |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260917.json | 150866 |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons | /app/output/learning/continuous_learning_daily_20260917.json | 1555702 |
| detailed report | loaded | full game and simulation rendering | /app/output/reports/detailed_20260917.html | 214325 |
| ultra detailed player audit | loaded | player-level prediction trace | /app/output/reports/20260917_ultra_detailed_player_audit.html | 20306685 |
| structural audit | loaded | all invariant findings | /app/output/reports/audit_report_20260917.html | 1143113 |
| integrity revision audit | missing | post-Luna remediation proof for immutable revision artifacts | /app/output/reports/audit_report_20260917_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 | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0027/0.0232/0.0056 | BOS@TEX, DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, MIN@LAA, OAK@TB, PHI@NYM, SD@COL | 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 9/9 games structurally audited | BOS@TEX, DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, MIN@LAA, OAK@TB, PHI@NYM, SD@COL | 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 6 material movement(s), all explained by named score-coherence and/or recency transformations | DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, OAK@TB, SD@COL | 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 | BOS@TEX, DET@CHW, KC@HOU, LAD@CIN, MIL@PIT, MIN@LAA, OAK@TB, PHI@NYM, SD@COL | 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 | 1/11 | no | param |
| pipeline_winner_instability | 0 | 2/11 | no | code/diagnostic |
| score_margin_compression | 0 | 1/11 | no | param |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 0 | 7/11 | no | param |
| weak_run_model_signal | 11 | 11/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | regressing | [0.5455, 0.7333, 0.6667, 0.6, 0.6667, 0.5333, 0.6, 0.7, 0.4, 0.6667, 0.4444] |
| weighted_calibration_error | improving | [0.2611, 0.1825, 0.1069, 0.1171, 0.2091, 0.1711, 0.0827, 0.2812, 0.2795, 0.1661, 0.1016] |
| margin_bias | regressing | [-0.182, -0.867, -2.133, -1.0, -2.933, -2.667, -1.8, -0.4, -1.667, -1.133, -2.111] |
| team_run_error_on_losses | improving | [3.8, 6.75, 5.6, 6.5, 5.0, 6.143, 5.0, 6.333, 5.556, 6.4, 3.6] |
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 | 4/9 | 44.4% | 2.086 | 2.174 | 3.582 |
| variance_applied | 4/9 | 44.4% | 2.056 | 2.111 | 3.667 |
| enhanced_prediction | 4/9 | 44.4% | 1.889 | 2 | 3.556 |
| embedded_savant_run_environment | 4/9 | 44.4% | 1.944 | 2.111 | 3.444 |
| fundamental_edge_target_review | 4/9 | 44.4% | 1.944 | 2.111 | 3.444 |
| capped_target | 4/9 | 44.4% | 1.944 | 2.111 | 3.444 |
| simulation_result | 4/9 | 44.4% | 1.944 | 2.111 | 3.444 |
| published_final | 4/9 | 44.4% | 1.944 | 2.111 | 3.444 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | 0 | 0 | -0.0307 | 0.0843 | BOS@TEX: TEX → TIE |
| variance_applied → enhanced_prediction | 0 | 0 | -0.1667 | -0.1111 | BOS@TEX: TIE → TEX |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | 0.0555 | -0.1112 | |
| 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 |
|---|---|---|---|---|---|---|---|
| BOS@TEX | miss | 0.5782 | 0.5633 | 0.5633 | 0.5633 | 0.5538 | no recorded transformation explains the publication delta |
| DET@CHW | miss | 0.5527 | 0.5837 | 0.5837 | 0.5807 | 0.53 | score coherence followed by matchup-recency guardrail |
| KC@HOU | hit | 0.6073 | 0.5606 | 0.5606 | 0.5606 | 0.5295 | score coherence followed by matchup-recency guardrail |
| LAD@CIN | hit | 0.6566 | 0.7106 | 0.7106 | 0.7106 | 0.56 | score coherence followed by matchup-recency guardrail |
| MIL@PIT | miss | 0.6087 | 0.6562 | 0.6562 | 0.6543 | 0.56 | score coherence followed by matchup-recency guardrail |
| MIN@LAA | miss | 0.5399 | 0.5228 | 0.5228 | 0.5228 | 0.5165 | score coherence followed by matchup-recency guardrail |
| OAK@TB | hit | 0.6499 | 0.6502 | 0.6502 | 0.6502 | 0.58 | score coherence followed by matchup-recency guardrail |
| PHI@NYM | miss | 0.562 | 0.5612 | 0.5612 | 0.5612 | 0.5442 | score coherence followed by matchup-recency guardrail |
| SD@COL | hit | 0.7208 | 0.6972 | 0.6972 | 0.6972 | 0.54 | 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 |
|---|---|---|---|---|---|---|
| 18 | 2 | 3 | 3 | 10 | 2.16 | -0.22 |
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.
On all 9 games with an applied blend, the blend's side and the published side agree.
Blend side survived on 9 of 9 games; the blend flagged a winner change on 0.
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.09 over 12 slates (sign shared by 0.42 of them, z = 0.17).
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.09 +/- 0.51 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.18 over 12 slates (sign shared by 0.67 of them, z = -0.92).
lineups scored below projection: the run environment is set too high.
Hold: no change: this bias is not separable from slate-to-slate noise yet
8 of 12 slates share the sign, mean -0.18 +/- 0.19 standard error: not separable from noise
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 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 |
| 20260911 | 15 | 0.667 | 0.99 | 0.00 | 4 | 9 |
| 20260910 | 5 | 0.600 | -3.19 | -1.70 | 8 | |
| 20260909 | 15 | 0.667 | 3.36 | 1.07 | 8 | 7 |
| 20260908 | 15 | 0.733 | -0.15 | -0.23 | 7 | 15 |
| 20260907 | 11 | 0.545 | -0.86 | -0.36 | 5 | 4 |
| 20260906 | 15 | 0.600 | 0.74 | -0.30 | 6 | 10 |
| 20260905 | 15 | 0.533 | -1.17 | -0.07 | 2 | 6 |
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 |
|---|---|---|---|
| BOS@TEX | 1 | 1 | 0 |
| DET@CHW | 1 | 2 | -1 |
| KC@HOU | 1 | 4 | -3 |
| LAD@CIN | 4 | 6 | -2 |
| MIL@PIT | 2 | 3 | -1 |
| MIN@LAA | 1 | 1 | 0 |
| OAK@TB | 3 | 9 | -6 |
| PHI@NYM | 1 | 3 | -2 |
| SD@COL | 3 | 7 | -4 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BOS | Sonny Gray | 2 ER / 18 outs | 3 ER / 19 outs | 1 |
| TEX | Tyler Alexander | 1 ER / 15 outs | 0 ER / 3 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
Sonny Gray (BOS) threw 19 outs, 3 ER = 4.26 ERA against a projected 3 ERA (1.26 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 3 runs on 4 hits and 1 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
Tyler Alexander (TEX) threw 3 outs, 0 ER = 0 ERA against a projected 1.8 ERA (-1.8 ERA error)
Bullpen behind him: 2 ER over 3 outs.
The AWAY lineup he faced produced 2 runs on 5 hits and 1 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
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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | Sonny Gray (Starter) | 19 / 18 | 4.26 / 3 | 3 / 2 | 3 / 6 | 1 / 0 | 3 / 1 | 1.73 | 6 / 5 | 6.05 | venue away: 2.62 vs 2.91 ERA (ok) · opp run factor 0.94 (average) · 27 prior appearances this season |
| BOS | Garrett Whitlock (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 2 | 0 / 0 | 1 / 2 | 0.11 | 0 / 0 | 1.37 | |
| TEX | Tyler Alexander (Starter) | 3 / 15 | 0 / 1.8 | 0 / 1 | 0 / 3 | 0 / 1 | 1 / 0 | 0.85 | 0 / 1 | 4.43 | venue home: 4.5 vs 0 ERA (ok) · opp run factor 1 (average) · 68 prior appearances this season |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 2 / 6 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.61 | 2 / 1 | 1.29 | |
| TEX | Jakob Junis (Setup Man) | 1 / 6 | 54 / 9 (+45.00) | 2 / 2 | 0 / 1 | 0 / 1 | 1 / 2 | 0.25 | 0 / 1 | 0.66 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Trevor Story (SS) | BOS | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 1.4 | 0.248 weak | good day |
| Willson Contreras (1B) | BOS | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.377 elite | bad day |
| Corey Seager (SS) | TEX | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.352 elite | bad day |
| Nick Sogard (2B) | BOS | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.318 average | no signal |
| Josh Jung (DH) | TEX | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.62 | 0.347 elite | projection too low |
| Roman Anthony (LF) | BOS | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | -0.47 | 0.348 elite | — |
| Jarren Duran (CF) | BOS | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.297 below average | — |
| Ezequiel Duran (3B) | TEX | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.306 average | — |
| Brandon Nimmo (RF) | TEX | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.345 elite | — |
| Danny Jansen (C) | TEX | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.262 weak | — |
| Jahmai Jones (DH) | BOS | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.327 above average | — |
| Caleb Durbin (3B) | BOS | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | -0.14 | 0.293 below average | — |
| Wyatt Langford (LF) | TEX | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 / 1 | -0.14 | 0.316 average | — |
| Jake Burger (1B) | TEX | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.315 average | — |
| Nicky Lopez (2B) | TEX | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | -0.14 | 0.257 weak | — |
| Wilyer Abreu (RF) | BOS | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 0.02 | 0.351 elite | — |
| Adley Rutschman (C) | BOS | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.331 above average | — |
| Evan Carter (CF) | TEX | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.279 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.484 | positive favors home; negative favors away |
| Recent form | 0.262 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.061 | positive favors home; negative favors away |
| Composite | -0.154 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.91-4.29 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-4 | 0.554 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 3-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.91-4.29 | 4-4 | -0.38 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 3-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 3-4 | 3-4 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | 3-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | 3-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-4 | 3-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 |
|---|---|---|---|---|
| BOS | Sonny Gray | pitcher / Starter | better | predicted_SO 2 |
| TEX | Danny Jansen | batter / C | worse | predicted_RBI 1.67 |
| TEX | Jake Burger | batter / 1B | better | predicted_RBI 1.45 |
| BOS | Caleb Durbin | batter / 3B | worse | predicted_AB -1.377 |
| BOS | Trevor Story | batter / SS | worse | predicted_SO -1.339 |
| TEX | Corey Seager | batter / SS | worse | predicted_AB -1.27 |
| BOS | Roman Anthony | batter / LF | better | predicted_SO -1.217 |
| BOS | Jarren Duran | batter / CF | worse | predicted_SO -1.143 |
| 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 | 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 | BOS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=4; 2B: current=2, sim=0; HR: current=1, sim=3; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2; SO: current=8, sim=3). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Trevor Story: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Jarren Duran: H current=1 box=0, SO current=1 box=0; Jahmai Jones: H current=0 box=1, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Wilyer Abreu: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Caleb Durbin: AB current=3 box=2, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Willson Contreras: BB current=1 box=0 | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model pitcher projections differ from final simulation pitching box score (HR: current=2, sim=3). | TEX |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (2B: current=1, sim=5; HR: current=1, sim=0; BB: current=2, sim=3; SO: current=8, sim=5). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Josh Jung: R current=1 box=0, SO current=1 box=0; Ezequiel Duran: 2B current=0 box=1, RBI current=1 box=0; Wyatt Langford: H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Corey Seager: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Burger: 2B current=0 box=1, RBI current=1 box=2, BB current=0 box=1, SO current=1 box=0; Brandon Nimmo: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Nicky Lopez: H current=1 box=0, BB current=0 box=1; Danny Jansen: AB current=3 box=4, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2 | TEX |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| DET | Framber Valdez | 3 ER / 18 outs | 3 ER / 15 outs | 0 |
| CHW | Erick Fedde | 5 ER / 14 outs | 1 ER / 14 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:
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
Framber Valdez (DET) threw 15 outs, 3 ER = 5.4 ERA against a projected 4.5 ERA (0.9 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 3 hits and 0 HR, against a projected 2 runs / 5 hits (0 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
No settled pitching line for this club. The forecast named Erick Fedde (CHW) at a projected 9.64 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 AWAY lineup he faced produced 1 runs on 8 hits and 0 HR, against a projected 6 runs / 8 hits (-5 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DET | Framber Valdez (Starter) | 15 / 18 | 5.4 / 4.5 | 3 / 3 | 3 / 5 | 1 / 0 | 4 / 5 | 2.22 | 8 / 8 | 3.39 | venue away: 4.02 vs 4 ERA (ok) · opp run factor 1.06 (average) · 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Riley Greene (LF) | DET | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.64 | 0.372 elite | bad day |
| Dillon Dingler (C) | DET | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.62 | 0.338 above average | bad day |
| Kevin McGonigle (3B) | DET | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | 0.47 | 0.357 elite | — |
| Zach McKinstry (RF) | DET | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.285 below average | — |
| Spencer Torkelson (1B) | DET | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0.47 | 0.312 average | — |
| Javier Báez (2B) | DET | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.255 weak | — |
| Brenton Doyle (CF) | CHW | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.236 weak | — |
| Miguel Vargas (3B) | CHW | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.379 elite | — |
| Randal Grichuk (LF) | CHW | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 0 / 1 | -0.45 | 0.336 above average | — |
| Jake Rogers (C) | CHW | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 0.33 | 0.269 weak | — |
| Chase Meidroth (2B) | CHW | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.297 below average | — |
| Tommy Pham (DH) | CHW | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | -0.14 | 0.21 weak | — |
| Gleyber Torres (DH) | DET | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.325 above average | — |
| Max Clark (CF) | DET | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.311 average | — |
| John Peck (SS) | DET | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.332 above average | — |
| Luisangel Acuña (SS) | CHW | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.265 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.442 | positive favors home; negative favors away |
| Recent form | -0.77 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.084 | positive favors home; negative favors away |
| Composite | -0.431 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.54-4.38 | 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.53 | 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.54-4.38 | 5-4 | 0.844 | 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 |
|---|---|---|---|---|
| DET | Javier Báez | batter / 2B | better | predicted_RBI 3.66 |
| DET | Framber Valdez | pitcher / Starter | better | predicted_SO 3 |
| CHW | Randal Grichuk | batter / LF | worse | predicted_AB 2.5 |
| CHW | Chase Meidroth | batter / 2B | worse | predicted_SO 2.069 |
| CHW | Miguel Vargas | batter / 3B | worse | predicted_H 1.89 |
| DET | Max Clark | batter / CF | worse | predicted_AB -1.73 |
| CHW | Munetaka Murakami | batter / 1B | worse | predicted_AB -1.578 |
| CHW | Tommy Pham | batter / DH | better | predicted_AB 1.5 |
| 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 | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=7, sim=8; 2B: current=1, sim=0; HR: current=1, sim=0; BB: current=4, sim=5; SO: current=8, sim=12; SF: current=0, sim=2). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Pham: AB current=3 box=4, R current=0 box=1, BB current=0 box=1, SO current=1 box=2; Munetaka Murakami: AB current=4 box=2, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randal Grichuk: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Brenton Doyle: RBI current=0 box=1, R current=0 box=1, SF current=0 box=1; Jake Rogers: BB current=0 box=1, SO current=1 box=2; Braden Montgomery: AB current=3 box=4, RBI current=0 box=1, BB current=1 box=0; Chase Meidroth: H current=1 box=0, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=3; Miguel Vargas: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, R current=1 box=0 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=8, sim=5; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=6, sim=5; BB: current=4, sim=3; SO: current=7, sim=6). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Gleyber Torres: AB current=4 box=3, H current=1 box=0; Kevin McGonigle: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Zach McKinstry: AB current=3 box=4, R current=0 box=1; Riley Greene: RBI current=1 box=0, BB current=1 box=0; Spencer Torkelson: AB current=3 box=4, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Javier Báez: AB current=3 box=2, H current=1 box=2, HR current=0 box=2, RBI current=0 box=4; Dillon Dingler: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Max Clark: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=0 | DET |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| KC | Seth Lugo | 1 ER / 15 outs | 4 ER / 15 outs | 3 |
| HOU | Miguel Ullola | 4 ER / 9 outs | 1 ER / 2 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: Seth Lugo (KC) posted 7.20 ERA vs projected 1.80 (4 ER in 15 outs); he is materially worse pitching away (6.03 ERA there vs 4.09 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
Seth Lugo (KC) threw 15 outs, 4 ER = 7.2 ERA against a projected 1.8 ERA (5.4 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 6 runs on 11 hits and 5 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Miguel Ullola (HOU) threw 2 outs, 1 ER = 13.5 ERA against a projected 12 ERA (1.5 ERA error) only 6 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 4 outs.
The AWAY lineup he faced produced 2 runs on 3 hits and 0 HR, against a projected 4 runs / 7 hits (-2 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | Seth Lugo (Starter) | 15 / 15 | 7.2 / 1.8 (+5.40) | 4 / 1 | 8 / 5 | 4 / 0 | 1 / 1 | 1.41 | 5 / 5 | 3.56 | venue away: 6.03 vs 4.09 ERA (worse here) · opp run factor 1 (average) · 30 prior appearances this season |
| HOU | Miguel Ullola (Starter) | 2 / 9 | 13.5 / 12 | 1 / 4 | 0 / 5 | 0 / 2 | 2 / 1 | 0 | 0 / 5 | 0 | opp run factor 0.99 (weak) · 6 prior appearances this season |
| HOU | Bryan Abreu (Setup Man) | 1 / 6 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.53 | 1 / 1 | 1.34 | |
| HOU | Josh Hader (Closer) | 3 / 6 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.2 | 0 / 0 | 1.22 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LaMonte Wade Jr. (1B) | HOU | 4 / 3 | 2 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 1.85 | 0.272 weak | good day |
| Taylor Trammell (LF) | HOU | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 1.26 | 0.289 below average | good day |
| Jeremy Peña (SS) | HOU | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 1.09 | 0.327 above average | projection too low |
| Daulton Varsho (CF) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.93 | 0.285 below average | good day |
| Jac Caglianone (DH) | KC | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.78 | 0.353 elite | bad day |
| Michael Massey (2B) | KC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.309 average | — |
| Salvador Perez (1B) | KC | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.31 average | — |
| Bobby Witt Jr. (SS) | KC | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.379 elite | — |
| Maikel Garcia (3B) | KC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.317 average | — |
| Cam Smith (RF) | HOU | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.319 average | — |
| Carter Jensen (C) | KC | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | -0.46 | 0.314 average | — |
| Isaac Collins (LF) | KC | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.298 below average | — |
| John Rave (RF) | KC | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.318 average | — |
| Jose Altuve (2B) | HOU | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.271 weak | — |
| Yordan Alvarez (DH) | HOU | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.443 elite | — |
| Kyle Isbel (CF) | KC | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.26 weak | — |
| Isaac Paredes (3B) | HOU | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 0 | 0.319 average | — |
| Yainer Diaz (C) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.304 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.118 | positive favors home; negative favors away |
| Recent form | -0.234 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.011 | positive favors home; negative favors away |
| Composite | 0.211 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.5-5.67 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.53 | 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.5-5.67 | 4-6 | -0.168 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 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 |
|---|---|---|---|---|
| HOU | Cam Smith | batter / RF | better | predicted_RBI 4.67 |
| KC | Bobby Witt Jr. | batter / SS | worse | predicted_AB -1.59 |
| HOU | Yordan Alvarez | batter / DH | worse | predicted_SO 1.231 |
| KC | Maikel Garcia | batter / 3B | worse | predicted_H -1.19 |
| HOU | Jose Altuve | batter / 2B | worse | predicted_SO 1.161 |
| KC | John Rave | batter / RF | worse | predicted_AB 1.077 |
| KC | Michael Massey | batter / 2B | worse | predicted_AB -1.06 |
| HOU | Miguel Ullola | pitcher / Starter | worse | predicted_IP -1 |
| 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 | 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 | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=10; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SO: current=7, sim=9). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jose Altuve: H current=1 box=2, SO current=1 box=2; Isaac Paredes: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Jeremy Peña: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, SO current=1 box=2; Yainer Diaz: RBI current=1 box=0, R current=0 box=1, SO current=0 box=1; LaMonte Wade Jr.: BB current=1 box=0, HBP current=0 box=1; Taylor Trammell: R current=0 box=1, BB current=0 box=1; Cam Smith: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, HR current=0 box=1 | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=5; HR: current=1, sim=2; BB: current=3, sim=2; SO: current=9, sim=6). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Jac Caglianone: 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Michael Massey: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Salvador Perez: R current=0 box=1; Bobby Witt Jr.: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=1; Maikel Garcia: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; John Rave: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=0; Carter Jensen: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0; Kyle Isbel: SO current=1 box=0 | KC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAD | Justin Wrobleski | 3 ER / 15 outs | 0 ER / 9 outs | -3 |
| CIN | Brady Singer | 4 ER / 14 outs | 7 ER / 10 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: Brady Singer (CIN) posted 18.90 ERA vs projected 7.71 (7 ER in 10 outs); he faced a strong offense (opponent run factor 1.06, bucket strong).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
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
Justin Wrobleski (LAD) threw 9 outs, 0 ER = 0 ERA against a projected 5.4 ERA (-5.4 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 1 HR, against a projected 3 runs / 7 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Brady Singer (CIN) threw 10 outs, 7 ER = 18.9 ERA against a projected 7.71 ERA (11.19 ERA error)
Bullpen behind him: 0 ER over 8 outs.
The AWAY lineup he faced produced 8 runs on 11 hits and 2 HR, against a projected 4 runs / 7 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Justin Wrobleski (Starter) | 9 / 15 | 0 / 5.4 (-5.40) | 0 / 3 | 0 / 6 | 0 / 0 | 0 / 1 | 1.65 | 3 / 4 | 5.27 | venue away: 3.86 vs 3.43 ERA (ok) · opp run factor 1 (weak) · 24 prior appearances this season |
| CIN | Brady Singer (Starter) | 10 / 14 | 18.9 / 7.71 (+11.19) | 7 / 4 | 9 / 7 | 1 / 0 | 4 / 4 | 2.7 | 0 / 8 | 4.46 | venue home: 4.5 vs 6.37 ERA (ok) · opp run factor 1.06 (strong) · 29 prior appearances this season |
| CIN | Luis Mey (Setup Man) | 5 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.72 | 2 / 1 | 1.59 | |
| CIN | Tony Santillan (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0.82 | 0 / 0 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kyle Tucker (RF) | LAD | 5 / 4 | 4 / 1 | 2 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 2.63 | 0.33 above average | projection too low |
| Miguel Rojas (SS) | LAD | 5 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1.87 | 0.304 average | no signal |
| Elly De La Cruz (DH) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.73 | 0.378 elite | bad day |
| Sal Stewart (1B) | CIN | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 0 / 0 | 1 / 1 | 1.4 | 0.346 elite | projection too low |
| Dane Myers (CF) | CIN | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -1.11 | 0.313 average | no signal |
| TJ Friedl (LF) | CIN | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.94 | 0.249 weak | good day |
| Héctor Rodríguez (RF) | CIN | 3 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.62 | 0.259 weak | good day |
| Max Muncy (3B) | LAD | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.48 | 0.345 elite | — |
| Tommy Edman (CF) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.306 average | — |
| Juan Brito (2B) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.292 below average | — |
| Matt McLain (SS) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.302 below average | — |
| Teoscar Hernández (LF) | LAD | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.335 above average | — |
| Tyler Stephenson (C) | CIN | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.33 above average | — |
| Hunter Feduccia (C) | LAD | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 0.19 | 0.319 average | — |
| Freddie Freeman (1B) | LAD | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 0.16 | 0.365 elite | — |
| Alex Freeland (2B) | LAD | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.294 below average | — |
| Ke'Bryan Hayes (3B) | CIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.295 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.929 | positive favors home; negative favors away |
| Recent form | -1.414 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.059 | positive favors home; negative favors away |
| Composite | -2.264 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.84-4.01 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 8-5 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 9-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 9-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 9-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 9-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.84-4.01 | 5-4 | 0.171 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 8-5 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-5 | 9-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 9-5 | 9-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 9-5 | 9-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 9-5 | 9-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 | Kyle Tucker | batter / RF | better | predicted_RBI 5.46 |
| LAD | Josue De Paula | batter / DH | boosted | predicted_H 2.6 |
| LAD | Tommy Edman | batter / CF | worse | predicted_AB 2.394 |
| CIN | Dane Myers | batter / CF | better | predicted_H 1.97 |
| CIN | Elly De La Cruz | batter / DH | worse | predicted_H 1.862 |
| LAD | Alex Freeland | batter / 2B | worse | predicted_BB 1.675 |
| LAD | Miguel Rojas | batter / SS | better | predicted_AB 1.5 |
| LAD | Hunter Feduccia | batter / C | worse | predicted_AB 1.462 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=34, sim=38; H: current=7, sim=11; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=1; HBP: current=0, sim=1). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Elly De La Cruz: AB current=4 box=5, H current=1 box=3, HR current=1 box=0, RBI current=1 box=0; Juan Brito: R current=0 box=1; Matt McLain: RBI current=0 box=1, SO current=1 box=0; Héctor Rodríguez: RBI current=0 box=1, R current=0 box=1; Ke'Bryan Hayes: AB current=3 box=4, SO current=1 box=2; TJ Friedl: AB current=3 box=4, H current=0 box=1, SO current=1 box=0; Sal Stewart: 2B current=0 box=1, BB current=0 box=1, SO current=1 box=2; Tyler Stephenson: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=8, sim=11; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=9; R: current=4, sim=9; BB: current=4, sim=8; SO: current=7, sim=9). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Edman: AB current=4 box=6; Max Muncy: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Josue De Paula: AB current=3 box=5, H current=1 box=3, R current=0 box=1, BB current=1 box=0; Kyle Tucker: H current=1 box=2, 3B current=0 box=1, HR current=0 box=1, RBI current=1 box=6; Freddie Freeman: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1, R current=0 box=1; Miguel Rojas: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Teoscar Hernández: BB current=0 box=1, SO current=1 box=2; Hunter Feduccia: AB current=3 box=4, H current=1 box=0, R current=0 box=1, BB current=0 box=1 | LAD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIL | Kyle Harrison | 3 ER / 15 outs | 4 ER / 5 outs | 1 |
| PIT | Wilber Dotel | 1 ER / 15 outs | 1 ER / 6 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: Kyle Harrison (MIL) posted 21.60 ERA vs projected 5.40 (4 ER in 5 outs); he is materially worse pitching away (6.21 ERA there vs 1.26 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
Kyle Harrison (MIL) threw 5 outs, 4 ER = 21.6 ERA against a projected 5.4 ERA (16.2 ERA error)
Bullpen behind him: 2 ER over 3 outs.
The HOME lineup he faced produced 7 runs on 7 hits and 1 HR, against a projected 5 runs / 9 hits (2 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
Wilber Dotel (PIT) threw 6 outs, 1 ER = 4.5 ERA against a projected 1.8 ERA (2.7 ERA error)
Bullpen behind him: 2 ER over 8 outs.
The AWAY lineup he faced produced 3 runs on 7 hits and 1 HR, against a projected 4 runs / 8 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | Kyle Harrison (Starter) | 5 / 15 | 21.6 / 5.4 (+16.20) | 4 / 3 | 4 / 4 | 0 / 1 | 2 / 4 | 2.1 | 2 / 5 | 4.93 | venue away: 6.21 vs 1.26 ERA (worse here) · opp run factor 0.95 (average) · 24 prior appearances this season |
| MIL | Aaron Ashby (Middle Reliever (High Leverage)) | 3 / 3 | 18 / 9 (+9.00) | 2 / 1 | 2 / 1 | 1 / 0 | 1 / 0 | 0.48 | 0 / 0 | 1.12 | |
| PIT | Wilber Dotel (Starter) | 6 / 15 | 4.5 / 1.8 | 1 / 1 | 3 / 4 | 0 / 0 | 1 / 3 | 0 | 2 / 6 | 2.44 | opp run factor 1.01 (strong) · 19 prior appearances this season |
| PIT | Gregory Soto (Middle Reliever (High Leverage)) | 2 / 3 | 0 / 36 (-36.00) | 0 / 4 | 1 / 5 | 0 / 1 | 0 / 0 | 0.59 | 0 / 1 | 1.32 | |
| PIT | Luke Weaver (Setup Man) | 2 / 3 | 27 / 0 (+27.00) | 2 / 0 | 3 / 0 | 1 / 0 | 0 / 2 | 0.28 | 0 / 1 | 1.06 | |
| PIT | Mason Montgomery (Closer) | 4 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | 0.34 | 2 / 3 | 1.46 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bo Naylor (C) | MIL | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1.73 | 0.296 below average | good day |
| Jackson Chourio (LF) | MIL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -1.4 | 0.339 elite | bad day |
| Rafael Flores Jr. (1B) | PIT | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -1.4 | 0.344 elite | bad day |
| Henry Davis (C) | PIT | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 1.26 | 0.285 below average | good day |
| Luis Lara (CF) | MIL | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.78 | 0.3 below average | projection too high |
| Brandon Lowe (2B) | PIT | 2 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | 0.64 | 0.323 above average | projection too low |
| Sal Frelick (RF) | MIL | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.281 weak | — |
| Nick Gonzales (DH) | PIT | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.327 above average | — |
| Gary Sánchez (DH) | MIL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.341 elite | — |
| Joey Ortiz (SS) | MIL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.3 below average | — |
| Konnor Griffin (SS) | PIT | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.3 below average | — |
| Ronny Simon (RF) | PIT | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.317 average | — |
| Oneil Cruz (CF) | PIT | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 2 / 2 | -0.33 | 0.355 elite | — |
| Bryan Reynolds (LF) | PIT | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.355 elite | — |
| Brice Turang (2B) | MIL | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.31 | 0.347 elite | — |
| Andrew Vaughn (1B) | MIL | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.334 above average | — |
| David Hamilton (3B) | MIL | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.272 weak | — |
| Jared Triolo (3B) | PIT | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.287 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.17 | positive favors home; negative favors away |
| Recent form | -1.138 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.061 | positive favors home; negative favors away |
| Composite | -1.423 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.14-4.2 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.14-4.2 | 5-4 | 0.061 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 6-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | 6-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | 6-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | 6-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-4 | 6-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 |
|---|---|---|---|---|
| PIT | Brandon Lowe | batter / 2B | better | predicted_H 2.69 |
| MIL | Joey Ortiz | batter / SS | better | predicted_AB 1.85 |
| MIL | Sal Frelick | batter / RF | better | predicted_RBI 1.82 |
| MIL | Brice Turang | batter / 2B | better | predicted_AB -1.82 |
| MIL | Bo Naylor | batter / C | worse | predicted_RBI 1.75 |
| PIT | Oneil Cruz | batter / CF | better | predicted_SO -1.5 |
| MIL | Jackson Chourio | batter / LF | worse | predicted_H -1.36 |
| PIT | Jared Triolo | batter / 3B | worse | predicted_SO 1.359 |
| 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 | 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_FINALIZED_MATCH_BOX | MIL model pitcher projections differ from final simulation pitching box score (H: current=9, sim=10; HR: current=1, sim=2). | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=10; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; BB: current=4, sim=6; SO: current=8, sim=11). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Luis Lara: AB current=4 box=5, H current=1 box=2, BB current=1 box=0, SO current=1 box=2; Gary Sánchez: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, SO current=1 box=2; Joey Ortiz: AB current=4 box=5, H current=1 box=2, R current=0 box=1, SO current=1 box=2; Sal Frelick: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SF current=0 box=1; Andrew Vaughn: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Brice Turang: AB current=4 box=3, H current=1 box=2, BB current=1 box=2; Jackson Chourio: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Bo Naylor: H current=0 box=1, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=34, sim=37; H: current=9, sim=10; 2B: current=2, sim=0; HR: current=1, sim=2; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=3, sim=5; SO: current=10, sim=9). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Rafael Flores Jr.: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Konnor Griffin: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nick Gonzales: BB current=0 box=1; Ronny Simon: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Jared Triolo: BB current=0 box=1, SO current=1 box=2; Oneil Cruz: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, BB current=1 box=0; Bryan Reynolds: 2B current=1 box=0, RBI current=1 box=0; Brandon Lowe: AB current=4 box=5, H current=1 box=4, HR current=0 box=1, RBI current=1 box=2 | PIT |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIN | Taj Bradley | 3 ER / 18 outs | 3 ER / 21 outs | 0 |
| LAA | Walbert Ureña | 1 ER / 17 outs | 0 ER / 21 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
Taj Bradley (MIN) threw 21 outs, 3 ER = 3.86 ERA against a projected 4.5 ERA (-0.64 ERA error)
Bullpen behind him: 1 ER over 4 outs.
The HOME lineup he faced produced 5 runs on 8 hits and 0 HR, against a projected 4 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Walbert Ureña (LAA) threw 21 outs, 0 ER = 0 ERA against a projected 1.59 ERA (-1.59 ERA error)
Bullpen behind him: 2 ER over 5 outs.
The AWAY lineup he faced produced 4 runs on 10 hits and 1 HR, against a projected 4 runs / 7 hits (0 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | Taj Bradley (Starter) | 21 / 18 | 3.86 / 4.5 | 3 / 3 | 5 / 5 | 0 / 1 | 1 / 1 | 2.46 | 9 / 6 | 7.21 | venue away: 4.52 vs 3.05 ERA (worse here) · opp run factor 0.92 (weak) · 29 prior appearances this season |
| MIN | A.J. Minter (Middle Reliever (High Leverage)) | 2 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.22 | 2 / 1 | 1.01 | |
| MIN | Jeff Hoffman (Setup Man) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.35 | 1 / 0 | 1.52 | |
| MIN | Yoendrys Gómez (Closer) | 1 / 3 | 27 / 0 (+27.00) | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.57 | 0 / 2 | 1.04 | |
| LAA | Walbert Ureña (Starter) | 21 / 17 | 0 / 1.59 | 0 / 1 | 4 / 3 | 0 / 0 | 0 / 2 | 2.07 | 9 / 5 | 6.32 | venue home: 2.42 vs 3.59 ERA (ok) · opp run factor 0.96 (average) · 27 prior appearances this season |
| LAA | Ben Joyce (Closer) | 3 / 3 | 18 / 18 | 2 / 2 | 2 / 4 | 1 / 0 | 0 / 0 | 0.66 | 3 / 1 | 1.17 | |
| LAA | Tayler Saucedo (Middle Reliever (High Leverage)) | 2 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 0.14 | 1 / 0 | 0.85 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Walker Jenkins (CF) | MIN | 4 / 3 | 3 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 1 | 1 / 1 | 2.01 | 0.244 weak | good day |
| Zach Neto (SS) | LAA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 3 / 2 | -1.4 | 0.311 average | no signal |
| Oswald Peraza (2B) | LAA | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.274 weak | good day |
| Ben Ross (SS) | MIN | 4 / 2 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0.78 | 0.16 weak | good day |
| Josh Bell (DH) | MIN | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.333 above average | bad day |
| Kody Clemens (2B) | MIN | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.6 | 0.336 above average | bad day |
| Emmanuel Rodriguez (LF) | MIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.48 elite | — |
| Brooks Lee (3B) | MIN | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.275 weak | — |
| Royce Lewis (1B) | MIN | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 4 / 1 | -0.47 | 0.311 average | — |
| Jose Siri (CF) | LAA | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 3 / 2 | -0.47 | 0.305 average | — |
| Luke Keaschall (RF) | MIN | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 0 | -0.33 | 0.319 average | — |
| Josh Lowe (RF) | LAA | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.31 | 0.288 below average | — |
| Wade Meckler (LF) | LAA | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | -0.17 | 0.313 average | — |
| Victor Caratini (C) | MIN | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.315 average | — |
| Mike Trout (DH) | LAA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 | 0.378 elite | — |
| Moisés Ballesteros (1B) | LAA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.3 below average | — |
| Denzer Guzman (3B) | LAA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.264 weak | — |
| Tyler Heineman (C) | LAA | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.24 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.079 | positive favors home; negative favors away |
| Recent form | 0.407 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.034 | positive favors home; negative favors away |
| Composite | -0.11 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.52-3.89 | 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.516 | 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-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.52-3.89 | 5-4 | 0.369 | 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 projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-3 | 4-3 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | 4-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | 4-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-3 | 4-3 | -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 |
|---|---|---|---|---|
| MIN | Kody Clemens | batter / 2B | worse | predicted_AB -2.58 |
| LAA | Jose Siri | batter / CF | better | predicted_H 2.425 |
| LAA | Tyler Heineman | batter / C | worse | predicted_SO 1.565 |
| MIN | Luke Keaschall | batter / RF | better | predicted_AB 1.521 |
| MIN | Ben Ross | batter / SS | worse | predicted_AB 1.5 |
| LAA | Mike Trout | batter / DH | worse | predicted_SO -1.165 |
| MIN | Royce Lewis | batter / 1B | worse | predicted_H 1.14 |
| LAA | Josh Lowe | batter / RF | worse | predicted_SO 1.061 |
| 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 | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIN |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=7, sim=6; R: current=4, sim=3; BB: current=3, sim=1; SO: current=11, sim=9; HBP: current=0, sim=2). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Wade Meckler: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Josh Lowe: H current=1 box=0, SO current=1 box=2, HBP current=0 box=1; Moisés Ballesteros: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Jose Siri: AB current=3 box=4, H current=1 box=3, HR current=0 box=1, RBI current=1 box=2; Denzer Guzman: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Tyler Heineman: AB current=3 box=4, SO current=1 box=2; Zach Neto: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0, SO current=2 box=1 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model pitcher projections differ from final simulation pitching box score (H: current=5, sim=6). | MIN |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; BB: current=3, sim=2; SO: current=8, sim=6). | MIN |
| info | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Emmanuel Rodriguez: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Kody Clemens: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Brooks Lee: 2B current=0 box=1, SO current=1 box=0; Josh Bell: 2B current=1 box=0, BB current=1 box=0, SO current=1 box=0; Royce Lewis: H current=1 box=2, SO current=1 box=0; Victor Caratini: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Walker Jenkins: AB current=3 box=4, BB current=1 box=0, SO current=1 box=2 | MIN |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| OAK | Jeffrey Springs | 4 ER / 14 outs | 6 ER / 10 outs | 2 |
| TB | Drew Rasmussen | 2 ER / 18 outs | 0 ER / 15 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: Jeffrey Springs (OAK) posted 16.20 ERA vs projected 7.71 (6 ER in 10 outs); he faced a strong offense (opponent run factor 1.08, bucket average).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
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
Jeffrey Springs (OAK) threw 10 outs, 6 ER = 16.2 ERA against a projected 7.71 ERA (8.49 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 9 runs on 7 hits and 0 HR, against a projected 5 runs / 9 hits (4 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Drew Rasmussen (TB) threw 15 outs, 0 ER = 0 ERA against a projected 3 ERA (-3 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 1 runs on 5 hits and 1 HR, against a projected 3 runs / 8 hits (-2 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OAK | Jeffrey Springs (Starter) | 10 / 14 | 16.2 / 7.71 (+8.49) | 6 / 4 | 5 / 6 | 0 / 1 | 2 / 3 | 1.85 | 4 / 6 | 3.59 | venue away: 4.76 vs 6.94 ERA (ok) · opp run factor 1.08 (average) · 27 prior appearances this season |
| OAK | Chris Roycroft (Reliever) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 1 | 2 / 0 | n/a | 2 / 0 | n/a | |
| TB | Drew Rasmussen (Starter) | 15 / 18 | 0 / 3 (-3.00) | 0 / 2 | 4 / 3 | 0 / 1 | 2 / 1 | 0.82 | 3 / 8 | 4.62 | venue home: 3.05 vs 2.57 ERA (ok) · opp run factor 1.03 (weak) · 28 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Lawrence Butler (RF) | OAK | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 1.07 | 0.321 above average | projection too low |
| Junior Caminero (3B) | TB | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | -1.07 | 0.363 elite | bad day |
| Richie Palacios (2B) | TB | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 2 / 0 | 0 / 1 | 0.97 | 0.309 average | no signal |
| Zack Gelof (3B) | OAK | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.311 average | no signal |
| Denzel Clarke (CF) | OAK | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.8 | 0.202 weak | good day |
| Donovan Walton (2B) | OAK | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.332 above average | bad day |
| Liam Hicks (C) | TB | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 0 | 1 / 0 | 1 / 0 | 0.8 | 0.316 average | no signal |
| Yandy Díaz (DH) | TB | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | -0.8 | 0.35 elite | bad day |
| Jeff McNeil (DH) | OAK | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | -0.78 | 0.303 below average | projection too high |
| Jonny DeLuca (CF) | TB | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | -0.78 | 0.266 weak | projection too high |
| Tommy White (1B) | OAK | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.296 below average | — |
| Jonah Heim (C) | OAK | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.287 below average | — |
| Chandler Simpson (LF) | TB | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 0.47 | 0.265 weak | — |
| Alika Williams (SS) | OAK | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.243 weak | — |
| Henry Bolte (LF) | OAK | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.318 average | — |
| Taylor Walls (SS) | TB | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.249 weak | — |
| Jonathan Aranda (1B) | TB | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | 0.31 | 0.347 elite | — |
| Ryan Vilade (RF) | TB | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.331 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.683 | positive favors home; negative favors away |
| Recent form | 1.202 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.051 | positive favors home; negative favors away |
| Composite | 1.88 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.02-5.69 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-7 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-7 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-7 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-7 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-7 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.02-5.69 | 4-6 | 0.336 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 4-7 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-7 | 4-7 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-7 | 4-7 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-7 | 4-7 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-7 | 4-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 |
|---|---|---|---|---|
| OAK | Jeffrey Springs | pitcher / Starter | worse | predicted_IP -3.8 |
| OAK | Chris Roycroft | pitcher / Reliever | worse | predicted_H 2 |
| OAK | Tommy White | batter / 1B | boosted | predicted_RBI 1.8 |
| TB | Taylor Walls | batter / SS | better | predicted_H 1.42 |
| TB | Yandy Díaz | batter / DH | worse | predicted_RBI 1.41 |
| TB | Liam Hicks | batter / C | worse | predicted_AB -1.366 |
| TB | Ryan Vilade | batter / RF | worse | predicted_AB 1.25 |
| OAK | Alika Williams | batter / SS | worse | predicted_AB 1.159 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | 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=31; H: current=8, sim=5; 2B: current=2, sim=1; HR: current=1, sim=2; R: current=3, sim=4; BB: current=2, sim=3; SO: current=8, sim=10; SF: 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: Jeff McNeil: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Henry Bolte: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Tommy White: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2; Alika Williams: AB current=3 box=4, 2B current=1 box=0; Zack Gelof: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jonah Heim: AB current=3 box=4, HR current=0 box=1, R current=0 box=1, SO current=1 box=0; Donovan Walton: AB current=3 box=2, H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Lawrence Butler: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=9, sim=10; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=5, sim=7; SF: current=0, sim=1; HBP: current=0, sim=1). | 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=3 box=2, H current=1 box=0, R current=0 box=1, BB current=0 box=1; Jonny DeLuca: RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Jonathan Aranda: AB current=4 box=5, HR current=0 box=1, BB current=1 box=0; Junior Caminero: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Yandy Díaz: RBI current=1 box=2, SO current=0 box=2; Ryan Vilade: AB current=3 box=4, H current=1 box=0; Chandler Simpson: H current=1 box=2, RBI current=0 box=1; Richie Palacios: AB current=3 box=4 | TB |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| PHI | Aaron Nola | 4 ER / 18 outs | 0 ER / 21 outs | -4 |
| NYM | Nolan McLean | 2 ER / 18 outs | 1 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: Aaron Nola (PHI) posted 0.00 ERA vs projected 6.00 (0 ER in 21 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
Aaron Nola (PHI) threw 21 outs, 0 ER = 0 ERA against a projected 6 ERA (-6 ERA error)
Bullpen behind him: 0 ER over 5 outs.
The HOME lineup he faced produced 0 runs on 3 hits and 0 HR, against a projected 4 runs / 8 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Nolan McLean (NYM) threw 18 outs, 1 ER = 1.5 ERA against a projected 3 ERA (-1.5 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 3 runs on 8 hits and 0 HR, against a projected 4 runs / 7 hits (-1 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | Aaron Nola (Starter) | 21 / 18 | 0 / 6 (-6.00) | 0 / 4 | 3 / 6 | 0 / 1 | 3 / 1 | 1.86 | 4 / 3 | 4.88 | venue away: 4.15 vs 5.3 ERA (ok) · opp run factor 0.99 (average) · 30 prior appearances this season |
| PHI | Jhoan Duran (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.13 | 2 / 0 | 1.27 | |
| PHI | Jonathan Bowlan (Middle Reliever (High Leverage)) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.2 | 2 / 0 | 1.17 | |
| NYM | Nolan McLean (Starter) | 18 / 18 | 1.5 / 3 | 1 / 2 | 7 / 4 | 0 / 0 | 3 / 3 | 3.04 | 5 / 6 | 5.54 | venue home: 3.57 vs 2.89 ERA (worse here) · opp run factor 0.92 (average) · 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kyle Schwarber (DH) | PHI | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -1.4 | 0.365 elite | bad day |
| A.J. Ewing (CF) | NYM | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -1.11 | 0.322 above average | bad day |
| Juan Soto (DH) | NYM | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | 0 / 1 | -1.07 | 0.412 elite | bad day |
| Bryce Harper (RF) | PHI | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0.94 | 0.385 elite | projection too low |
| Brett Baty (2B) | NYM | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 0.66 | 0.31 average | no signal |
| Justin Crawford (CF) | PHI | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.289 below average | — |
| Francisco Lindor (SS) | NYM | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.329 above average | — |
| Francisco Alvarez (C) | NYM | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.322 above average | — |
| Jared Young (1B) | NYM | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.322 above average | — |
| Bryson Stott (3B) | PHI | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.327 above average | — |
| Luis Arraez (2B) | PHI | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | -0.14 | 0.306 average | — |
| Trea Turner (SS) | PHI | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 0 / 1 | -0.12 | 0.291 below average | — |
| Alec Bohm (1B) | PHI | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.328 above average | — |
| Brandon Marsh (LF) | PHI | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.302 below average | — |
| Garrett Stubbs (C) | PHI | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.212 weak | — |
| Carson Benge (RF) | NYM | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.338 above average | — |
| Nick Morabito (LF) | NYM | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.324 above average | — |
| Bo Bichette (3B) | NYM | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.326 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.312 | positive favors home; negative favors away |
| Recent form | 0.358 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.068 | positive favors home; negative favors away |
| Composite | 0.246 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.27-4.72 | 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.544 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.27-4.72 | 4-5 | 0.554 | 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 projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | 3-4 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | 3-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | 3-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-4 | 3-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 | Trea Turner | batter / SS | worse | predicted_AB -2.94 |
| NYM | Jared Young | batter / 1B | better | predicted_2B 1.823 |
| PHI | Kyle Schwarber | batter / DH | worse | predicted_AB -1.69 |
| NYM | Francisco Alvarez | batter / C | better | predicted_RBI 1.59 |
| PHI | Bryson Stott | batter / 3B | worse | predicted_RBI 1.562 |
| PHI | Garrett Stubbs | batter / C | worse | predicted_SO 1.368 |
| PHI | Luis Arraez | batter / 2B | worse | predicted_H -1.31 |
| PHI | Brandon Marsh | batter / LF | worse | predicted_SO 1.085 |
| 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 | 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 | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; 2B: current=1, sim=4; SO: current=9, sim=3). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Carson Benge: H current=1 box=0, R current=1 box=0, SO current=1 box=0; A.J. Ewing: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, R current=0 box=1; Francisco Lindor: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Brett Baty: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1; Nick Morabito: AB current=3 box=2, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Francisco Alvarez: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Jared Young: H current=1 box=2, 2B current=0 box=2, RBI current=1 box=0, R current=1 box=0 | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (H: current=7, sim=8; BB: current=2, sim=3). | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=5; SO: current=8, sim=9). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Alec Bohm: H current=1 box=2, R current=0 box=1; Bryson Stott: 3B current=0 box=1, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=2; Luis Arraez: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=0 box=1; Justin Crawford: BB current=0 box=1; Brandon Marsh: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Trea Turner: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Kyle Schwarber: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SD | Michael King | 3 ER / 19 outs | 2 ER / 18 outs | -1 |
| COL | Tanner Gordon | 6 ER / 15 outs | 7 ER / 9 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: Tanner Gordon (COL) posted 21.00 ERA vs projected 10.80 (7 ER in 9 outs); he is materially worse pitching home (8.04 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
Michael King (SD) threw 18 outs, 2 ER = 3 ERA against a projected 4.26 ERA (-1.26 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 9 hits and 0 HR, against a projected 4 runs / 9 hits (-2 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 9 outs, 7 ER = 21 ERA against a projected 10.8 ERA (10.2 ERA error)
Bullpen behind him: 0 ER over 9 outs.
The AWAY lineup he faced produced 9 runs on 15 hits and 1 HR, against a projected 5 runs / 10 hits (4 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | Michael King (Starter) | 18 / 19 | 3 / 4.26 | 2 / 3 | 7 / 6 | 0 / 0 | 2 / 1 | 2.12 | 6 / 6 | 4.75 | venue away: 3.34 vs 2.74 ERA (worse here) · opp run factor 1.01 (average) · 30 prior appearances this season |
| COL | Tanner Gordon (Starter) | 9 / 15 | 21 / 10.8 (+10.20) | 7 / 6 | 10 / 5 | 1 / 2 | 2 / 1 | 0.99 | 3 / 5 | 3.52 | venue home: 8.04 vs 3 ERA (worse here) · opp run factor 1.07 (average) · 22 prior appearances this season |
| COL | Brennan Bernardino (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 2 | 0.17 | 2 / 2 | 0.65 | |
| COL | Jaden Hill (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.62 | 0 / 2 | 0.99 | |
| COL | Jordan Romano (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.54 | 2 / 2 | 1.06 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Xander Bogaerts (SS) | SD | 5 / 3 | 3 / 1 | 1 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 2 / 0 | 2.47 | 0.32 average | no signal |
| Manny Machado (3B) | SD | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.73 | 0.334 above average | bad day |
| Samad Taylor (LF) | SD | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 1 / 1 | 1.11 | 0.307 average | no signal |
| Jake Cronenworth (2B) | SD | 5 / 4 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 1.09 | 0.269 weak | good day |
| Dustin Harris (CF) | SD | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 0.94 | 0.336 above average | projection too low |
| Ty France (1B) | SD | 4 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.333 above average | projection too low |
| Jackson Merrill (DH) | SD | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.62 | 0.349 elite | projection too low |
| Luis Campusano (C) | SD | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.333 above average | — |
| Troy Johnston (DH) | COL | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.325 above average | — |
| Zac Veen (RF) | COL | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.297 below average | — |
| Brett Sullivan (C) | COL | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.283 weak | — |
| Connor Norby (2B) | COL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.307 average | — |
| Kyle Karros (3B) | COL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.342 elite | — |
| Jake McCarthy (CF) | COL | 3 / 4 | 1 / 1 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.326 above average | — |
| Cole Carrigg (SS) | COL | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.313 average | — |
| Fernando Tatis Jr. (RF) | SD | 4 / 4 | 1 / 2 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.376 elite | — |
| Mickey Moniak (LF) | COL | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | -0.13 | 0.28 weak | — |
| TJ Rumfield (1B) | COL | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 1 / 0 | 0 | 0.336 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.504 | positive favors home; negative favors away |
| Recent form | -1.654 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.064 | positive favors home; negative favors away |
| Composite | -1.922 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.53-3.88 | n/a | Base ML historical model prediction |
| variance_applied | 6-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 8-5 | 0.54 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 8-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.53-3.88 | 6-4 | 0.351 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 8-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-5 | 8-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-5 | 8-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-5 | 8-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 8-5 | 8-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 |
|---|---|---|---|---|
| SD | Jackson Merrill | batter / DH | better | predicted_RBI 4.439 |
| COL | Zac Veen | batter / RF | better | predicted_RBI 3.423 |
| SD | Dustin Harris | batter / CF | better | predicted_SO 2.567 |
| SD | Fernando Tatis Jr. | batter / RF | better | predicted_SO 2.176 |
| SD | Xander Bogaerts | batter / SS | worse | predicted_SO 1.29 |
| COL | Kyle Karros | batter / 3B | worse | predicted_SO 1.271 |
| COL | Mickey Moniak | batter / LF | worse | predicted_H 1.16 |
| COL | Jake McCarthy | batter / CF | worse | predicted_AB 1.122 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | COL model pitcher projections differ from final simulation pitching box score (H: current=8, sim=11; ER: current=7, sim=8; HR: current=2, sim=3). | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; 2B: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=1). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, 2B current=1 box=0; Cole Carrigg: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Connor Norby: R current=0 box=1, BB current=1 box=0; Troy Johnston: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=0; Kyle Karros: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; TJ Rumfield: 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Mickey Moniak: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Zac Veen: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1 | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=10, sim=11; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=5, sim=8; R: current=5, sim=8; BB: current=2, sim=3; SO: current=7, sim=12). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Dustin Harris: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Jackson Merrill: H current=1 box=2, HR current=0 box=2, RBI current=1 box=5, BB current=0 box=1; Xander Bogaerts: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Fernando Tatis Jr.: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Manny Machado: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Ty France: H current=1 box=2, 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Luis Campusano: R current=0 box=1, BB current=0 box=1; Jake Cronenworth: R current=0 box=1 | SD |
| 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 20260916. 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.2391 | 0.2425 | +0.003405 | regressed |
| accuracy | 0.6167 | 0.5917 | -0.025 | regressed |
| team_run_mae | 2.5458 | 2.5333 | -0.0125 | improved |
| total_run_mae | 3.625 | 3.5333 | -0.0917 | improved |
| calibration_error | 0.085 | 0.0728 | -0.0122 | improved |
| starter_er_mae | 1.7333 | 1.7326 | -0.0007 | improved |
| starter_outs_mae | 3.2292 | 3.2984 | +0.0692 | regressed |
| Parameter | Change | Expected effect | Risk | Evidence |
|---|---|---|---|---|
| score.variance_multiplier | 1.95 → 2.05 | total_run_mae decrease | low risk | metric.total_run_mae, pipeline.largest_team_run_regression, errors.miss_reasons |
All seven source_manifest entries were checked against the supplied evidence:
| Source | Status | Purpose |
|---|---|---|
prediction_review_20260917.json — 229,581 bytes | Loaded | Official outcomes and scoring errors |
PREDICTION_SYSTEM_DEEP_AUDIT_20260917.json — 150,866 bytes | Loaded | Probability, provenance, starter, and decision contracts |
continuous_learning_daily_20260917.json — 1,555,702 bytes | Loaded | Pipeline stages, calibration, lineage, score distribution, starter comparisons |
detailed_20260917.html — 214,325 bytes | Loaded | Full game and simulation rendering |
20260917_ultra_detailed_player_audit.html — 20,306,685 bytes | Loaded | Player-level prediction trace |
audit_report_20260917.html — 1,143,113 bytes | Loaded | Structural and invariant findings |
audit_report_20260917_integrity_revision.html | Missing | Post-Luna remediation proof for immutable revision artifacts |
The missing integrity-revision audit is an evidence gap. It does not invalidate the settled-game results, because the structural audits, prediction artifacts, and game-level audit receipts are present, but it prevents independent confirmation of post-remediation immutable-revision status.
All nine expected games were reviewed:
Coverage was complete:
All nine game-level structural audits reported zero critical findings, zero errors, and zero warnings. They reported 70 informational findings in aggregate.
The row says published_minus_calibrated = -0.009473, the transformation says “no recorded transformation explains the publication delta,” but unexplained_material_delta is false. The delta is small and not material, so this is not a material bypass, but the wording should be normalized.
It is the only missing manifest entry.
For example, LAD@CIN has a governed/calibrated probability of 0.7106, but its published away-side probability is 0.56 and its displayed home-minus-away edge is -0.12. This is explainable by the named score-coherence and recency transformations, but reports should make the selected side and side-relative probability explicit.
BOS@TEX moves historical ML TEX → TIE, then enhanced prediction moves TIE → TEX. The later recovery does not erase the intermediate regression.
There were zero source-labelled moneyline covers, so market agreement/disagreement cannot be evaluated.
Only 13 of 53 material player deviations were supported by the hitter’s own season contact quality, a learnable share of 24.5%. The other deviations should not be treated as feature evidence.
---
This was not a good prediction slate merely because four winners were correct. Winner accuracy was below the stated walk-forward baseline and below coin-flip performance on this slate. Exact-score performance was substantially weaker than winner performance.
Poor on this slate:
beat_coinflip: false, beat_validated_baseline: falsewinner_accuracy is regressing; current slate is the lowest value in the displayed recent series at 44.44%The five misses were BOS@TEX, DET@CHW, MIL@PIT, MIN@LAA, and PHI@NYM.
Calibration was weak and overconfident:
The model did reduce high raw probabilities through score coherence and matchup-recency guardrails. That is good lineage behavior, but the residual published confidence still overstated reliability in the moderate and lean buckets.
Score accuracy was materially weak:
The system systematically compressed the margin distribution, particularly in OAK@TB and SD@COL.
Starter performance was mixed and often decisive:
Venue-split evidence was specifically credible for several blown starters, especially Seth Lugo, Kyle Harrison, and Tanner Gordon. This supports a bounded shadow test of context.venue_adjustment_weight, but not an unvalidated production change.
Artifact integrity was strong for the settled game artifacts:
However, the missing integrity-revision audit prevents a fully closed artifact-revision receipt.
weak_run_model_signal — HighThis is a material model-validation risk, not a contract failure. The appropriate action is an isolated feature/target backtest, not a nightly score tweak.
complete_slate_audit_coverage — InfoCorrectly classified as informational.
probability_publication_delta_explained — InfoThis is supported. BOS@TEX has a small wording inconsistency but no material unexplained delta.
simulation_inert_on_slate — Info for this slate, escalated persistent failure across slatesCross-slate evidence changes the operational diagnosis: this has persisted for 11 consecutive slates and is now an established code/diagnostic failure pattern.
---
The game records use confidence_home_minus_away; negative values indicate an away-side edge. The published pick probability below is the probability of the selected side.
supported_blowout_margin_expansion applied to the away sidecontext.venue_adjustment_weight, not an immediate production change.supported_blowout_margin_expansionsupported_blowout_margin_expansion toward MILsupported_blowout_margin_expansionsupported_blowout_margin_expansionCorrect winners:
Correct winner but wrong score:
Misses:
There were no exact-score hits reported.
---
Across five losses:
A 0.12 confidence edge is moderate. It should not be described as a near coin flip, but neither should it be treated as high-confidence certainty. The appropriate response is calibration and distribution control, not removal of all directional signal.
| Stage | Winner accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|
| historical_ml | 4/9 = 44.44% | 2.0863 | 2.1738 | 3.5824 |
| variance_applied | 4/9 | 2.0556 | 2.1111 | 3.6667 |
| enhanced_prediction | 4/9 | 1.8889 | 2.0000 | 3.5556 |
| embedded_savant_run_environment | 4/9 | 1.9444 | 2.1111 | 3.4444 |
| fundamental_edge_target_review | 4/9 | 1.9444 | 2.1111 | 3.4444 |
| capped_target | 4/9 | 1.9444 | 2.1111 | 3.4444 |
| simulation_result | 4/9 | 1.9444 | 2.1111 | 3.4444 |
| published_final | 4/9 | 1.9444 | 2.1111 | 3.4444 |
Transitions:
The system’s later stages improved run-error metrics relative to historical ML, but none improved winner accuracy, and simulation made no measurable winner-direction intervention.
---
Lever: score.variance_multiplier / score.variance_floor
Targets: Brier score, calibration error
Lever: player.pitcher.v4 form weights / player.pitcher_prior_games
Targets: starter ER MAE, starter outs MAE
context.venue_adjustment_weight in a shadow test for credible split cases instead of changing global pitcher priors.Lever: recent.* / season.* run-mean weighting
Targets: team-run MAE, total-run MAE, accuracy
---
No critical audit findings were reported in the nine game audits or the structural audit summary.
The missing integrity-revision artifact is a manifest gap, but it was not reported as a critical settled-game contract failure.
No error audit findings were reported.
No warning audit findings were reported.
The aggregate structural audit reported 70 informational findings. The principal informational findings were:
The coverage matrix is clean for the nine settled games:
all_games_structurally_audited: truecanonical_artifacts_loaded: 9continuous_learning_games: 9expected_games: 9forensic_deep_audit_games: 9games_with_starter_comparisons: 9structural_audits_completed: 9The slate should not be called fully artifact-clean because the integrity-revision audit is missing, but it is structurally complete and learning-eligible.
Materially relevant rows:
These six material movements have recorded explanations; no material governor bypass is established.
BOS@TEX moved from calibrated 0.5633 to published 0.553827, a delta of only -0.009473. The row’s wording is inconsistent, but this is not a material unexplained delta.
MIN@LAA and PHI@NYM had small deltas and named recency/score-coherence handling.
No probability reversion or overwritten side was identified.
---
A single slate is not enough to establish most model patterns, but several findings have already escalated and must be treated as established failures.
simulation_inert_on_slatesimulation.allow_scoreThe self-assessment gives the concrete suspected defect: separate target-realization search from independent win-probability simulation; prevent early exit; use a registered batch size such as 200–500 draws or an independent closed-form distribution.
weak_run_model_signaltraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateThis is an established failure, not single-slate noise.
| Finding | Consecutive count | Present now | Interpretation |
|---|---|---|---|
| high_raw_probability_cluster | 0 | No | Occurred once in the 11-slate window; this slate had two high-raw games, but the registered streak is not current |
| pipeline_winner_instability | 0 | No | Incidence 2 in window, but no current streak |
| score_margin_compression | 0 | No | Incidence 1 in window under this finding label; current margin compression is visible but not escalated under this streak record |
| simulation_inert_on_slate | 11 | Yes | Established persistent failure |
| single_slate_calibration_instability | 0 | No | Seven occurrences in window but no consecutive current streak |
| weak_run_model_signal | 11 | Yes | Established persistent failure |
Each direction is explicit:
margin_bias: regressing, mean -1.5357mean_team_run_error_on_losses: improving, mean 5.5165, with current slate at 3.6weighted_calibration_error: improving, mean 0.1781, current 0.1016winner_accuracy: regressing, mean 0.5961, current 0.4444“Improving” calibration and loss-run error do not mean they are good; they mean the recent series is moving in a favorable direction. Current calibration remains materially imperfect.
finding_streaks entry reports only zero consecutive slates. It should be monitored rather than falsely labeled an escalated streak.---
Recommendations are ranked by persistence, scope, expected metric impact, affected games, and regression risk.
simulation_inert_on_slate, persistent for 11 slatessimulation.allow_scoresimulation.allow_score is active.weak_run_model_signal, persistent for 11 slatestraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateconfidence.moderate_caprecent.* / season.* run-mean weightingcontext.venue_adjustment_weight globally yet. It is a sensible shadow experiment for Lugo, Harrison, and Gordon, but it is not a registered escalated pattern.---
Repair and instrument the simulation probability path before changing model parameters: separate independent win-probability draws from target-realization search, remove early exit, register the batch size, and run it in shadow with rollback monitoring. This directly addresses an 11-slate established failure, preserves the existing forecast path, and produces the most valuable evidence for the next slate without overfitting today’s nine games.