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_20260907.json | 277792 |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260907.json | 180869 |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons | /app/output/learning/continuous_learning_daily_20260907.json | 1791725 |
| detailed report | loaded | full game and simulation rendering | /app/output/reports/detailed_20260907.html | 259218 |
| ultra detailed player audit | loaded | player-level prediction trace | /app/output/reports/20260907_ultra_detailed_player_audit.html | 22292012 |
| structural audit | loaded | all invariant findings | /app/output/reports/audit_report_20260907.html | 1318983 |
| integrity revision audit | missing | post-Luna remediation proof for immutable revision artifacts | /app/output/reports/audit_report_20260907_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 |
|---|---|---|---|---|
| CRITICAL | probability_lineage | Published probability differs materially without a recorded transformation 4 game(s) have an unexplained ≥2pp calibrated-to-published delta | ARI@KC, CIN@LAD, LAA@BOS, NYM@MIA | Do thisBlock any promotion until the missing probability transformation is recorded and reconciled. Don't concludeDo not assume the probability governor was bypassed until you have traced the pick-side math. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.2611 across 11 games | ARI@KC, ATL@PHI, CHC@MIL, CIN@LAD, CLE@BAL, LAA@BOS, MIN@DET, NYM@MIA, STL@SF, TOR@OAK, WAS@SD | Do thisWatch the same confidence buckets over the full rolling window before changing any calibration weight. Don't concludeA single slate has far too few games to establish a stable calibration curve. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0124/0.0205/0.0184 | ARI@KC, ATL@PHI, CHC@MIL, CIN@LAD, CLE@BAL, LAA@BOS, MIN@DET, NYM@MIA, STL@SF, TOR@OAK, WAS@SD | 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 11/11 games structurally audited | ARI@KC, ATL@PHI, CHC@MIL, CIN@LAD, CLE@BAL, LAA@BOS, MIN@DET, NYM@MIA, STL@SF, TOR@OAK, WAS@SD | 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 | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ARI@KC, ATL@PHI, CHC@MIL, CIN@LAD, CLE@BAL, LAA@BOS, MIN@DET, NYM@MIA, STL@SF, TOR@OAK, WAS@SD | Do thisMeasure the simulation's contribution across rolling slates, separating score realization from winner flipping. Don't concludeZero winner flips is not a defect and does not mean the simulation did no score-reconciliation work. |
A finding that has repeated at or beyond the escalation streak is no longer single-slate noise. It carries its target registered lever and an action-oriented guardrail.
| Finding | Persistence | Target lever(s) | Direction | Guardrail |
|---|---|---|---|---|
| simulation_inert_on_slate | 11 consecutive · 11 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 11 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| weak_run_model_signal | 11 consecutive · 11 in window | training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate | investigate features/target via isolated training backtest (manual) | weak_run_model_signal has persisted 11 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| Finding | Consecutive slates | Incidence | Present now | Fix type |
|---|---|---|---|---|
| high_raw_probability_cluster | 0 | 3/11 | no | param |
| pipeline_winner_instability | 0 | 4/11 | no | code/diagnostic |
| score_margin_compression | 0 | 3/11 | no | param |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 1 | 6/11 | yes | param |
| weak_run_model_signal | 11 | 11/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | flat | [0.4667, 0.9412, 0.5, 0.6667, 0.4667, 0.3333, 0.5556, 0.625, 0.5333, 0.6, 0.5455] |
| weighted_calibration_error | regressing | [0.2179, 0.3961, 0.0693, 0.1661, 0.2476, 0.21, 0.1474, 0.1316, 0.1, 0.0937, 0.2611] |
| margin_bias | improving | [-1.333, -1.882, -2.786, -3.5, -2.533, -3.067, -1.778, -0.688, -1.467, -1.467, -0.182] |
| team_run_error_on_losses | improving | [5.0, 3.0, 7.0, 8.25, 7.125, 6.4, 6.75, 6.0, 5.286, 5.333, 3.8] |
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 | 6/11 | 54.5% | 1.578 | 2.342 | 2.195 |
| variance_applied | 5/11 | 45.5% | 1.591 | 2.454 | 2.091 |
| enhanced_prediction | 6/11 | 54.5% | 1.818 | 2.909 | 2 |
| embedded_savant_run_environment | 6/11 | 54.5% | 1.909 | 3.091 | 2.182 |
| fundamental_edge_target_review | 6/11 | 54.5% | 1.909 | 3.091 | 2.182 |
| capped_target | 6/11 | 54.5% | 1.909 | 3.091 | 2.182 |
| simulation_result | 6/11 | 54.5% | 1.909 | 3.091 | 2.182 |
| published_final | 6/11 | 54.5% | 1.909 | 3.091 | 2.182 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.091 | -1 | 0.0127 | -0.1041 | CIN@LAD: CIN → TIE; CLE@BAL: BAL → TIE; MIN@DET: MIN → TIE |
| variance_applied → enhanced_prediction | 0.091 | 1 | 0.2273 | -0.0909 | CIN@LAD: TIE → LAD; CLE@BAL: TIE → BAL; MIN@DET: TIE → MIN; STL@SF: SF → STL |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | 0.0909 | 0.1818 | |
| embedded_savant_run_environment → fundamental_edge_target_review | 0 | 0 | 0 | 0 | |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| ARI@KC | miss | 0.5978 | 0.618 | 0.618 | 0.618 | 0.5796 | no recorded transformation explains the publication delta |
| ATL@PHI | hit | 0.5995 | 0.5565 | 0.5565 | 0.5565 | 0.53 | score coherence followed by matchup-recency guardrail |
| CHC@MIL | hit | 0.504 | 0.508 | 0.508 | 0.508 | 0.5068 | published probability matches the calibrated/governed value |
| CIN@LAD | hit | 0.5322 | 0.5751 | 0.5751 | 0.5751 | 0.5326 | no recorded transformation explains the publication delta |
| CLE@BAL | hit | 0.5133 | 0.5107 | 0.5107 | 0.5107 | 0.5078 | published probability matches the calibrated/governed value |
| LAA@BOS | hit | 0.6371 | 0.6539 | 0.6539 | 0.6539 | 0.6231 | no recorded transformation explains the publication delta |
| MIN@DET | miss | 0.5258 | 0.5675 | 0.5675 | 0.5675 | 0.53 | score coherence followed by matchup-recency guardrail |
| NYM@MIA | miss | 0.582 | 0.5477 | 0.5477 | 0.5477 | 0.5208 | no recorded transformation explains the publication delta |
| STL@SF | miss | 0.5409 | 0.6268 | 0.6268 | 0.6268 | 0.6268 | published probability matches the calibrated/governed value |
| TOR@OAK | miss | 0.7068 | 0.6996 | 0.6996 | 0.6996 | 0.6996 | published probability matches the calibrated/governed value |
| WAS@SD | hit | 0.6299 | 0.5724 | 0.5724 | 0.5724 | 0.5297 | 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 |
|---|---|---|---|---|---|---|
| 22 | 5 | 4 | 0 | 13 | -0.86 | -0.36 |
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 11 games with an applied blend, the blend's side and the published side agree.
Blend side survived on 11 of 11 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.28 over 8 slates (sign shared by 0.62 of them, z = 0.95).
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 8 slates share the sign, mean 0.28 +/- 0.3 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.06 over 8 slates (sign shared by 0.62 of them, z = -0.30).
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
5 of 8 slates share the sign, mean -0.06 +/- 0.2 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 |
|---|---|---|---|---|---|---|
| 20260906 | 15 | 0.600 | 0.74 | -0.30 | 6 | 10 |
| 20260905 | 15 | 0.533 | -1.17 | -0.07 | 2 | 6 |
| 20260904 | 16 | 0.625 | -0.23 | -0.44 | 5 | 12 |
| 20260903 | 9 | 0.556 | 0.24 | -0.83 | 4 | 6 |
| 20260902 | 15 | 0.333 | 0.72 | 0.30 | 7 | 6 |
| 20260901 | 15 | 0.467 | 1.48 | 1.07 | 9 | 3 |
| 20260831 | 12 | 0.667 | 0.83 | 0.08 | 2 | 7 |
| 20260830 | 14 | 0.500 | -0.36 | -0.29 | 3 | 7 |
| 20260829 | 17 | 0.941 | — | — | ||
| 20260828 | 15 | 0.467 | — | — |
Narrow predicted margins next to wide actual margins is the signature the score-variance tail is too tight.
| Game | Pred margin | Actual margin | Pred − actual |
|---|---|---|---|
| ARI@KC | 2 | 1 | 1 |
| ATL@PHI | 1 | 1 | 0 |
| CHC@MIL | 2 | 1 | 1 |
| CIN@LAD | 1 | 3 | -2 |
| CLE@BAL | 1 | 2 | -1 |
| LAA@BOS | 2 | 3 | -1 |
| MIN@DET | 1 | 1 | 0 |
| NYM@MIA | 1 | 5 | -4 |
| STL@SF | 2 | 1 | 1 |
| TOR@OAK | 4 | 1 | 3 |
| WAS@SD | 1 | 1 | 0 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ARI | Jose Cabrera | 2 ER / 14 outs | 0 ER / 6 outs | -2 |
| KC | Noah Cameron | 1 ER / 18 outs | 0 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:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Jose Cabrera (ARI) at a projected 3.86 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 4 runs on 6 hits and 0 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
Noah Cameron (KC) threw 18 outs, 0 ER = 0 ERA against a projected 1.5 ERA (-1.5 ERA error)
Bullpen behind him: 4 ER over 12 outs.
The AWAY lineup he faced produced 3 runs on 7 hits and 0 HR, against a projected 4 runs / 6 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| KC | Noah Cameron (Starter) | 18 / 18 | 0 / 1.5 | 0 / 1 | 3 / 2 | 0 / 0 | 2 / 1 | 7 / 4 | venue home: 4.95 vs 3.62 ERA (worse here) · opp run factor 1.05 (average) · 27 prior appearances this season |
| KC | Craig Kimbrel (Middle Reliever (High Leverage)) | 3 / 3 | 36 / 18 (+18.00) | 4 / 2 | 5 / 4 | 0 / 0 | 1 / 0 | 1 / 0 | |
| KC | Nate Pearson (Setup Man) | 6 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | |
| KC | Steven Cruz (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 2 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | Salvador Perez (DH) | 5 / 5 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1.25 | 0.309 average | no signal |
| ARI | Corbin Carroll (RF) | 2 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.344 elite | bad day |
| KC | Bobby Witt Jr. (SS) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.385 elite | bad day |
| ARI | Nolan Arenado (3B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | 0.8 | 0.283 weak | good day |
| ARI | Gabriel Moreno (C) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.79 | 0.365 elite | bad day |
| ARI | Jordan Lawlar (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.309 average | — |
| ARI | Tim Tawa (1B) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.303 below average | — |
| KC | Vinnie Pasquantino (1B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | 0.47 | 0.328 above average | — |
| KC | Nick Loftin (3B) | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.297 below average | — |
| KC | Michael Massey (2B) | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.306 average | — |
| ARI | Ketel Marte (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.349 elite | — |
| KC | Isaac Collins (LF) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.296 below average | — |
| KC | Carter Jensen (C) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | -0.29 | 0.304 below average | — |
| KC | Kyle Isbel (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.262 weak | — |
| ARI | Geraldo Perdomo (SS) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 | 0.328 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.403 | positive favors home; negative favors away |
| Recent form | 0.204 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.061 | positive favors home; negative favors away |
| Composite | 0.056 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.38-5.08 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.38-5.08 | 4-5 | 0.303 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 3-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3-5 | 3-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | 3-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | 3-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-5 | 3-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| KC | Nick Loftin | batter / 3B | better | predicted_H 2.06 |
| KC | Jac Caglianone | batter / RF | worse | predicted_SO 1.992 |
| ARI | Ildemaro Vargas | batter / 2B | worse | predicted_SO 1.622 |
| KC | Bobby Witt Jr. | batter / SS | worse | predicted_AB -1.42 |
| KC | Carter Jensen | batter / C | worse | predicted_AB -1.38 |
| KC | Kyle Isbel | batter / CF | worse | predicted_H 1.32 |
| ARI | Nolan Arenado | batter / 3B | worse | predicted_AB -1.27 |
| ARI | Jordan Lawlar | batter / CF | worse | predicted_SO -1.038 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ARI |
| info | CURRENT_PITCHER_DUPLICATION | 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 | ARI model-prediction batting totals differ from final simulation box score (AB: current=36, sim=33; H: current=8, sim=7; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=1; SF: current=0, sim=1). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Ketel Marte: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gabriel Moreno: AB current=5 box=4, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Ildemaro Vargas: RBI current=1 box=0, SO current=0 box=2; Nolan Arenado: AB current=4 box=3, H current=1 box=0, SO current=1 box=2, SF current=0 box=1; Corbin Carroll: AB current=5 box=4, H current=1 box=2, R current=1 box=0, BB current=1 box=0; Geraldo Perdomo: AB current=4 box=3, H current=1 box=0; Lourdes Gurriel Jr.: RBI current=0 box=1, R current=0 box=1; Jordan Lawlar: SO current=1 box=0 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=35, sim=33; H: current=8, sim=9; 2B: current=2, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; HBP: current=0, sim=1). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Carter Jensen: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jac Caglianone: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Salvador Perez: AB current=5 box=4, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Bobby Witt Jr.: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Vinnie Pasquantino: 2B current=0 box=1, BB current=1 box=0, SO current=0 box=1; Nick Loftin: H current=1 box=3, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Isaac Collins: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, BB current=1 box=0; Michael Massey: RBI current=0 box=1, R current=0 box=1 | KC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ATL | Grant Holmes | 2 ER / 14 outs | 0 ER / 18 outs | -2 |
| PHI | Jesús Luzardo | 2 ER / 19 outs | 0 ER / 27 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: Grant Holmes (ATL) posted 0.00 ERA vs projected 3.86 (0 ER in 18 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
Grant Holmes (ATL) threw 18 outs, 0 ER = 0 ERA against a projected 3.86 ERA (-3.86 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 1 runs on 4 hits and 1 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: offense: the lineup scored well below its projection
HOME pitching
Jesús Luzardo (PHI) threw 27 outs, 0 ER = 0 ERA against a projected 2.84 ERA (-2.84 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 0 runs on 2 hits and 0 HR, against a projected 5 runs / 9 hits (-5 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| ATL | Grant Holmes (Starter) | 18 / 14 | 0 / 3.86 (-3.86) | 0 / 2 | 3 / 2 | 0 / 0 | 2 / 1 | 6 / 6 | venue away: 2.83 vs 4.8 ERA (ok) · opp run factor 0.98 (average) · 28 prior appearances this season |
| PHI | Jesús Luzardo (Starter) | 27 / 19 | 0 / 2.84 | 0 / 2 | 2 / 5 | 0 / 1 | 1 / 0 | 12 / 5 | venue home: 4.52 vs 1.76 ERA (worse here) · opp run factor 1.09 (strong) · 28 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ATL | Michael Harris II (CF) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.342 elite | bad day |
| ATL | Lane Thomas (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.314 average | no signal |
| ATL | Drake Baldwin (C) | 4 / 6 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.365 elite | bad day |
| PHI | Bryson Stott (3B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.327 above average | bad day |
| ATL | Ozzie Albies (2B) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.284 below average | projection too high |
| ATL | Ronald Acuña Jr. (DH) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.364 elite | — |
| ATL | Ha-Seong Kim (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.216 weak | — |
| ATL | Austin Riley (3B) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.3 below average | — |
| ATL | Mauricio Dubón (LF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.302 below average | — |
| PHI | Bryce Harper (RF) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.392 elite | — |
| PHI | Luis Arraez (2B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.306 average | — |
| PHI | J.T. Realmuto (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 3 / 1 | -0.47 | 0.322 above average | — |
| PHI | Alec Bohm (1B) | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.322 above average | — |
| ATL | Matt Olson (1B) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.353 elite | — |
| PHI | Kyle Schwarber (DH) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.367 elite | — |
| PHI | Brandon Marsh (LF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.306 average | — |
| PHI | Trea Turner (SS) | 4 / 5 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.293 below average | — |
| PHI | Justin Crawford (CF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.282 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.39 | positive favors home; negative favors away |
| Recent form | 0.03 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.113 | positive favors home; negative favors away |
| Composite | -0.275 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.61-5.64 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-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 | 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.61-5.64 | 4-6 | -0.033 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 3-4 | -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 | 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 |
|---|---|---|---|---|
| ATL | Lane Thomas | batter / RF | worse | predicted_RBI 1.642 |
| ATL | Drake Baldwin | batter / C | worse | predicted_AB -1.63 |
| PHI | Trea Turner | batter / SS | worse | predicted_RBI 1.61 |
| PHI | Bryson Stott | batter / 3B | worse | predicted_AB -1.481 |
| PHI | Alec Bohm | batter / 1B | better | predicted_RBI 1.41 |
| PHI | Luis Arraez | batter / 2B | worse | predicted_AB -1.41 |
| PHI | J.T. Realmuto | batter / C | worse | predicted_SO 1.202 |
| ATL | Matt Olson | batter / 1B | worse | predicted_SO -1.113 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ATL |
| info | CURRENT_PITCHER_DUPLICATION | 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 | ATL model pitcher projections differ from final simulation pitching box score (HR: current=0, sim=1). | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=38, sim=35; H: current=9, sim=8; RBI: current=4, sim=3; R: current=5, sim=3; BB: current=3, sim=0; SO: current=8, sim=5). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Ronald Acuña Jr.: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Lane Thomas: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Drake Baldwin: AB current=6 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ozzie Albies: AB current=5 box=4, H current=1 box=2, 2B current=1 box=0, SO current=1 box=0; Matt Olson: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, SO current=1 box=0; Michael Harris II: AB current=5 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Ha-Seong Kim: SO current=1 box=0; Austin Riley: RBI current=1 box=0 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=35, sim=29; H: current=8, sim=5; BB: current=3, sim=1; SO: current=8, sim=7). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: RBI current=1 box=0, BB current=1 box=0; Alec Bohm: AB current=4 box=3, RBI current=1 box=2, R current=0 box=1, SO current=1 box=0; Bryson Stott: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Brandon Marsh: AB current=4 box=3, H current=1 box=0; Trea Turner: AB current=5 box=4, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2; Luis Arraez: AB current=4 box=3, 2B current=0 box=1, SO current=1 box=0; Kyle Schwarber: HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; J.T. Realmuto: H current=1 box=0, R current=1 box=0, SO current=1 box=2 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHC | Matthew Boyd | 4 ER / 17 outs | 3 ER / 21 outs | -1 |
| MIL | Robert Gasser | 4 ER / 15 outs | 1 ER / 14 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: Robert Gasser (MIL) posted 1.93 ERA vs projected 7.20 (1 ER in 14 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Matthew Boyd (CHC) threw 21 outs, 3 ER = 3.86 ERA against a projected 6.35 ERA (-2.49 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The HOME lineup he faced produced 4 runs on 6 hits and 0 HR, against a projected 5 runs / 9 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Robert Gasser (MIL) threw 14 outs, 1 ER = 1.93 ERA against a projected 7.2 ERA (-5.27 ERA error)
Bullpen behind him: 2 ER over 9 outs.
The AWAY lineup he faced produced 3 runs on 6 hits and 2 HR, against a projected 5 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| CHC | Matthew Boyd (Starter) | 21 / 17 | 3.86 / 6.35 | 3 / 4 | 5 / 7 | 0 / 1 | 2 / 2 | 7 / 4 | venue away: 2.83 vs 5.4 ERA (ok) · opp run factor 1.1 (strong) · 18 prior appearances this season |
| CHC | Jacob Webb (Closer) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | |
| CHC | Ryan Zeferjahn (Middle Reliever (High Leverage)) | 1 / 1 | 27 / 81 (-54.00) | 1 / 3 | 1 / 5 | 0 / 1 | 1 / 1 | 1 / 1 | |
| MIL | Robert Gasser (Starter) | 14 / 15 | 1.93 / 7.2 (-5.27) | 1 / 4 | 3 / 5 | 1 / 1 | 2 / 0 | 5 / 5 | venue home: 4.05 vs 5.44 ERA (ok) · opp run factor 1.03 (strong) · 17 prior appearances this season |
| MIL | Aaron Ashby (Middle Reliever (High Leverage)) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | |
| MIL | Abner Uribe (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 0 | 0 / 1 | 0 / 0 | |
| MIL | Trevor Megill (Closer) | 3 / 6 | 9 / 0 (+9.00) | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | William Contreras (C) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -1.4 | 0.333 above average | bad day |
| CHC | Pedro Ramirez (2B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.289 below average | good day |
| MIL | Jackson Chourio (LF) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.333 above average | bad day |
| CHC | Nico Hoerner (SS) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | -0.47 | 0.324 above average | — |
| CHC | Alex Bregman (3B) | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0.47 | 0.318 average | — |
| CHC | BJ Murray Jr. (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.099 weak | — |
| CHC | Carson Kelly (C) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.31 average | — |
| MIL | Christian Yelich (DH) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.317 average | — |
| CHC | Seiya Suzuki (DH) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | -0.45 | 0.339 elite | — |
| MIL | Brice Turang (2B) | 2 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | -0.45 | 0.336 above average | — |
| MIL | Andrew Vaughn (1B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | -0.33 | 0.337 above average | — |
| MIL | Garrett Mitchell (CF) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.35 elite | — |
| MIL | Joey Ortiz (3B) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.295 below average | — |
| CHC | Pete Crow-Armstrong (CF) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.371 elite | — |
| CHC | Tyrone Taylor (LF) | 2 / 3 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.318 average | — |
| CHC | Matt Shaw (RF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.307 average | — |
| MIL | Luis Lara (RF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.313 average | — |
| MIL | Cooper Pratt (SS) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.313 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.113 | positive favors home; negative favors away |
| Recent form | -0.346 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.079 | positive favors home; negative favors away |
| Composite | 0.508 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.48-4.53 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.507 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-7 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-7 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-7 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-7 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.48-4.53 | 4-5 | 0.955 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 5-6 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | 5-7 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-7 | 5-7 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-7 | 5-7 | 0 | Capped at max 12 realistic runs |
| simulation_result | 5-7 | 5-7 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| CHC | Tyrone Taylor | batter / LF | better | predicted_RBI 2.37 |
| MIL | Garrett Mitchell | batter / CF | better | predicted_H 2.05 |
| MIL | Jackson Chourio | batter / LF | better | predicted_H 1.91 |
| CHC | Matt Shaw | batter / RF | worse | predicted_H 1.8 |
| CHC | BJ Murray Jr. | batter / 1B | better | predicted_AB 1.5 |
| MIL | Brice Turang | batter / 2B | worse | predicted_H -1.4 |
| CHC | Pedro Ramirez | batter / 2B | worse | predicted_SO 1.393 |
| CHC | Carson Kelly | batter / C | worse | predicted_SO 1.36 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHC |
| info | CURRENT_PITCHER_DUPLICATION | 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_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=2, sim=3; BB: current=3, sim=1; SO: current=7, sim=6). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Seiya Suzuki: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Nico Hoerner: H current=1 box=0; Alex Bregman: AB current=4 box=3, SO current=1 box=0; Tyrone Taylor: AB current=3 box=4, H current=1 box=3, HR current=0 box=1, RBI current=1 box=3; BJ Murray Jr.: AB current=3 box=4, H current=1 box=0; Matt Shaw: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, SO current=1 box=0; Pete Crow-Armstrong: AB current=5 box=4, 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0; Carson Kelly: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; H: current=9, sim=12; 2B: current=2, sim=3; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=5, sim=7; R: current=5, sim=7; SO: current=8, sim=6). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: H current=1 box=2, HR current=1 box=0, SO current=1 box=0; Brice Turang: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Luis Lara: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Jackson Chourio: H current=1 box=3, BB current=1 box=0, SO current=1 box=0; Andrew Vaughn: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=0 box=1; Joey Ortiz: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1; Cooper Pratt: AB current=3 box=4, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Christian Yelich: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1 | MIL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CIN | Chase Burns | 3 ER / 17 outs | 0 ER / 9 outs | -3 |
| LAD | Emmet Sheehan | 2 ER / 15 outs | 1 ER / 17 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: Chase Burns (CIN) posted 0.00 ERA vs projected 4.76 (0 ER in 9 outs); he is materially worse pitching away (3.50 ERA there vs 2.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
Chase Burns (CIN) threw 9 outs, 0 ER = 0 ERA against a projected 4.76 ERA (-4.76 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 6 runs on 3 hits and 1 HR, against a projected 5 runs / 8 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
No settled pitching line for this club. The forecast named Emmet Sheehan (LAD) at a projected 3.6 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 3 runs on 7 hits and 2 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| CIN | Chase Burns (Starter) | 9 / 17 | 0 / 4.76 (-4.76) | 0 / 3 | 0 / 5 | 0 / 0 | 1 / 3 | 5 / 8 | venue away: 3.5 vs 2.09 ERA (worse here) · opp run factor 1.03 (strong) · 26 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Teoscar Hernández (LF) | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 2 / 0 | 1 / 0 | 1 / 1 | 1.42 | 0.325 above average | projection too low |
| LAD | Shohei Ohtani (DH) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -1.4 | 0.401 elite | bad day |
| CIN | Tyler Stephenson (C) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -1.11 | 0.335 above average | bad day |
| CIN | Eugenio Suárez (DH) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0.93 | 0.29 below average | good day |
| CIN | JJ Bleday (LF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.346 elite | bad day |
| LAD | Kyle Tucker (RF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.326 above average | bad day |
| LAD | Freddie Freeman (1B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | -0.78 | 0.372 elite | bad day |
| LAD | Max Muncy (3B) | 2 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 2 / 1 | 0 / 1 | 0.64 | 0.349 elite | projection too low |
| CIN | Ke'Bryan Hayes (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.309 average | — |
| CIN | Carlos Jorge (CF) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.181 weak | — |
| LAD | Tommy Edman (2B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.316 average | — |
| LAD | Alex Freeland (SS) | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.287 below average | — |
| CIN | Héctor Rodríguez (RF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.46 | 0.277 weak | — |
| CIN | Elly De La Cruz (SS) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 2 | 0.14 | 0.368 elite | — |
| CIN | Sal Stewart (1B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | -0.14 | 0.351 elite | — |
| LAD | Alex Call (CF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | -0.14 | 0.279 weak | — |
| CIN | Matt McLain (2B) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.307 average | — |
| LAD | Hunter Feduccia (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 0 | 0.32 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.246 | positive favors home; negative favors away |
| Recent form | -0.108 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.076 | positive favors home; negative favors away |
| Composite | 1.006 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.24-3.66 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.533 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, projected_margin_is_one_run, season_quality_guardrail) |
| embedded_savant_run_environment | 5-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.24-3.66 | 4-4 | 0.574 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 5-6 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, projected_margin_is_one_run, season_quality_guardrail) |
| embedded_savant_run_environment | 5-6 | 5-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | 5-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | 5-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 5-6 | 5-6 | 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 |
|---|---|---|---|---|
| CIN | Carlos Jorge | batter / CF | better | predicted_SO 2 |
| LAD | Hunter Feduccia | batter / C | worse | predicted_HR 1.96 |
| CIN | Elly De La Cruz | batter / SS | better | predicted_RBI 1.78 |
| LAD | Tommy Edman | batter / 2B | worse | predicted_BB 1.758 |
| LAD | Alex Call | batter / CF | worse | predicted_AB 1.5 |
| LAD | Max Muncy | batter / 3B | better | predicted_AB 1.48 |
| LAD | Alex Freeland | batter / SS | worse | predicted_H 1.395 |
| LAD | Freddie Freeman | batter / 1B | worse | predicted_SO 1.292 |
| 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 (H: current=8, sim=10; HR: current=2, sim=4). | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (H: current=8, sim=6; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=2; SO: current=10, sim=8). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Héctor Rodríguez: AB current=4 box=3, H current=1 box=2, BB current=0 box=1, SO current=1 box=0; Elly De La Cruz: AB current=5 box=4, H current=1 box=2, 3B current=0 box=1, RBI current=1 box=3; JJ Bleday: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Tyler Stephenson: 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Sal Stewart: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Eugenio Suárez: AB current=3 box=4, H current=1 box=0; Matt McLain: AB current=3 box=4, R current=1 box=0, SO current=1 box=2; Ke'Bryan Hayes: H current=1 box=0, SO current=1 box=0 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=10; 2B: current=2, sim=1; 3B: current=0, sim=1; HR: current=1, sim=4; RBI: current=4, sim=6; R: current=5, sim=6; SO: current=8, sim=10). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Tommy Edman: AB current=4 box=3, 3B current=0 box=1, RBI current=1 box=2, BB current=0 box=2; Freddie Freeman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Teoscar Hernández: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Alex Call: AB current=3 box=4, H current=1 box=0, SO current=0 box=1; Alex Freeland: AB current=3 box=4, H current=1 box=2, R current=0 box=1; Max Muncy: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Kyle Tucker: HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=2 | LAD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CLE | Joey Cantillo | 2 ER / 14 outs | 4 ER / 7 outs | 2 |
| BAL | Trevor Rogers | 3 ER / 17 outs | 1 ER / 22 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: Joey Cantillo (CLE) posted 15.43 ERA vs projected 3.86 (4 ER in 7 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
Joey Cantillo (CLE) threw 7 outs, 4 ER = 15.43 ERA against a projected 3.86 ERA (11.57 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 6 runs on 9 hits and 2 HR, against a projected 4 runs / 7 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
Trevor Rogers (BAL) threw 22 outs, 1 ER = 1.23 ERA against a projected 4.76 ERA (-3.53 ERA error)
Bullpen behind him: 3 ER over 5 outs.
The AWAY lineup he faced produced 3 runs on 8 hits and 0 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| CLE | Joey Cantillo (Starter) | 7 / 14 | 15.43 / 3.86 (+11.57) | 4 / 2 | 3 / 2 | 1 / 1 | 5 / 0 | 3 / 6 | venue away: 3.81 vs 3.82 ERA (ok) · opp run factor 0.99 (average) · 29 prior appearances this season |
| CLE | Daniel Espino (Reliever) | 3 / 0 | 0 / n/a | 0 / 2 | 2 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | |
| BAL | Trevor Rogers (Starter) | 22 / 17 | 1.23 / 4.76 (-3.53) | 1 / 3 | 6 / 6 | 0 / 1 | 0 / 3 | 6 / 3 | venue home: 4.05 vs 4.34 ERA (ok) · opp run factor 1.01 (weak) · 26 prior appearances this season |
| BAL | Andrew Kittredge (Closer) | 2 / 3 | 40.5 / 0 (+40.50) | 3 / 0 | 3 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | |
| BAL | Josh Walker (Middle Reliever (High Leverage)) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 2 | |
| BAL | Rico Garcia (Setup Man) | 2 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BAL | Coby Mayo (3B) | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 3 / 1 | 2 / 1 | 0 / 0 | 2 / 1 | 2.33 | 0.317 average | no signal |
| BAL | Rece Hinds (CF) | 2 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 2 | 1.6 | 0.158 weak | good day |
| BAL | Pete Alonso (1B) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | 0 / 1 | -1.07 | 0.392 elite | bad day |
| CLE | Brayan Rocchio (SS) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.291 below average | projection too high |
| CLE | David Fry (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.259 weak | projection too high |
| CLE | Jo Adell (DH) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.324 above average | projection too low |
| BAL | Dylan Beavers (LF) | 4 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 0.78 | 0.303 below average | good day |
| BAL | Gunnar Henderson (SS) | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.315 average | no signal |
| CLE | Angel Genao (2B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.29 below average | — |
| BAL | Christian Encarnacion-Strand (DH) | 4 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.345 elite | — |
| CLE | José Ramírez (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | -0.33 | 0.335 above average | — |
| CLE | Angel Martínez (RF) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.31 | 0.303 below average | — |
| BAL | Blaze Alexander (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 0.19 | 0.352 elite | — |
| CLE | Steven Kwan (LF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0.14 | 0.322 above average | — |
| BAL | Samuel Basallo (C) | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 1 | 1 / 1 | 0.14 | 0.322 above average | — |
| CLE | Petey Halpin (CF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.283 weak | — |
| CLE | Austin Hedges (C) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.275 weak | — |
| BAL | Jackson Holliday (2B) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.303 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.116 | positive favors home; negative favors away |
| Recent form | -0.235 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.025 | positive favors home; negative favors away |
| Composite | 0.004 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.21-4.24 | 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.508 | 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.21-4.24 | 4-4 | -0.032 | 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, 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 |
|---|---|---|---|---|
| CLE | Daniel Espino | pitcher / Reliever | worse | predicted_ER 2 |
| BAL | Trevor Rogers | pitcher / Starter | neutral | predicted_SO 2 |
| BAL | Pete Alonso | batter / 1B | boosted | predicted_SO 1.929 |
| BAL | Blaze Alexander | batter / RF | worse | predicted_AB 1.835 |
| BAL | Dylan Beavers | batter / LF | worse | predicted_H 1.77 |
| BAL | Jackson Holliday | batter / 2B | better | predicted_RBI 1.68 |
| CLE | Austin Hedges | batter / C | boosted | predicted_RBI 1.66 |
| CLE | David Fry | batter / 1B | worse | predicted_AB 1.5 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BAL |
| info | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | BAL model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7). | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=31, sim=39; H: current=7, sim=9; 2B: current=2, sim=0; HR: current=1, sim=2; BB: current=3, sim=0; SO: current=10, sim=12). | BAL |
| info | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Blaze Alexander: AB current=3 box=5, R current=0 box=1; Jackson Holliday: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=2; Christian Encarnacion-Strand: AB current=3 box=4, 2B current=1 box=0, RBI current=1 box=0; Pete Alonso: AB current=4 box=5, H current=1 box=2, RBI current=1 box=2, BB current=1 box=0; Coby Mayo: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Rece Hinds: AB current=3 box=4, H current=0 box=1, SO current=2 box=1; Gunnar Henderson: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Samuel Basallo: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=8, sim=7; R: current=4, sim=3; BB: current=3, sim=4; SO: current=7, sim=8; HBP: current=0, sim=1). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Jo Adell: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Angel Martínez: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; David Fry: AB current=3 box=4, H current=1 box=0; Angel Genao: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0; José Ramírez: H current=1 box=0, R current=1 box=0, SO current=0 box=1; Petey Halpin: SO current=1 box=0, HBP current=0 box=1; Austin Hedges: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Steven Kwan: AB current=4 box=5, H current=1 box=2, RBI current=0 box=1, BB current=1 box=0 | CLE |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAA | Grayson Rodriguez | 3 ER / 15 outs | 5 ER / 12 outs | 2 |
| BOS | Brayan Bello | 2 ER / 13 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: Grayson Rodriguez (LAA) posted 11.25 ERA vs projected 5.40 (5 ER in 12 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
Grayson Rodriguez (LAA) threw 12 outs, 5 ER = 11.25 ERA against a projected 5.4 ERA (5.85 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 5 runs on 9 hits and 2 HR, against a projected 4 runs / 8 hits (1 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Brayan Bello (BOS) threw 15 outs, 0 ER = 0 ERA against a projected 4.15 ERA (-4.15 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY 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
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| LAA | Grayson Rodriguez (Starter) | 12 / 15 | 11.25 / 5.4 (+5.85) | 5 / 3 | 6 / 4 | 2 / 2 | 4 / 0 | 3 / 5 | venue away: 3.9 vs 7.54 ERA (ok) · opp run factor 1.01 (average) · 16 prior appearances this season |
| LAA | Ben Joyce (Closer) | 3 / 7 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 2 | |
| BOS | Brayan Bello (Starter) | 15 / 13 | 0 / 4.15 (-4.15) | 0 / 2 | 4 / 4 | 0 / 1 | 2 / 2 | 7 / 4 | venue home: 10.95 vs 10.03 ERA (worse here) · opp run factor 0.99 (weak) · 22 prior appearances this season |
| BOS | Garrett Whitlock (Middle Reliever (High Leverage)) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 0 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LAA | Moisés Ballesteros (1B) | 4 / 3 | 3 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 2.65 | 0.289 below average | good day |
| BOS | Jarren Duran (LF) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.71 | 0.296 below average | good day |
| LAA | Mike Trout (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.26 | 0.375 elite | bad day |
| BOS | Isiah Kiner-Falefa (2B) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 0 / 0 | 1.13 | 0.307 average | no signal |
| LAA | Josh Lowe (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.291 below average | projection too high |
| LAA | Zach Neto (SS) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.305 average | no signal |
| BOS | Trevor Story (SS) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.78 | 0.252 weak | projection too high |
| BOS | Caleb Durbin (3B) | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.78 | 0.289 below average | good day |
| BOS | Wilyer Abreu (RF) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -0.78 | 0.347 elite | bad day |
| LAA | Wade Meckler (LF) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 0 / 1 | 0.66 | 0.311 average | no signal |
| LAA | Kyren Paris (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.698 elite | — |
| BOS | Mickey Gasper (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.377 elite | — |
| BOS | Eli White (CF) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.275 weak | — |
| LAA | Vaughn Grissom (3B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | -0.45 | 0.314 average | — |
| LAA | Christian Moore (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.249 weak | — |
| LAA | Tyler Heineman (C) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.243 weak | — |
| BOS | Roman Anthony (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 | 0.356 elite | — |
| BOS | Adley Rutschman (C) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.334 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.013 | positive favors home; negative favors away |
| Recent form | 0.658 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.02 | positive favors home; negative favors away |
| Composite | 1.125 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.26-4.91 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 0.623 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average) |
| embedded_savant_run_environment | 3-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.26-4.91 | 4-5 | 0.348 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 3-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average) |
| embedded_savant_run_environment | 3-5 | 3-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | 3-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | 3-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-5 | 3-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 |
|---|---|---|---|---|
| BOS | Mickey Gasper | batter / 1B | better | predicted_RBI 3.569 |
| BOS | Roman Anthony | batter / DH | worse | predicted_SO 1.842 |
| BOS | Trevor Story | batter / SS | worse | predicted_AB -1.64 |
| BOS | Wilyer Abreu | batter / RF | worse | predicted_AB -1.5 |
| LAA | Josh Lowe | batter / RF | better | predicted_H 1.391 |
| LAA | Zach Neto | batter / SS | worse | predicted_SO -1.384 |
| LAA | Christian Moore | batter / 2B | better | predicted_H 1.38 |
| LAA | Moisés Ballesteros | batter / 1B | worse | predicted_H 1.368 |
| 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 | 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_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=34, sim=30; H: current=8, sim=6; 2B: current=2, sim=0; HR: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=0; SO: current=7, sim=8). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: BB current=1 box=0, SO current=1 box=3; Mickey Gasper: AB current=3 box=4, H current=1 box=2, HR current=0 box=2, RBI current=1 box=4; Trevor Story: AB current=5 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Adley Rutschman: AB current=5 box=4; Caleb Durbin: H current=1 box=0, SO current=0 box=1; Eli White: RBI current=1 box=0, R current=0 box=1; Wilyer Abreu: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Jarren Duran: AB current=4 box=3, R current=0 box=1, SO current=1 box=0 | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=31, sim=35; H: current=7, sim=9; 2B: current=1, sim=2; 3B: current=0, sim=2; BB: current=3, sim=2; SO: current=9, sim=6; SF: current=0, sim=1). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Wade Meckler: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Vaughn Grissom: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Mike Trout: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Moisés Ballesteros: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, SO current=1 box=2; Josh Lowe: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Kyren Paris: 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Zach Neto: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Christian Moore: H current=1 box=2, 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | LAA |
| 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 | Joe Ryan | 4 ER / 17 outs | 2 ER / 12 outs | -2 |
| DET | Troy Melton | 2 ER / 18 outs | 4 ER / 17 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: Troy Melton (DET) posted 6.35 ERA vs projected 3.00 (4 ER in 17 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
Joe Ryan (MIN) threw 12 outs, 2 ER = 4.5 ERA against a projected 6.35 ERA (-1.85 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 5 runs on 8 hits and 2 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
HOME pitching
Troy Melton (DET) threw 17 outs, 4 ER = 6.35 ERA against a projected 3 ERA (3.35 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 4 runs on 8 hits and 1 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| MIN | Joe Ryan (Starter) | 12 / 17 | 4.5 / 6.35 | 2 / 4 | 3 / 7 | 1 / 0 | 1 / 1 | 7 / 6 | venue away: 3.88 vs 3.44 ERA (ok) · opp run factor 0.95 (average) · 23 prior appearances this season |
| DET | Troy Melton (Starter) | 17 / 18 | 6.35 / 3 (+3.35) | 4 / 2 | 7 / 3 | 1 / 1 | 1 / 2 | 3 / 5 | venue home: 2.37 vs 2.06 ERA (ok) · opp run factor 0.99 (average) · 17 prior appearances this season |
| DET | Kenley Jansen (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 0 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | Trevor Larnach (LF) | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.327 above average | projection too low |
| MIN | Ryan Jeffers (C) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.357 elite | bad day |
| DET | Zach McKinstry (RF) | 3 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.62 | 0.282 weak | good day |
| DET | Riley Greene (LF) | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.61 | 0.369 elite | projection too low |
| MIN | Kody Clemens (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | -0.6 | 0.339 elite | bad day |
| DET | Kevin McGonigle (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0.6 | 0.35 elite | projection too low |
| MIN | Royce Lewis (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.315 average | — |
| DET | Colt Keith (DH) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.335 above average | — |
| DET | Dillon Dingler (C) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -0.47 | 0.343 elite | — |
| MIN | Walker Jenkins (CF) | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0.45 | 0.24 weak | — |
| MIN | Luke Keaschall (RF) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 / 0 | 0.33 | 0.314 average | — |
| MIN | Brooks Lee (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0.33 | 0.276 weak | — |
| DET | Gleyber Torres (2B) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.327 above average | — |
| DET | John Peck (SS) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.325 above average | — |
| MIN | Kaelen Culpepper (SS) | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.16 | 0.313 average | — |
| MIN | Josh Bell (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.331 above average | — |
| DET | Max Clark (CF) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 2 / 1 | 0.02 | 0.311 average | — |
| DET | Spencer Torkelson (1B) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.31 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.257 | positive favors home; negative favors away |
| Recent form | -0.55 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.046 | positive favors home; negative favors away |
| Composite | -0.277 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.38-4.38 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.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.38-4.38 | 4-4 | -0.003 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 5-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, 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 | Colt Keith | batter / DH | better | predicted_RBI 3.756 |
| DET | Troy Melton | pitcher / Starter | better | predicted_ER -3 |
| MIN | Luke Keaschall | batter / RF | worse | predicted_RBI 1.669 |
| MIN | Brooks Lee | batter / 3B | worse | predicted_AB -1.39 |
| MIN | Kody Clemens | batter / 2B | better | predicted_AB -1.35 |
| DET | Zach McKinstry | batter / RF | better | predicted_H 1.35 |
| DET | Riley Greene | batter / LF | worse | predicted_AB -1.33 |
| MIN | Ryan Jeffers | batter / C | worse | predicted_SO 1.316 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | DET model-prediction batting totals differ from final simulation box score (AB: current=36, sim=34; H: current=8, sim=7; 2B: current=2, sim=3; HR: current=1, sim=0; BB: current=3, sim=2; SO: current=8, sim=9; HBP: current=0, sim=1). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Colt Keith: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=4, R current=0 box=1; Kevin McGonigle: BB current=1 box=0; Riley Greene: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Gleyber Torres: AB current=5 box=4, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Zach McKinstry: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Dillon Dingler: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; John Peck: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Max Clark: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0 | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=8, sim=6; 2B: current=2, sim=0; SO: current=7, sim=5). | MIN |
| info | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: RBI current=0 box=2, BB current=1 box=0, SO current=0 box=1; Kody Clemens: AB current=4 box=3, HR current=1 box=0, BB current=0 box=1, SO current=1 box=0; Brooks Lee: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Royce Lewis: H current=1 box=2, R current=0 box=1, SO current=1 box=0; Josh Bell: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Ryan Jeffers: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Trevor Larnach: AB current=3 box=4, R current=0 box=1, SO current=1 box=0; Kaelen Culpepper: 2B current=1 box=0, HR current=0 box=1, 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 |
|---|---|---|---|---|
| NYM | Jonah Tong | 3 ER / 10 outs | 4 ER / 15 outs | 1 |
| MIA | Eury Pérez | 3 ER / 16 outs | 5 ER / 12 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: Eury Pérez (MIA) posted 11.25 ERA vs projected 5.06 (5 ER in 12 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
Jonah Tong (NYM) threw 15 outs, 4 ER = 7.2 ERA against a projected 8.1 ERA (-0.9 ERA error) only 3 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 4 runs on 6 hits and 1 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Eury Pérez (MIA) threw 12 outs, 5 ER = 11.25 ERA against a projected 5.06 ERA (6.19 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 9 runs on 16 hits and 0 HR, against a projected 4 runs / 8 hits (5 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| NYM | Jonah Tong (Starter) | 15 / 10 | 7.2 / 8.1 | 4 / 3 | 4 / 8 | 1 / 1 | 1 / 1 | 7 / 5 | opp run factor 1 (average) · thin sample: 3 prior appearances this season (high uncertainty) |
| NYM | Daniel Duarte (Setup Man) | 3 / 6 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 3 | 0 / 0 | |
| MIA | Eury Pérez (Starter) | 12 / 16 | 11.25 / 5.06 (+6.19) | 5 / 3 | 10 / 7 | 0 / 1 | 3 / 1 | 5 / 1 | venue home: 2.81 vs 4.54 ERA (ok) · opp run factor 0.96 (weak) · 25 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | Javier Sanoja (2B) | 3 / 3 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1.42 | 0.288 below average | good day |
| MIA | Heriberto Hernández (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -1.4 | 0.355 elite | bad day |
| MIA | Graham Pauley (3B) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 1.4 | 0.231 weak | good day |
| NYM | Nick Morabito (LF) | 4 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1.27 | 0.294 below average | good day |
| NYM | A.J. Ewing (CF) | 5 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1.25 | 0.322 above average | projection too low |
| MIA | Kyle Stowers (DH) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 2 | -1.11 | 0.336 above average | bad day |
| NYM | Bo Bichette (3B) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 0.8 | 0.326 above average | projection too low |
| MIA | Griffin Conine (1B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.37 elite | bad day |
| NYM | Marcus Semien (2B) | 5 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 0 / 1 | 0 / 1 | 0.76 | 0.306 average | no signal |
| MIA | Joe Mack (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.29 below average | — |
| NYM | Juan Soto (DH) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | 1 / 1 | -0.46 | 0.416 elite | — |
| NYM | Carson Benge (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 0 | 2 / 1 | 0.33 | 0.336 above average | — |
| NYM | Brett Baty (1B) | 4 / 3 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.308 average | — |
| NYM | Francisco Alvarez (C) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 0.33 | 0.326 above average | — |
| MIA | Otto Lopez (SS) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.324 above average | — |
| NYM | Francisco Lindor (SS) | 6 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 3 / 1 | 0.14 | 0.338 above average | — |
| MIA | Jakob Marsee (CF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.307 average | — |
| MIA | Owen Caissie (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 2 / 1 | -0.14 | 0.294 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.291 | positive favors home; negative favors away |
| Recent form | -0.042 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.039 | positive favors home; negative favors away |
| Composite | 0.414 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.5-4.81 | n/a | Base ML historical model prediction |
| variance_applied | 3-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.521 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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-4.81 | 3-5 | 0.686 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 4-5 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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 |
|---|---|---|---|---|
| NYM | Juan Soto | batter / DH | better | predicted_RBI 3.378 |
| MIA | Griffin Conine | batter / 1B | worse | predicted_AB 1.958 |
| NYM | Nick Morabito | batter / LF | better | predicted_H 1.737 |
| MIA | Owen Caissie | batter / RF | better | predicted_RBI 1.56 |
| MIA | Joe Mack | batter / C | better | predicted_RBI 1.51 |
| MIA | Kyle Stowers | batter / DH | better | predicted_SO -1.349 |
| MIA | Graham Pauley | batter / 3B | worse | predicted_AB 1.333 |
| NYM | Bo Bichette | batter / 3B | worse | predicted_H -1.21 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIA |
| info | CURRENT_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_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=8, sim=11; HR: current=1, sim=2; BB: current=3, sim=5; SO: current=9, sim=5). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Stowers: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Griffin Conine: AB current=3 box=5, H current=1 box=2, BB current=1 box=0; Javier Sanoja: H current=1 box=0, BB current=0 box=1, SO current=0 box=1; Heriberto Hernández: HR current=1 box=0, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=2; Otto Lopez: H current=1 box=2, 2B current=1 box=0, SO current=1 box=0; Jakob Marsee: AB current=4 box=3, 2B current=0 box=1, R current=1 box=0, SO current=1 box=0; Owen Caissie: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Graham Pauley: AB current=3 box=4 | MIA |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (H: current=8, sim=9; HR: current=1, sim=2; RBI: current=5, sim=4; BB: current=3, sim=1; SO: current=9, sim=2). | 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=2, HR current=1 box=2, RBI current=1 box=4; Carson Benge: H current=1 box=0, R current=1 box=0, SO current=1 box=0; A.J. Ewing: H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Marcus Semien: H current=1 box=0, BB current=1 box=0, SO current=1 box=0; Brett Baty: AB current=3 box=4, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Nick Morabito: AB current=3 box=4, H current=0 box=2, R current=0 box=1; Francisco Alvarez: RBI current=1 box=0, SO current=1 box=0; Bo Bichette: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | NYM |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| STL | Michael McGreevy | 2 ER / 16 outs | 2 ER / 20 outs | 0 |
| SF | Logan Webb | 4 ER / 16 outs | 1 ER / 18 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: Logan Webb (SF) posted 1.50 ERA vs projected 6.75 (1 ER in 18 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
Michael McGreevy (STL) threw 20 outs, 2 ER = 2.7 ERA against a projected 3.38 ERA (-0.68 ERA error)
Bullpen behind him: 0 ER over 7 outs.
The HOME lineup he faced produced 4 runs on 10 hits and 0 HR, against a projected 4 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Logan Webb (SF) threw 18 outs, 1 ER = 1.5 ERA against a projected 6.75 ERA (-5.25 ERA error)
Bullpen behind him: 1 ER over 14 outs.
The AWAY lineup he faced produced 4 runs on 9 hits and 1 HR, against a projected 5 runs / 9 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| STL | Michael McGreevy (Starter) | 20 / 16 | 2.7 / 3.38 | 2 / 2 | 6 / 3 | 0 / 2 | 2 / 2 | 4 / 1 | venue away: 3.89 vs 4.06 ERA (ok) · opp run factor 0.98 (weak) · 27 prior appearances this season |
| STL | George Soriano (Setup Man) | 1 / 3 | 0 / 18 (-18.00) | 0 / 2 | 1 / 1 | 0 / 0 | 0 / 2 | 0 / 1 | |
| STL | Riley O'Brien (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 / 2 | |
| STL | Ryne Stanek (Middle Reliever (High Leverage)) | 3 / 5 | 0 / 5.4 (-5.40) | 0 / 1 | 2 / 2 | 0 / 0 | 1 / 1 | 1 / 1 | |
| SF | Logan Webb (Starter) | 18 / 16 | 1.5 / 6.75 (-5.25) | 1 / 4 | 3 / 6 | 1 / 2 | 2 / 2 | 8 / 5 | venue home: 3.39 vs 5.29 ERA (ok) · opp run factor 1.08 (average) · 25 prior appearances this season |
| SF | Trent Harris (Setup Man) | 3 / 4 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 2 / 2 | |
| SF | Dylan Smith (Closer) | 5 / 3 | 5.4 / 0 (+5.40) | 1 / 0 | 4 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | |
| SF | Jason Foley (Middle Reliever (High Leverage)) | 6 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SF | Shay Whitcomb (3B) | 5 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.94 | 0.251 weak | good day |
| STL | Joshua Baez (LF) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | -0.93 | 0.337 above average | bad day |
| SF | Turner Hill (LF) | 4 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 1 / 1 | 0 / 1 | -0.78 | 0.346 elite | bad day |
| STL | Alec Burleson (1B) | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 0 / 0 | 2 / 1 | 0.62 | 0.373 elite | projection too low |
| SF | Rafael Devers (DH) | 3 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | 0 / 1 | 0.49 | 0.339 elite | — |
| SF | Andrew Knizner (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.271 weak | — |
| STL | Bryan Torres (2B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.298 below average | — |
| STL | Leonardo Bernal (DH) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.365 elite | — |
| SF | Christian Koss (SS) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.236 weak | — |
| SF | Jung Hoo Lee (RF) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.316 average | — |
| STL | Nathan Church (CF) | 5 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.31 | 0.282 weak | — |
| STL | Thomas Saggese (SS) | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.313 average | — |
| STL | Nolan Gorman (3B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.276 weak | — |
| SF | Bryce Eldridge (1B) | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.356 elite | — |
| STL | Jordan Walker (RF) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 1 | 0.02 | 0.347 elite | — |
| STL | Iván Herrera (C) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.332 above average | — |
| SF | Osleivis Basabe (2B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.273 weak | — |
| SF | Jonah Cox (CF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.273 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.516 | positive favors home; negative favors away |
| Recent form | -0.372 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.103 | positive favors home; negative favors away |
| Composite | -0.963 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.26-4.78 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-5 | 0.627 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 7-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.26-4.78 | 4-5 | -0.485 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 7-5 | 3 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 7-5 | 7-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | 7-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | 7-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-5 | 7-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| STL | Bryan Torres | batter / 2B | better | predicted_AB 2.5 |
| STL | Leonardo Bernal | batter / DH | better | predicted_RBI 2 |
| SF | Turner Hill | batter / LF | boosted | predicted_AB 1.941 |
| STL | Iván Herrera | batter / C | better | predicted_BB 1.543 |
| SF | Rafael Devers | batter / DH | better | predicted_BB 1.538 |
| SF | Andrew Knizner | batter / C | worse | predicted_AB 1.5 |
| SF | Jonah Cox | batter / CF | worse | predicted_AB 1.5 |
| SF | Jung Hoo Lee | batter / RF | worse | predicted_RBI 1.39 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SF |
| info | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | STL |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model pitcher projections differ from final simulation pitching box score (BB: current=2, sim=3). | SF |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=8, sim=6; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=6; SO: current=9, sim=5). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Turner Hill: AB current=3 box=5, H current=1 box=2, 2B current=1 box=2, R current=0 box=1; Rafael Devers: AB current=4 box=3, BB current=1 box=2, SO current=1 box=0; Bryce Eldridge: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Osleivis Basabe: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Andrew Knizner: AB current=3 box=4, H current=1 box=0; Christian Koss: BB current=0 box=1, SO current=1 box=0; Jung Hoo Lee: AB current=5 box=4, 3B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Jonah Cox: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=0 box=1 | SF |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=9, sim=10; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=5, sim=7; R: current=5, sim=7; HBP: current=0, sim=1). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: Iván Herrera: AB current=4 box=3, RBI current=1 box=0, BB current=1 box=2; Bryan Torres: AB current=3 box=5, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Leonardo Bernal: AB current=4 box=5, HR current=0 box=1, RBI current=1 box=3, BB current=1 box=0; Joshua Baez: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Thomas Saggese: AB current=3 box=4, 2B current=0 box=1, R current=1 box=0, BB current=1 box=0; Nolan Gorman: RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Alec Burleson: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Nathan Church: AB current=3 box=4, H current=1 box=2, R current=0 box=1, SO current=0 box=1 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TOR | Dylan Cease | 2 ER / 18 outs | 4 ER / 15 outs | 2 |
| OAK | Jacob Lopez | 5 ER / 15 outs | 4 ER / 18 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Dylan Cease (TOR) posted 7.20 ERA vs projected 3.00 (4 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Dylan Cease (TOR) threw 15 outs, 4 ER = 7.2 ERA against a projected 3 ERA (4.2 ERA error)
Bullpen behind him: 1 ER over 5 outs.
The HOME lineup he faced produced 6 runs on 6 hits and 1 HR, against a projected 4 runs / 8 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
Jacob Lopez (OAK) threw 18 outs, 4 ER = 6 ERA against a projected 9 ERA (-3 ERA error)
Bullpen behind him: 1 ER over 9 outs.
The AWAY lineup he faced produced 5 runs on 9 hits and 3 HR, against a projected 4 runs / 9 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Dylan Cease (Starter) | 15 / 18 | 7.2 / 3 (+4.20) | 4 / 2 | 4 / 3 | 1 / 0 | 2 / 1 | 6 / 7 | venue away: 1.54 vs 2.91 ERA (ok) · opp run factor 0.92 (weak) · 26 prior appearances this season |
| TOR | Louis Varland (Closer) | 2 / 3 | 13.5 / 0 (+13.50) | 1 / 0 | 2 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | |
| TOR | Tyler Rogers (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | |
| OAK | Jacob Lopez (Starter) | 18 / 15 | 6 / 9 (-3.00) | 4 / 5 | 7 / 6 | 2 / 1 | 1 / 2 | 1 / 8 | venue home: 5.11 vs 4.02 ERA (worse here) · opp run factor 1.1 (weak) · 23 prior appearances this season |
| OAK | Luis Medina (Middle Reliever (High Leverage)) | 5 / 4 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | |
| OAK | Hogan Harris (Setup Man) | 4 / 5 | 6.75 / 5.4 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | 1 / 2 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | Andrés Giménez (SS) | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1.71 | 0.269 weak | good day |
| OAK | Henry Bolte (CF) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 3 / 1 | 3 / 1 | 0 / 1 | 1.59 | 0.311 average | no signal |
| TOR | Alejandro Kirk (C) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1.4 | 0.302 below average | good day |
| TOR | George Springer (DH) | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.306 average | no signal |
| OAK | Lawrence Butler (RF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 3 / 1 | -0.8 | 0.322 above average | bad day |
| OAK | Alika Williams (SS) | 4 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.78 | 0.243 weak | projection too high |
| OAK | Jonah Heim (C) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.292 below average | projection too high |
| TOR | Kazuma Okamoto (3B) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 2 / 0 | 0 / 1 | 0.66 | 0.317 average | no signal |
| OAK | Zack Gelof (3B) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 2 / 1 | 0 / 0 | 0 / 1 | -0.62 | 0.313 average | no signal |
| TOR | Brett Bateman (CF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.3 below average | — |
| TOR | Myles Straw (LF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.3 below average | — |
| TOR | Nathan Lukes (RF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.289 below average | — |
| OAK | Carlos Cortes (LF) | 2 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.304 below average | — |
| TOR | Ernie Clement (2B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | -0.31 | 0.265 weak | — |
| TOR | Vladimir Guerrero Jr. (1B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 0 | 0.332 above average | — |
| OAK | Jeff McNeil (1B) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 | 0.306 average | — |
| OAK | Max Muncy (DH) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 3 / 1 | 0 | 0.291 below average | — |
| OAK | Donovan Walton (2B) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 0 | 0.333 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.973 | positive favors home; negative favors away |
| Recent form | -0.906 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.173 | positive favors home; negative favors away |
| Composite | -1.863 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.9-3.64 | n/a | Base ML historical model prediction |
| variance_applied | 6-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-3 | 0.7 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 6-2 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-2 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-2 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-2 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.9-3.64 | 6-4 | -0.266 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 6-3 | 1 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 6-3 | 6-2 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-2 | 6-2 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-2 | 6-2 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-2 | 6-2 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TOR | Dylan Cease | pitcher / Starter | better | predicted_SO 3 |
| TOR | Nathan Lukes | batter / RF | better | predicted_RBI 2.56 |
| OAK | Zack Gelof | batter / 3B | worse | predicted_AB -2.48 |
| TOR | Alejandro Kirk | batter / C | worse | predicted_AB -2.2 |
| OAK | Carlos Cortes | batter / LF | worse | predicted_RBI 1.638 |
| TOR | Myles Straw | batter / LF | worse | predicted_SO 1.624 |
| TOR | Vladimir Guerrero Jr. | batter / 1B | better | predicted_RBI 1.44 |
| OAK | Jonah Heim | batter / C | worse | predicted_SO 1.315 |
| 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 | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TOR |
| 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=4; HR: current=1, sim=0; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=3, sim=2; SO: current=8, sim=7; HBP: current=0, sim=2). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Jeff McNeil: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Carlos Cortes: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Max Muncy: H current=1 box=0, R current=1 box=0, BB current=0 box=1; Alika Williams: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Donovan Walton: H current=0 box=1, 2B current=0 box=1, BB current=1 box=0, HBP current=0 box=1; Jonah Heim: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, SO current=1 box=2; Zack Gelof: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=35, sim=34; H: current=9, sim=7; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=4, sim=6; SO: current=6, sim=11). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: George Springer: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Vladimir Guerrero Jr.: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, BB current=0 box=1; Brett Bateman: BB current=1 box=0; Alejandro Kirk: AB current=5 box=3, H current=1 box=0, RBI current=1 box=0, R current=0 box=1; Kazuma Okamoto: H current=1 box=2, 2B current=0 box=1, SO current=1 box=2; Myles Straw: AB current=3 box=4, H current=1 box=0, SO current=0 box=2; Nathan Lukes: H current=1 box=2, 2B current=0 box=1, HR current=0 box=1, RBI current=1 box=3; Ernie Clement: H current=1 box=0, 2B current=1 box=0, SO current=0 box=1 | TOR |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| WAS | Jake Irvin | 3 ER / 14 outs | 3 ER / 17 outs | 0 |
| SD | Nick Pivetta | 4 ER / 15 outs | 0 ER / 15 outs | -4 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Nick Pivetta (SD) posted 0.00 ERA vs projected 7.20 (0 ER in 15 outs). Thin prior record (4 prior appearances this season): high projection uncertainty.
What to do: Reduce game confidence for starters the feed has little on (scale by prior appearances); prefer priors and validate any run-param change in shadow.
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
Jake Irvin (WAS) threw 17 outs, 3 ER = 4.76 ERA against a projected 5.79 ERA (-1.03 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 3 runs on 9 hits and 0 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
Nick Pivetta (SD) threw 15 outs, 0 ER = 0 ERA against a projected 7.2 ERA (-7.2 ERA error) only 4 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 9 outs.
The AWAY lineup he faced produced 2 runs on 5 hits and 1 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| WAS | Jake Irvin (Starter) | 17 / 14 | 4.76 / 5.79 | 3 / 3 | 8 / 3 | 0 / 1 | 2 / 4 | 3 / 3 | venue away: 4.76 vs 6.75 ERA (ok) · opp run factor 0.94 (average) · 18 prior appearances this season |
| SD | Nick Pivetta (Starter) | 15 / 15 | 0 / 7.2 (-7.20) | 0 / 4 | 2 / 3 | 0 / 3 | 0 / 0 | 2 / 7 | venue home: 4.91 vs 3.6 ERA (ok) · opp run factor 1.03 (strong) · thin sample: 4 prior appearances this season (high uncertainty) |
| SD | Bradgley Rodriguez (Middle Reliever (High Leverage)) | 3 / 5 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | |
| SD | Adrian Morejon (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | |
| SD | Mason Miller (Closer) | 3 / 4 | 0 / 6.75 (-6.75) | 0 / 1 | 1 / 2 | 0 / 0 | 0 / 0 | 2 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| WAS | CJ Abrams (SS) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.329 above average | bad day |
| WAS | Dylan Crews (LF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 1.4 | 0.307 average | no signal |
| SD | Jackson Merrill (CF) | 4 / 5 | 3 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.338 above average | projection too low |
| SD | Luis Campusano (DH) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.344 elite | bad day |
| WAS | Keibert Ruiz (C) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.78 | 0.286 below average | projection too high |
| WAS | Brady House (3B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.336 above average | — |
| WAS | Daylen Lile (DH) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.33 above average | — |
| WAS | Abimelec Ortiz (1B) | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.293 below average | — |
| WAS | Jacob Young (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.32 average | — |
| SD | Jake Cronenworth (2B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.271 weak | — |
| SD | Dustin Harris (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.328 above average | — |
| SD | Manny Machado (3B) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.336 above average | — |
| WAS | Jorbit Vivas (2B) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | -0.33 | 0.298 below average | — |
| WAS | James Wood (RF) | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.417 elite | — |
| SD | Ty France (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.332 above average | — |
| SD | Fernando Tatis Jr. (RF) | 4 / 5 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.01 | 0.375 elite | — |
| SD | Ethan Salas (C) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.147 weak | — |
| SD | Xander Bogaerts (SS) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 | 0.32 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.037 | positive favors home; negative favors away |
| Recent form | -0.385 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.093 | positive favors home; negative favors away |
| Composite | -0.142 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.15-5.65 | n/a | Base ML historical model prediction |
| variance_applied | 3-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 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-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.15-5.65 | 3-6 | 0.498 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-6 | 5-6 | -2 | 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-6 | 5-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | 5-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | 5-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 5-6 | 5-6 | 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 |
|---|---|---|---|---|
| WAS | Abimelec Ortiz | batter / 1B | better | predicted_RBI 2.82 |
| WAS | Keibert Ruiz | batter / C | better | predicted_SO 2.6 |
| SD | Dustin Harris | batter / LF | worse | predicted_SO 2.5 |
| SD | Manny Machado | batter / 3B | worse | predicted_AB -2.09 |
| SD | Ty France | batter / 1B | better | predicted_RBI 1.57 |
| SD | Luis Campusano | batter / DH | better | predicted_RBI 1.544 |
| SD | Ethan Salas | batter / C | better | predicted_AB 1.333 |
| WAS | CJ Abrams | batter / SS | worse | predicted_SO -1.059 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | WAS |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=7; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=5; SO: current=8, sim=6). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Jake Cronenworth: H current=1 box=0, SO current=1 box=0; Fernando Tatis Jr.: AB current=5 box=4, H current=1 box=2, HR current=1 box=0; Luis Campusano: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1, SO current=1 box=0; Manny Machado: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ty France: HR current=0 box=1, RBI current=0 box=2, BB current=0 box=1, SO current=1 box=0; Jackson Merrill: AB current=5 box=4, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Ethan Salas: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1; Dustin Harris: AB current=3 box=4, R current=0 box=1, SO current=0 box=3 | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=8, sim=6; 2B: current=2, sim=0; 3B: current=0, sim=1; HR: current=1, sim=3; RBI: current=4, sim=5; BB: current=3, sim=2; SO: current=8, sim=10). | WAS |
| info | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Dylan Crews: H current=1 box=0, R current=1 box=0; Brady House: RBI current=1 box=0; Daylen Lile: 3B current=0 box=1; Abimelec Ortiz: H current=0 box=2, HR current=0 box=2, RBI current=0 box=3, R current=0 box=1; Jorbit Vivas: AB current=3 box=2, H current=1 box=0, SO current=0 box=1, HBP current=0 box=1; CJ Abrams: AB current=5 box=4, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; James Wood: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Keibert Ruiz: 2B current=1 box=0, HR current=0 box=1, R current=0 box=1, SO current=1 box=3 | WAS |
| 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 20260906. Last recorded change: v4.26.0 (20260906) The nightly self-improvement cycle runs at 05:00 America/New_York instead of 02:00.
| Metric | Prior | Current | Δ | Result |
|---|---|---|---|---|
| brier_score | 0.2509 | 0.2572 | +0.006333 | regressed |
| accuracy | 0.5583 | 0.5333 | -0.025 | regressed |
| team_run_mae | 2.6083 | 2.5958 | -0.0125 | improved |
| total_run_mae | 3.65 | 3.675 | +0.025 | regressed |
| calibration_error | 0.064 | 0.09 | +0.026 | regressed |
| starter_er_mae | 1.9795 | 1.9958 | +0.0163 | regressed |
| starter_outs_mae | 3.0123 | 3.0586 | +0.0463 | regressed |
All seven source_manifest entries were checked against the supplied evidence:
| Source | Status | Purpose |
|---|---|---|
prediction_review_20260907.json | Loaded | Official outcomes and scoring errors |
PREDICTION_SYSTEM_DEEP_AUDIT_20260907.json | Loaded | Probability, provenance, starter, and decision contracts |
continuous_learning_daily_20260907.json | Loaded | Pipeline-stage quality, calibration, probability lineage, score distribution, and starter comparisons |
detailed_20260907.html | Loaded | Full game and simulation rendering |
20260907_ultra_detailed_player_audit.html | Loaded | Player-level prediction trace |
audit_report_20260907.html | Loaded | Invariant findings |
audit_report_20260907_integrity_revision.html | Missing | Post-Luna remediation proof for immutable revision artifacts |
The missing integrity-revision audit is the only explicitly missing source. It prevents independent confirmation of immutable revision-artifact remediation, although the supplied structural and per-game audits report no critical or error findings.
All 11 expected games were reviewed:
ARI@KC, ATL@PHI, CHC@MIL, CIN@LAD, CLE@BAL, LAA@BOS, MIN@DET, NYM@MIA, STL@SF, TOR@OAK, and WAS@SD.
Coverage is internally complete for the principal slate artifacts:
This agrees with coverage_matrix.all_games_structurally_audited=true.
integrity revision audit is marked missing; no bytes are supplied.
The causal register identifies ARI@KC, CIN@LAD, LAA@BOS, and NYM@MIA as having unexplained calibrated-to-published deltas of at least two percentage points. This is a critical evidence/contract failure until traced.
Some records show a calibrated probability above 0.50 while the published pick probability is below 0.50 because the selected side changes from the home side to the away side. That is not necessarily a defect, but the lineage must clearly identify whether each probability is:
The game-level starter line lists away starter Jose Cabrera, with identity_match=false, actual 0.00 ERA over 6 outs, and no settled pitching line. The player-forensics block instead identifies Noah Cameron as the relevant Kansas City starter and explicitly reports the Arizona starter as missing. This is a real data-reconciliation issue, even though that game’s structural audit reports zero findings.
The structural summary reports 0 critical, 0 error, 0 warning, and 81 info, but the individual 81 informational finding texts are not present in the supplied object. They therefore cannot be enumerated by title without inventing evidence.
No source-labelled moneyline was available for any game. Consequently, market agreement or disagreement cannot be evaluated.
The analysis below uses only the listed player, starter, lineup, and run-deviation records.
---
The slate finished 6–5, or 54.55% winner accuracy. That is below the supplied walk-forward baseline accuracy of 55.53% and below the historical validation winner accuracy of 59.16%.
The system’s own headline is therefore directionally correct:
The slate should not be described as a good prediction merely because it got six winners correct.
Winner performance was weak but not catastrophically below chance:
ATL@PHI and WAS@SDCHC@MIL and CLE@BALLAA@BOSSTL@SF and TOR@OAKThe five misses were:
ARI@KC, MIN@DET, NYM@MIA, STL@SF, and TOR@OAK.
Calibration was poor on this slate:
The current slate’s confidence was anti-predictive at the upper end: strong convictions lost three of four times. This is material calibration evidence, but the causal register correctly warns not to fit a stable calibration curve from one slate.
The high-raw cluster was specifically:
TOR@OAKThat is a warning against treating raw or governed confidence near 0.70 as reliable.
Score accuracy was materially worse than winner accuracy:
The exact-score system is therefore low-confidence. A correct winner frequently coexisted with a poor score forecast.
Starter projections were highly volatile:
Jonah Tong with 3 and Nick Pivetta with 4.Chase Burns in CIN@LAD; the supplied diagnosis recommends increasing context.venue_adjustment_weight in shadow validation.Artifact integrity was generally good, but not clean in the broadest contractual sense:
PASS.Therefore:
unexplained_probability_publication_deltaARI@KC, CIN@LAD, LAA@BOS, NYM@MIAThis is a contract failure, not merely a calibration problem.
single_slate_calibration_instabilityweak_run_model_signalcomplete_slate_audit_coveragesimulation_inert_on_slate---
The probability below is the published probability for the selected side unless otherwise noted. A positive confidence edge means the home side was favored; a negative edge means the away side was favored.
ARI@KC — miss; wrong winner and wrong scoreno_changeJose Cabrera: projected ERA 3.86, projected 2 ER/14 outs; listed actual 0.00 ERA, 0 ER/6 outs; identity mismatch and no settled pitching lineNoah Cameron: projected ERA 1.5, projected 1 ER/18 outs; actual 0.00 ERA, 0 ER/18 outsNoah Cameron with projected 1 ER and actual 0 ER, and identifies the ARI starter line as missing---
ATL@PHI — correct winner, wrong scoreno_change---
CHC@MIL — correct winner, poor scoreno_change---
CIN@LAD — correct winner, wrong scorecontext.venue_adjustment_weight in shadow validation.---
CLE@BAL — correct winner, wrong scoreno_change---
LAA@BOS — strong correct winner, close scoreno_change---
MIN@DET — miss; wrong winner and wrong scorevariance_applied → enhanced_prediction transition.---
NYM@MIA — miss; wrong winner and wrong scoreno_change---
STL@SF — strong miss; wrong winner and wrong scorevariance_applied → enhanced_prediction.---
TOR@OAK — strongest miss; wrong winner and wrong score---
WAS@SD — correct winner, wrong scoreno_change---
| Loss | Earliest stage moving toward wrong result | Reconstruction |
|---|---|---|
ARI@KC | Historical ML already favored KC | The wrong side was present before later controls; subsequent stages maintained KC. Starter identity/feed inconsistency is a data-quality concern, but no later winner-direction flip is documented. |
MIN@DET | enhanced_prediction | Historical ML was approximately tied; variance stayed tied; enhanced prediction changed TIE → MIN, which was wrong. |
NYM@MIA | Historical ML already favored MIA | Variance, enhanced, Savant, and simulation all maintained MIA. This was a small-edge miss rather than a later regression. |
STL@SF | enhanced_prediction | Historical ML and variance favored SF; enhanced prediction changed SF → STL, and later stages preserved the wrong side. |
TOR@OAK | Historical ML already favored TOR | All stages reinforced TOR, with Savant and score-volatility adjustments widening the wrong margin. |
A confidence edge of 0.12 would be moderate, not a near coin flip. More generally, the system’s own edges must not be interpreted as half-scale distances from 50%. The ARI edge was approximately 0.16 and still lost; STL and TOR had much stronger edges and also lost. Conversely, several 0.01–0.06 edges won because they were genuinely uncertain calls.
MIN@DET: enhanced_prediction changed a tie into the wrong MIN direction.STL@SF: enhanced_prediction changed an SF direction into the wrong STL direction.TOR@OAK: strong season/recent/compound edges were allowed to produce a four-run predicted margin, despite the broader slate showing severe margin compression and high uncertainty.TOR@OAK at published probability 0.699558.STL@SF also received a strong 0.626764 probability and lost.STL@SF: Logan Webb, actual ERA 1.50 versus projected 6.75.TOR@OAK: Dylan Cease, actual ERA 7.20 versus projected 3.00.MIN@DET: Troy Melton actual ERA 6.35 versus projected 3.00.NYM@MIA: Eury Pérez actual ERA 11.25 versus projected 5.06.ARI@KC: the listed away starter is unresolved; KC’s Noah Cameron beat projection modestly.NYM@MIA: NYM offense exceeded projection by 5 runs.TOR@OAK: OAK offense exceeded projection by 4 runs relative to the matchup breakdown.STL@SF: STL offense scored three fewer than projected.MIN@DET: opposing offensive and starter effects were mixed.The slate overprojected total scoring in:
ATL@PHI: +6CHC@MIL: +5WAS@SD: +6It underprojected:
NYM@MIA: -4CLE@BAL: -3TOR@OAK: -3This supports the persistent weak-run-signal diagnosis rather than a single consistent high- or low-scoring bias.
The player forensics identify:
Several major starter outcomes were also explicitly labelled outliers. A model change based on every individual over- or underperformance would learn noise.
The stored stage metrics were:
| Stage | Winner accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|
historical_ml | 6/11 = 0.5455 | 1.5782 | 2.3421 | 2.1950 |
variance_applied | 5/11 = 0.4545 | 1.5909 | 2.4545 | 2.0909 |
enhanced_prediction | 6/11 = 0.5455 | 1.8182 | 2.9091 | 2.0000 |
embedded_savant_run_environment | 6/11 = 0.5455 | 1.9091 | 3.0909 | 2.1818 |
fundamental_edge_target_review | 6/11 = 0.5455 | 1.9091 | 3.0909 | 2.1818 |
capped_target | 6/11 = 0.5455 | 1.9091 | 3.0909 | 2.1818 |
simulation_result | 6/11 = 0.5455 | 1.9091 | 3.0909 | 2.1818 |
published_final | 6/11 = 0.5455 | 1.9091 | 3.0909 | 2.1818 |
CIN@LAD, CLE@BAL, and MIN@DET moved toward ties.CLE@BAL is explicitly listed as regressed.CIN@LAD and CLE@BAL improved.STL@SF regressed from SF to STL.simulation_result → published_final made no change to any recorded metric.The simulation therefore did not intervene in winner direction on this slate, and this same inertness has persisted for 11 consecutive slates.
---
Lever: score.variance_multiplier / score.variance_floor
Target metrics: Brier score and calibration error
ARI@KC: moderate-confidence miss; wider tails reduce overconfidence.STL@SF: strong-confidence miss; wider tails reduce overconfidence.TOR@OAK: strongest miss; wider tails reduce overconfidence.LAA@BOS: strong correct call; widening the distribution would soften a good edge.Lever: player.pitcher.v4 form weights / player.pitcher_prior_games
Target metrics: starter ER MAE and starter outs MAE
CHC@MIL: Gasser was three ER better than projected.CIN@LAD: Burns was three ER better than projected.STL@SF: Webb was three ER better than projected.WAS@SD: Pivetta was four ER better than projected.Lever: recent.* / season.* run-mean weighting
Target metrics: team-run MAE, total-run MAE, accuracy
ATL@PHICHC@MILNYM@MIATOR@OAKWAS@SDCIN@LADLAA@BOSMIN@DETSTL@SF was a severe miss, but a single game does not justify suppressing strong negative composite edges.
TOR@OAK was the strongest miss, but the evidence supports broader confidence/variance control, not a team-specific rule.
Only 18 of 72 material player deviations were supported by player contact-quality evidence; the other 54 are classified as variance.
Several games show useful starter information, and the pitcher-form lever helped four games with no listed hurts.
The causal register explicitly says the slate is too small for a stable confidence curve.
Trace pick-side math for the four unexplained deltas first.
---
Affected games:
ARI@KC: calibrated 0.618; published 0.579623; delta -0.038377CIN@LAD: calibrated 0.5751; published 0.532561; delta -0.042539LAA@BOS: calibrated 0.6539; published 0.62315; delta -0.03075NYM@MIA: calibrated 0.5477; published 0.520771; delta -0.026929The lineage says “no recorded transformation explains the publication delta” for all four. This is a critical contract failure because a material probability transformation is missing from evidence.
No error findings were reported in the supplied structural audits:
error: 0error: 0This does not mean the four probability-lineage issues are resolved; they are raised in a separate causal contract register.
No warning findings were reported:
warning: 0warning: 0no_change decisionsThe per-game forecast files themselves were reported clean, so the primary defect is not a rendering or saved-file corruption issue.
The required conceptual path is:
raw model → calibrated → governor → score coherence/recency → published
Examples:
CHC@MIL, CLE@BAL, STL@SF, TOR@OAK: published probability approximately matches calibrated/governed value.ATL@PHI, MIN@DET, WAS@SD: lineage records score coherence followed by matchup-recency guardrail.ARI@KC, NYM@MIA: starter-experience shrink is recorded in the game trace.The following have no recorded transformation explaining the published delta:
ARI@KCCIN@LADLAA@BOSNYM@MIAThese are bypass-like symptoms, but they must not be called a governor bypass until pick-side math is traced. The causal register’s guardrail is appropriate.
No material unexplained delta is present for:
CHC@MILCLE@BALSTL@SFTOR@OAKFor those games, the published value matches the calibrated/governed or documented post-governor value within rounding.
Coverage is complete at the game level:
The slate is therefore structurally covered, but not contractually clean because coverage does not resolve the four probability deltas, the missing integrity revision audit, or ARI’s starter inconsistency.
---
The supplied cross-slate window contains 11 slates, with 10 prior slates loaded.
These are not single-slate noise.
simulation_inert_on_slatesimulation.allow_scoreteam_run_mae, total_run_maeThe self-assessment provides a specific suspected cause: the simulation distribution is built from the same draws used to search for a target-realizing play-by-play, and the loop can terminate after approximately two selected draws. That makes the estimated win rate non-probabilistic and explains zero flip candidates over 11 slates.
weak_run_model_signaltraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateteam_run_mae, total_run_maeThe raw evidence remains poor:
The self-assessment specifically recommends adding, where valid and source-labelled:
It also requires a model schema-version bump when feature semantics change.
| Finding | Consecutive count | Incidence | Present now? | Interpretation |
|---|---|---|---|---|
high_raw_probability_cluster | 0 | 3/11 | No | Historical recurrence, not current |
pipeline_winner_instability | 0 | 4/11 | No | Historical recurrence, not current |
score_margin_compression | 0 | 3/11 | No | Historical recurrence, not current |
simulation_inert_on_slate | 11 | 11/11 | Yes | Established persistent failure |
single_slate_calibration_instability | 1 | 6/11 | Yes | Current finding, not yet persistent by consecutive-slate count |
weak_run_model_signal | 11 | 11/11 | Yes | Established persistent failure |
The fact that single_slate_calibration_instability occurred in 6 of 11 slates but has only a one-slate consecutive streak is important: its incidence is notable, but it has not reached the escalation status of the two 11-slate failures.
Each reported direction is:
Series ends at -0.182, better than earlier values as low as -3.5.
Current value 3.8, compared with earlier values up to 8.25.
Current value 0.2611, worse than many preceding values, including 0.0937 and 0.1000.
Current slate 0.5455, rolling mean 0.5667, with substantial slate-to-slate noise.
The current top-confidence pick has a loss streak of 2:
The full sequence includes several earlier misses, but the supplied explicit streak is two consecutive losses. This is concerning when combined with the current high-conviction miss rate of 75%, though still weaker evidence than the 11-slate escalations.
The two listed cross-slate bias findings are not actionable yet:
context.opponent_strength_weightscore.variance_floorThe source correctly treats these as not separable from slate-to-slate noise.
---
Recommendations are ranked by persistence and scope. Persistent issues receive code/diagnostic actions rather than forced parameter moves, because the supplied escalation records explicitly state that they are not parameter-actionable.
simulation_inert_on_slatesimulation.allow_scoreMIN_DRAWS_BEFORE_CLOSE_EXIT._distribution_agreement.team_run_mae and total_run_mae should become measurable and, if the module is contributing valid information, improve; winner-direction intervention should become nonzero when justified.TOR@OAK, STL@SF, ATL@PHI, and WAS@SD.LAA@BOS; rollback must monitor winner accuracy, Brier score, and score MAE.weak_run_model_signaltraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateATL@PHI, NYM@MIA, TOR@OAK, and WAS@SD.LAA@BOS and CIN@LAD; require same-fingerprint holdout comparison and rollback.confidence.base_capconfidence.base_cap by a small amount, approximately 0.03, in shadow only.ARI@KC, STL@SF, and especially TOR@OAK, all of which lost with meaningful conviction.LAA@BOS, a strong correct call whose published probability would be softened.moderate_cap and variance-floor change: isolate this confidence-cap experiment so the effect is identifiable.score.variance_multiplier or score.variance_floorscore.variance_multiplier, approximately +0.05, in shadow.ARI@KC, STL@SF, TOR@OAKLAA@BOS; potentially other strong correct calls.context.venue_adjustment_weightCIN@LAD, where the supplied forensic assessment explicitly says the venue weakness was underweighted.context.opponent_strength_weightThe cross-slate evidence says the positive starter ERA bias is not separable from noise:
This lever should remain unchanged pending more evidence.
---
ATL@PHI and WAS@SD; other correct winners also had substantial run errors.STL@SF, TOR@OAK, and one of the four strong/upper-confidence selections as counted in the supplied high-conviction set.TOR@OAK, with published probability 0.699558 and Brier score 0.489381.MIN@DET and STL@SF.Repair and independently validate the simulation probability path before promoting any model or confidence change. The simulation inertness is persistent, has a concrete code-level explanation, and can be tested without committing to a risky one-game or one-slate parameter adjustment. In parallel, keep confidence-cap and score-variance changes in shadow mode only, with Brier score, calibration error, winner accuracy, team-run MAE, and total-run MAE monitored for rollback.