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_20260903.json | n/a |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260903.json | n/a |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage | /app/output/learning/continuous_learning_daily_20260903.json | n/a |
| game artifacts | loaded | per-game model trace and structural audit source | /app/output/games | 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 1 game(s) have an unexplained ≥2pp calibrated-to-published delta | MIA@KC | 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 | artifact_integrity | Canonical artifact warning requires reconciliation structural audit totals: {'critical': 0, 'error': 0, 'warning': 1, 'info': 68} | slate-wide | Do thisFix the flagged stat or presentation contract before treating this slate as clean evidence. Don't concludeA warning flags a display or contract issue; it does not prove the model picked the wrong side. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0234/0.0268/0.0262 | BOS@BAL, CHW@HOU, MIA@KC, MIL@CHC, OAK@SEA, SF@PIT, STL@LAD, TB@TEX, TOR@CLE | Do thisTreat exact run scores as low-confidence estimates, and look for stronger features or a better target before tuning the score tails. Don't concludeA small positive R² only means the model beats guessing the average; it does not make the exact scores reliable. |
| INFO | coverage | Every settled game received structural QA 9/9 games structurally audited | BOS@BAL, CHW@HOU, MIA@KC, MIL@CHC, OAK@SEA, SF@PIT, STL@LAD, TB@TEX, TOR@CLE | 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 | BOS@BAL, CHW@HOU, MIA@KC, MIL@CHC, OAK@SEA, SF@PIT, STL@LAD, TB@TEX, TOR@CLE | 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 | 7 consecutive · 7 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 7 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 | 7 consecutive · 7 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 7 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 | 2/7 | no | param |
| pipeline_winner_instability | 0 | 3/7 | no | code/diagnostic |
| score_margin_compression | 0 | 3/7 | no | param |
| simulation_inert_on_slate | 7 | 7/7 | yes | code/diagnostic |
| single_slate_calibration_instability | 0 | 5/7 | no | param |
| weak_run_model_signal | 7 | 7/7 | 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] |
| weighted_calibration_error | improving | [0.2179, 0.3961, 0.0693, 0.1661, 0.2476, 0.21, 0.1474] |
| margin_bias | improving | [-1.333, -1.882, -2.786, -3.5, -2.533, -3.067, -1.778] |
| team_run_error_on_losses | regressing | [5.0, 3.0, 7.0, 8.25, 7.125, 6.4, 6.75] |
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 | 5/9 | 55.6% | 2.001 | 2.502 | 2.725 |
| variance_applied | 4/9 | 44.4% | 2.056 | 2.556 | 2.778 |
| enhanced_prediction | 5/9 | 55.6% | 2.333 | 3.111 | 2.889 |
| embedded_savant_run_environment | 5/9 | 55.6% | 2.333 | 3.111 | 2.889 |
| fundamental_edge_target_review | 5/9 | 55.6% | 2.333 | 3.111 | 2.889 |
| capped_target | 5/9 | 55.6% | 2.333 | 3.111 | 2.889 |
| simulation_result | 5/9 | 55.6% | 2.333 | 3.111 | 2.889 |
| published_final | 5/9 | 55.6% | 2.333 | 3.111 | 2.889 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.1112 | -1 | 0.055 | 0.0532 | BOS@BAL: BOS → TIE |
| variance_applied → enhanced_prediction | 0.1112 | 1 | 0.2777 | 0.1111 | BOS@BAL: TIE → BOS |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | 0 | 0 | |
| embedded_savant_run_environment → fundamental_edge_target_review | 0 | 0 | 0 | 0 | |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| BOS@BAL | hit | 0.5085 | 0.5082 | 0.5082 | 0.5466 | 0.53 | score coherence followed by matchup-recency guardrail |
| CHW@HOU | hit | 0.5816 | 0.5786 | 0.5786 | 0.5818 | 0.5591 | score coherence followed by matchup-recency guardrail |
| MIA@KC | miss | 0.5278 | 0.5271 | 0.5271 | 0.556 | 0.5476 | no recorded transformation explains the publication delta |
| MIL@CHC | miss | 0.5085 | 0.5082 | 0.5082 | 0.5466 | 0.5337 | score coherence followed by matchup-recency guardrail |
| OAK@SEA | miss | 0.6086 | 0.6045 | 0.6045 | 0.6373 | 0.6373 | score_coherence aligned probability to the published score margin |
| SF@PIT | hit | 0.5085 | 0.5082 | 0.5082 | 0.5466 | 0.53 | score coherence followed by matchup-recency guardrail |
| STL@LAD | hit | 0.5816 | 0.5786 | 0.5786 | 0.5818 | 0.53 | score coherence followed by matchup-recency guardrail |
| TB@TEX | miss | 0.5085 | 0.5082 | 0.5082 | 0.5466 | 0.5337 | score coherence followed by matchup-recency guardrail |
| TOR@CLE | hit | 0.5448 | 0.5439 | 0.5439 | 0.5644 | 0.5466 | published probability matches the calibrated/governed value |
One blown start is noise. The same failure repeating across the slate is a model problem. These are the repeats.
| Sides analyzed | Broke on pitching | Broke on offense | Both | Variance | Mean starter ERA error | Mean lineup runs vs proj |
|---|---|---|---|---|---|---|
| 18 | 4 | 6 | 1 | 7 | 0.24 | -0.83 |
no artifact on this slate records an applied trained winner blend (regenerate the slate to populate it)
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 — over ? slates (sign shared by — of them, z = —).
no measurable direction.
Hold: no change: this bias is not separable from slate-to-slate noise yet
only 2 slate(s) with this measure; need at least 3
lineup runs actual minus projected
Mean — over ? slates (sign shared by — of them, z = —).
no measurable direction.
Hold: no change: this bias is not separable from slate-to-slate noise yet
only 2 slate(s) with this measure; need at least 3
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260905 | 15 | 0.533 | -1.17 | -0.07 | 2 | 6 |
| 20260904 | 16 | 0.625 | -0.23 | -0.44 | 5 | 12 |
| 20260903 | 9 | 0.556 | — | — | ||
| 20260902 | 15 | 0.333 | — | — | ||
| 20260901 | 15 | 0.467 | — | — | ||
| 20260831 | 12 | 0.667 | — | — | ||
| 20260830 | 14 | 0.500 | — | — | ||
| 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 |
|---|---|---|---|
| BOS@BAL | 1 | 1 | 0 |
| CHW@HOU | 1 | 4 | -3 |
| MIA@KC | 1 | 4 | -3 |
| MIL@CHC | 1 | 1 | 0 |
| OAK@SEA | 2 | 3 | -1 |
| SF@PIT | 1 | 3 | -2 |
| STL@LAD | 1 | 1 | 0 |
| TB@TEX | 1 | 6 | -5 |
| TOR@CLE | 1 | 3 | -2 |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BOS | Jake Bennett | 3 ER / 17 outs | 3 ER / 18 outs | 0 |
| BAL | Brandon Young | 4 ER / 17 outs | 3 ER / 20 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
Jake Bennett (BOS) threw 18 outs, 3 ER = 4.5 ERA against a projected 4.76 ERA (-0.26 ERA error)
Bullpen behind him: 2 ER over 9 outs.
The HOME lineup he faced produced 5 runs on 7 hits and 3 HR, against a projected 5 runs / 7 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Brandon Young (BAL) threw 20 outs, 3 ER = 4.05 ERA against a projected 6.35 ERA (-2.3 ERA error)
Bullpen behind him: 1 ER over 1 outs.
The AWAY lineup he faced produced 6 runs on 6 hits and 4 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| BOS | Jake Bennett (Starter) | 18 / 17 | 4.5 / 4.76 | 3 / 3 | 5 / 4 | 2 / 1 | 0 / 3 | 7 / 7 | venue away: 3.02 vs 3.52 ERA (ok) · opp run factor 0.94 (average) · 16 prior appearances this season |
| BOS | Aroldis Chapman (Closer) | 3 / 4 | 18 / 0 (+18.00) | 2 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | |
| BOS | Erik Miller (Setup Man) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 2 | |
| BOS | Garrett Whitlock (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | |
| BAL | Brandon Young (Starter) | 20 / 17 | 4.05 / 6.35 | 3 / 4 | 4 / 3 | 2 / 2 | 2 / 3 | 7 / 5 | venue home: 3.03 vs 3.39 ERA (ok) · opp run factor 1 (average) · 23 prior appearances this season |
| BAL | Yennier Cano (Middle Reliever (High Leverage)) | 1 / 3 | 27 / 9 (+18.00) | 1 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | Adley Rutschman (C) | 4 / 6 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 3 / 0 | 0 / 0 | 0 / 1 | 2.33 | 0.338 above average | projection too low |
| BAL | Christian Encarnacion-Strand (3B) | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 2.2 | 0.343 elite | projection too low |
| BOS | Mickey Gasper (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 0 | -1.4 | 0.372 elite | bad day |
| BOS | Roman Anthony (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 3 / 1 | 0.93 | 0.361 elite | projection too low |
| BAL | Luis Robert Jr. (CF) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.93 | 0.321 above average | projection too low |
| BOS | Caleb Durbin (3B) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.288 below average | projection too high |
| BAL | Leody Taveras (RF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.273 weak | projection too high |
| BOS | Eli White (CF) | 4 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.271 weak | good day |
| BOS | Wilyer Abreu (RF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.78 | 0.347 elite | bad day |
| BOS | Nick Sogard (2B) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0.62 | 0.327 above average | projection too low |
| BOS | Jarren Duran (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.296 below average | — |
| BAL | Dylan Beavers (LF) | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | -0.45 | 0.304 below average | — |
| BAL | Gunnar Henderson (SS) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.316 average | — |
| BAL | Pete Alonso (1B) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.392 elite | — |
| BOS | Isiah Kiner-Falefa (SS) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.307 average | — |
| BAL | Blaze Alexander (2B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 2 / 1 | 0 | 0.356 elite | — |
| BAL | Coby Mayo (DH) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.319 average | — |
| BAL | Carlos Narváez (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.265 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.254 | positive favors home; negative favors away |
| Recent form | 0.61 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.059 | positive favors home; negative favors away |
| Composite | -0.297 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.42-4.15 | 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.42-4.15 | 4-4 | -0.271 | 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 |
|---|---|---|---|---|
| BOS | Nick Sogard | batter / 2B | better | predicted_RBI 3.65 |
| BAL | Christian Encarnacion-Strand | batter / 3B | worse | predicted_H 2.77 |
| BOS | Adley Rutschman | batter / C | worse | predicted_AB -2.66 |
| BAL | Coby Mayo | batter / DH | better | predicted_RBI 2.476 |
| BOS | Eli White | batter / CF | worse | predicted_AB 1.5 |
| BOS | Wilyer Abreu | batter / RF | worse | predicted_H -1.4 |
| BAL | Yennier Cano | pitcher / Middle Reliever (High Leverage) | better | predicted_IP 1.333 |
| BAL | Dylan Beavers | batter / LF | worse | predicted_SO 1.137 |
| 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 | 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_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=7, sim=5; R: current=5, sim=4; SO: current=9, sim=11; SF: current=0, sim=1; HBP: current=0, sim=1). | 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=4, H current=1 box=0, R current=1 box=0, HBP current=0 box=1; Coby Mayo: AB current=3 box=5, HR current=0 box=1, RBI current=1 box=3, SO current=1 box=2; Luis Robert Jr.: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Leody Taveras: H current=1 box=0, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Gunnar Henderson: AB current=5 box=4, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Pete Alonso: AB current=5 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Christian Encarnacion-Strand: AB current=3 box=4, H current=0 box=3, 2B current=0 box=1, R current=0 box=1; Dylan Beavers: H current=1 box=0, 2B current=1 box=0, BB current=0 box=1, SO current=1 box=2 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=35, sim=34; H: current=8, sim=4; 2B: current=2, sim=1; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; HBP: current=0, sim=2). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: HR current=0 box=1, RBI current=0 box=1; Mickey Gasper: AB current=3 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Adley Rutschman: AB current=6 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Jarren Duran: H current=1 box=0, RBI current=1 box=0; Eli White: AB current=3 box=4, RBI current=1 box=0, SO current=1 box=2; Isiah Kiner-Falefa: AB current=3 box=4, H current=1 box=0, SO current=0 box=1; Nick Sogard: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=4, BB current=1 box=0; Caleb Durbin: AB current=4 box=3, H current=1 box=0 | BOS |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHW | Luis Castillo | 4 ER / 14 outs | 6 ER / 12 outs | 2 |
| HOU | Hunter Brown | 3 ER / 17 outs | 2 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 Luis Castillo (CHW) at a projected 7.71 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 6 runs on 8 hits and 1 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Hunter Brown (HOU) threw 18 outs, 2 ER = 3 ERA against a projected 4.76 ERA (-1.76 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 2 runs on 6 hits and 0 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
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) |
|---|---|---|---|---|---|---|---|---|---|
| HOU | Hunter Brown (Starter) | 18 / 17 | 3 / 4.76 | 2 / 3 | 6 / 6 | 0 / 2 | 2 / 4 | 7 / 3 | venue home: 3.8 vs 2.67 ERA (worse here) · opp run factor 1.03 (average) · 15 prior appearances this season |
| HOU | Bryan Abreu (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | |
| HOU | AJ Blubaugh (Middle Reliever (High Leverage)) | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CHW | Munetaka Murakami (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 2 | -1.73 | 0.35 elite | bad day |
| HOU | Yordan Alvarez (DH) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -1.4 | 0.45 elite | bad day |
| CHW | Colson Montgomery (SS) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 1 / 1 | -1.11 | 0.307 average | no signal |
| HOU | Christian Walker (1B) | 4 / 4 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.3 below average | good day |
| HOU | Jose Altuve (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 0 | 2 / 1 | 0.93 | 0.272 weak | good day |
| HOU | Jeremy Peña (SS) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.326 above average | bad day |
| HOU | Taylor Trammell (RF) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.285 below average | good day |
| HOU | Daulton Varsho (CF) | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.62 | 0.292 below average | good day |
| CHW | Tristan Peters (CF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.319 average | — |
| HOU | LaMonte Wade Jr. (LF) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.278 weak | — |
| HOU | Isaac Paredes (3B) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 1 / 1 | 1 / 1 | 0.31 | 0.32 average | — |
| HOU | Yainer Diaz (C) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0.31 | 0.304 below average | — |
| CHW | Chase Meidroth (2B) | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0.16 | 0.292 below average | — |
| CHW | Andrew Benintendi (DH) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.31 average | — |
| CHW | Miguel Vargas (3B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.386 elite | — |
| CHW | Sam Antonacci (LF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.342 elite | — |
| CHW | Braden Montgomery (RF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.329 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.415 | positive favors home; negative favors away |
| Recent form | 0.066 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.04 | positive favors home; negative favors away |
| Composite | 0.057 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.18-5.22 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.559 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.18-5.22 | 4-5 | -0.037 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| HOU | Taylor Trammell | batter / RF | worse | predicted_SO 3.04 |
| CHW | Braden Montgomery | batter / RF | worse | predicted_SO 2.171 |
| HOU | Jose Altuve | batter / 2B | better | predicted_H 2.1 |
| HOU | Jeremy Peña | batter / SS | better | predicted_H 1.83 |
| HOU | Christian Walker | batter / 1B | better | predicted_H 1.62 |
| CHW | Sam Antonacci | batter / LF | worse | predicted_AB 1.542 |
| CHW | Colson Montgomery | batter / SS | better | predicted_SO -1.435 |
| CHW | Andrew Benintendi | batter / DH | better | predicted_RBI 1.43 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHW |
| info | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model pitcher projections differ from final simulation pitching box score (H: current=11, sim=13). | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; 2B: current=2, sim=3; HR: current=1, sim=2; R: current=5, sim=4; BB: current=4, sim=6; SO: current=9, sim=7). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Munetaka Murakami: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Sam Antonacci: AB current=3 box=5, 2B current=0 box=1, R current=1 box=0, SO current=1 box=0; Braden Montgomery: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrew Benintendi: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Tristan Peters: AB current=3 box=4; Jake Rogers: AB current=3 box=4, SO current=1 box=2; Miguel Vargas: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Chase Meidroth: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=35, sim=37; H: current=8, sim=13; 2B: current=1, sim=3; 3B: current=0, sim=1; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=8, sim=12). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Jose Altuve: H current=1 box=3, 2B current=0 box=1, RBI current=0 box=2, SF current=0 box=1; Yordan Alvarez: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Jeremy Peña: AB current=5 box=4, H current=1 box=3, 2B current=1 box=0, RBI current=1 box=0; Taylor Trammell: AB current=3 box=4, H current=1 box=0, SO current=1 box=4; Isaac Paredes: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Yainer Diaz: AB current=4 box=3, SO current=0 box=1, SF current=0 box=1; Daulton Varsho: H current=1 box=0, SO current=1 box=2; LaMonte Wade Jr.: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1 | HOU |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIA | Sandy Alcantara | 1 ER / 19 outs | 4 ER / 18 outs | 3 |
| KC | Michael Wacha | 3 ER / 19 outs | 3 ER / 18 outs | 0 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Sandy Alcantara (MIA) posted 6.00 ERA vs projected 1.42 (4 ER in 18 outs); he is materially worse pitching away (4.22 ERA there vs 2.58 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
Sandy Alcantara (MIA) threw 18 outs, 4 ER = 6 ERA against a projected 1.42 ERA (4.58 ERA error)
Bullpen behind him: 2 ER over 1 outs.
The HOME lineup he faced produced 6 runs on 10 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
Michael Wacha (KC) threw 18 outs, 3 ER = 4.5 ERA against a projected 4.26 ERA (0.24 ERA error)
Bullpen behind him: 0 ER over 9 outs.
The AWAY lineup he faced produced 3 runs on 6 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) |
|---|---|---|---|---|---|---|---|---|---|
| MIA | Sandy Alcantara (Starter) | 18 / 19 | 6 / 1.42 (+4.58) | 4 / 1 | 6 / 0 | 1 / 0 | 1 / 1 | 2 / 2 | venue away: 4.22 vs 2.58 ERA (worse here) · opp run factor 0.94 (weak) · 29 prior appearances this season |
| MIA | Tyler Zuber (Setup Man) | 1 / 3 | 54 / 9 (+45.00) | 2 / 1 | 2 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | |
| KC | Michael Wacha (Starter) | 18 / 19 | 4.5 / 4.26 | 3 / 3 | 6 / 8 | 2 / 0 | 2 / 2 | 7 / 5 | venue home: 3.04 vs 3.56 ERA (ok) · opp run factor 0.96 (average) · 27 prior appearances this season |
| KC | Nate Pearson (Setup Man) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | |
| KC | Steven Cruz (Closer) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 2 | 0 / 1 | 0 / 1 | 1 / 0 | |
| KC | Craig Kimbrel (Middle Reliever (High Leverage)) | 2 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | Carter Jensen (C) | 4 / 5 | 3 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 3 / 1 | 3 / 1 | 0 / 1 | 0 / 1 | 1.54 | 0.304 below average | good day |
| KC | Kyle Isbel (CF) | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 0.94 | 0.264 weak | good day |
| MIA | Graham Pauley (3B) | 4 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.78 | 0.225 weak | projection too high |
| KC | Bobby Witt Jr. (SS) | 3 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | -0.78 | 0.383 elite | bad day |
| MIA | Kyle Stowers (1B) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.62 | 0.335 above average | bad day |
| MIA | Heriberto Hernández (LF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 0.6 | 0.353 elite | projection too low |
| MIA | Agustín Ramírez (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 0.6 | 0.275 weak | good day |
| MIA | Griffin Conine (RF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.373 elite | — |
| MIA | Joe Mack (C) | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.289 below average | — |
| KC | Jac Caglianone (RF) | 4 / 5 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.357 elite | — |
| KC | Josh Rojas (3B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.217 weak | — |
| KC | Isaac Collins (LF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.296 below average | — |
| KC | Salvador Perez (1B) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.308 average | — |
| MIA | Otto Lopez (SS) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.324 above average | — |
| MIA | Javier Sanoja (2B) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0.02 | 0.287 below average | — |
| MIA | Jakob Marsee (CF) | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | -0.02 | 0.305 average | — |
| KC | Vinnie Pasquantino (DH) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.02 | 0.325 above average | — |
| KC | Michael Massey (2B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 | 0.306 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.484 | positive favors home; negative favors away |
| Recent form | -0.134 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.021 | positive favors home; negative favors away |
| Composite | -0.526 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.95-4.03 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.548 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.95-4.03 | 5-4 | 0.084 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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 |
|---|---|---|---|---|
| KC | Michael Wacha | pitcher / Starter | better | predicted_SO 5 |
| KC | Craig Kimbrel | pitcher / Middle Reliever (High Leverage) | worse | predicted_SO -2 |
| MIA | Griffin Conine | batter / RF | worse | predicted_AB 1.985 |
| MIA | Jakob Marsee | batter / CF | better | predicted_2B 1.878 |
| MIA | Agustín Ramírez | batter / DH | better | predicted_RBI 1.74 |
| MIA | Javier Sanoja | batter / 2B | boosted | predicted_AB 1.64 |
| MIA | Graham Pauley | batter / 3B | worse | predicted_H 1.38 |
| MIA | Kyle Stowers | batter / 1B | worse | predicted_SO -1.34 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIA |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=35, sim=32; H: current=8, sim=5; 2B: current=2, sim=1; SO: current=7, sim=5; 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: Salvador Perez: AB current=4 box=3, HR current=0 box=1, R current=0 box=1, BB current=0 box=1; Vinnie Pasquantino: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0; Carter Jensen: AB current=5 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Michael Massey: AB current=3 box=4, SO current=0 box=1; Jac Caglianone: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Bobby Witt Jr.: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Josh Rojas: H current=1 box=0, HBP current=0 box=1; Isaac Collins: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1 | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; 2B: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=4; SO: current=8, sim=5). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Griffin Conine: AB current=3 box=5; Otto Lopez: AB current=5 box=4, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Javier Sanoja: AB current=3 box=5, RBI current=1 box=0, SO current=0 box=1; Kyle Stowers: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Heriberto Hernández: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Agustín Ramírez: RBI current=0 box=2, R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Jakob Marsee: H current=1 box=2, 2B current=0 box=2, RBI current=0 box=2, SO current=1 box=0; Graham Pauley: AB current=3 box=4, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIL | Logan Henderson | 3 ER / 18 outs | 2 ER / 21 outs | -1 |
| CHC | Kevin Gausman | 5 ER / 17 outs | 1 ER / 21 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: Kevin Gausman (CHC) posted 1.29 ERA vs projected 7.94 (1 ER in 21 outs); he faced a strong offense (opponent run factor 1.10, bucket strong).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Logan Henderson (MIL) threw 21 outs, 2 ER = 2.57 ERA against a projected 4.5 ERA (-1.93 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 3 hits and 1 HR, against a projected 5 runs / 9 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
Kevin Gausman (CHC) threw 21 outs, 1 ER = 1.29 ERA against a projected 7.94 ERA (-6.65 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 1 runs on 5 hits and 1 HR, against a projected 5 runs / 9 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Logan Henderson (Starter) | 21 / 18 | 2.57 / 4.5 | 2 / 3 | 3 / 3 | 1 / 2 | 0 / 2 | 7 / 7 | venue away: 2.89 vs 2.08 ERA (worse here) · opp run factor 0.96 (strong) · 14 prior appearances this season |
| CHC | Kevin Gausman (Starter) | 21 / 17 | 1.29 / 7.94 (-6.65) | 1 / 5 | 5 / 6 | 1 / 0 | 1 / 4 | 9 / 7 | venue home: 4.14 vs 4.95 ERA (ok) · opp run factor 1.1 (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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | Jackson Chourio (LF) | 4 / 6 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -1.4 | 0.334 above average | bad day |
| CHC | Michael Busch (1B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -1.11 | 0.328 above average | bad day |
| CHC | Seiya Suzuki (RF) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.339 above average | bad day |
| MIL | Andrew Vaughn (1B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.336 above average | projection too low |
| MIL | Brice Turang (2B) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -0.8 | 0.335 above average | bad day |
| CHC | Ian Happ (LF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.313 average | no signal |
| MIL | William Contreras (C) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.78 | 0.333 above average | bad day |
| MIL | Christian Yelich (DH) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.314 average | no signal |
| CHC | Alex Bregman (3B) | 3 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.62 | 0.318 average | no signal |
| MIL | Jake Bauers (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.373 elite | — |
| CHC | Nico Hoerner (SS) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.324 above average | — |
| CHC | Michael Conforto (DH) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.333 above average | — |
| CHC | Pete Crow-Armstrong (CF) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.369 elite | — |
| CHC | Pedro Ramirez (2B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | -0.14 | 0.293 below average | — |
| MIL | Garrett Mitchell (CF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.346 elite | — |
| MIL | Joey Ortiz (SS) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.295 below average | — |
| MIL | David Hamilton (3B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.275 weak | — |
| CHC | Carson Kelly (C) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.311 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.171 | positive favors home; negative favors away |
| Recent form | 0.29 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.149 | positive favors home; negative favors away |
| Composite | -0.53 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.82-4.04 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-6 | 0.534 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.82-4.04 | 5-4 | 0.217 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 7-6 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-6 | 7-6 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-6 | 7-6 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-6 | 7-6 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-6 | 7-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 |
|---|---|---|---|---|
| MIL | Christian Yelich | batter / DH | better | predicted_RBI 2.6 |
| MIL | David Hamilton | batter / 3B | better | predicted_H 2.35 |
| MIL | William Contreras | batter / C | worse | predicted_AB -2.13 |
| MIL | Andrew Vaughn | batter / 1B | better | predicted_AB 2.091 |
| CHC | Kevin Gausman | pitcher / Starter | neutral | predicted_SO 2 |
| CHC | Carson Kelly | batter / C | worse | predicted_SO 1.381 |
| CHC | Seiya Suzuki | batter / RF | better | predicted_RBI 1.32 |
| CHC | Michael Busch | batter / 1B | better | predicted_H 1.28 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| warning | PITCH_COUNT_PITCHER_MATCH | MIL pitch_count row for Logan Henderson differs from pitching box score: hits_allowed/H: summary=3, box=2. | MIL Logan Henderson |
| 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 pitcher projections differ from final simulation pitching box score (H: current=9, sim=11; BB: current=4, sim=5). | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=36, sim=32; H: current=9, sim=5; 2B: current=2, sim=1; HR: current=2, sim=4; R: current=5, sim=6; BB: current=4, sim=3; SO: current=8, sim=11; HBP: current=0, sim=3). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Alex Bregman: AB current=5 box=4, RBI current=1 box=2; Michael Busch: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1; Nico Hoerner: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Pete Crow-Armstrong: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Seiya Suzuki: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Ian Happ: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Michael Conforto: H current=1 box=0, SO current=1 box=2, HBP current=0 box=1; Pedro Ramirez: AB current=3 box=2, H current=1 box=0, RBI current=1 box=0, R current=0 box=1 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model pitcher projections differ from final simulation pitching box score (H: current=6, sim=5). | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=36, sim=38; H: current=9, sim=11; 2B: current=2, sim=4; HR: current=1, sim=0; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=3, sim=5; SO: current=8, sim=9). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Jake Bauers: AB current=3 box=4, SO current=1 box=2; Jackson Chourio: AB current=6 box=5, HR current=1 box=0, RBI current=1 box=0; Andrew Vaughn: AB current=3 box=5, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Brice Turang: 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; William Contreras: AB current=5 box=3, 2B current=1 box=0, RBI current=1 box=0, BB current=0 box=2; Christian Yelich: AB current=4 box=5, H current=1 box=2, RBI current=0 box=3, BB current=1 box=0; Garrett Mitchell: H current=1 box=0, BB current=0 box=1; Joey Ortiz: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=0 box=1 | MIL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| OAK | Jack Perkins | 3 ER / 12 outs | 3 ER / 9 outs | 0 |
| SEA | Kade Anderson | 3 ER / 13 outs | 4 ER / 15 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
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
Jack Perkins (OAK) threw 9 outs, 3 ER = 9 ERA against a projected 6.75 ERA (2.25 ERA error)
Bullpen behind him: 0 ER over 7 outs.
The HOME lineup he faced produced 4 runs on 9 hits and 0 HR, against a projected 7 runs / 9 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Kade Anderson (SEA) threw 15 outs, 4 ER = 7.2 ERA against a projected 6.23 ERA (0.97 ERA error) only 2 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 1 ER over 6 outs.
The AWAY lineup he faced produced 6 runs on 13 hits and 1 HR, against a projected 4 runs / 9 hits (2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| OAK | Jack Perkins (Starter) | 9 / 12 | 9 / 6.75 | 3 / 3 | 4 / 5 | 0 / 2 | 5 / 1 | 7 / 2 | venue away: 7.94 vs 7.45 ERA (ok) · opp run factor 0.95 (weak) · 32 prior appearances this season |
| OAK | Hogan Harris (Setup Man) | 3 / 3 | 0 / 27 (-27.00) | 0 / 3 | 0 / 3 | 0 / 1 | 0 / 1 | 2 / 0 | |
| OAK | Luis Medina (Middle Reliever (High Leverage)) | 4 / 5 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 3 / 0 | |
| SEA | Kade Anderson (Starter) | 15 / 13 | 7.2 / 6.23 | 4 / 3 | 7 / 5 | 1 / 2 | 2 / 0 | 3 / 4 | venue home: 4.76 vs 4.15 ERA (ok) · opp run factor 0.99 (weak) · thin sample: 2 prior appearances this season (high uncertainty) |
| SEA | Eduard Bazardo (Middle Reliever (High Leverage)) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 3 / 2 | 0 / 0 | 1 / 1 | 2 / 1 | |
| SEA | Gabe Speier (Middle Reliever (High Leverage)) | 3 / 5 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SEA | Lazaro Montes (RF) | 5 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 2 | 0 / 1 | 3 / 1 | -1.26 | 0.27 weak | projection too high |
| OAK | Jeff McNeil (1B) | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 0 / 1 | 1.11 | 0.307 average | no signal |
| OAK | Brian Serven (C) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.93 | 0.308 average | no signal |
| SEA | Cal Raleigh (C) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | -0.93 | 0.315 average | no signal |
| OAK | Henry Bolte (CF) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 0.8 | 0.311 average | no signal |
| OAK | Zack Gelof (LF) | 5 / 5 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 0.76 | 0.316 average | no signal |
| SEA | J.P. Crawford (SS) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 3 / 1 | 0 / 1 | 0.66 | 0.327 above average | projection too low |
| SEA | Julio Rodríguez (CF) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 0.64 | 0.336 above average | projection too low |
| SEA | Randy Arozarena (LF) | 3 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 0 | 2 / 1 | 0.64 | 0.349 elite | projection too low |
| SEA | Josh Naylor (1B) | 5 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | -0.47 | 0.313 average | — |
| SEA | Cole Young (2B) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 3 / 1 | 0.47 | 0.316 average | — |
| OAK | Michael Stefanic (2B) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.372 elite | — |
| OAK | Jonah Heim (DH) | 5 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.292 below average | — |
| OAK | Alika Williams (SS) | 4 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.245 weak | — |
| OAK | Lawrence Butler (RF) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | 0.14 | 0.324 above average | — |
| SEA | Dominic Canzone (DH) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 0.02 | 0.356 elite | — |
| OAK | Max Muncy (3B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.293 below average | — |
| SEA | Brock Rodden (3B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 | 0.231 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.611 | positive favors home; negative favors away |
| Recent form | 0.006 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.039 | positive favors home; negative favors away |
| Composite | 0.611 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.02-5.04 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 0.637 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.02-5.04 | 4-5 | -0.021 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-6 | 1 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-6 | 4-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | 4-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | 4-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-6 | 4-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 |
|---|---|---|---|---|
| SEA | Cole Young | batter / 2B | worse | predicted_RBI 3.67 |
| SEA | Julio Rodríguez | batter / CF | worse | predicted_AB -2.14 |
| OAK | Michael Stefanic | batter / 2B | worse | predicted_BB 1.667 |
| SEA | Cal Raleigh | batter / C | worse | predicted_AB -1.65 |
| OAK | Jonah Heim | batter / DH | deboosted | predicted_AB 1.596 |
| SEA | Josh Naylor | batter / 1B | better | predicted_AB -1.54 |
| OAK | Brian Serven | batter / C | boosted | predicted_RBI 1.31 |
| OAK | Lawrence Butler | batter / RF | worse | predicted_AB 1.25 |
| 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 | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SEA |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=9, sim=7; HR: current=1, sim=2; BB: current=3, sim=6; SO: current=9, sim=8). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: AB current=5 box=4, H current=1 box=0, RBI current=0 box=1, BB current=0 box=1; Jonah Heim: AB current=3 box=5, SO current=1 box=0; Zack Gelof: AB current=5 box=4, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jeff McNeil: AB current=3 box=4, 2B current=0 box=1, R current=1 box=0; Alika Williams: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Lawrence Butler: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Brian Serven: AB current=3 box=4, RBI current=1 box=2; Michael Stefanic: AB current=3 box=2, RBI current=1 box=0, R current=0 box=1, BB current=1 box=2 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=40, sim=32; H: current=9, sim=8; HR: current=2, sim=3; RBI: current=5, sim=6; R: current=7, sim=6; SO: current=8, sim=3; HBP: current=0, sim=1). | SEA |
| info | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Cal Raleigh: AB current=5 box=3, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Dominic Canzone: 2B current=1 box=0, HR current=0 box=1, R current=0 box=1, SO current=1 box=0; Julio Rodríguez: AB current=5 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randy Arozarena: HR current=0 box=1, SO current=1 box=0; Lazaro Montes: AB current=5 box=4, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Brock Rodden: H current=1 box=0; Josh Naylor: AB current=5 box=3, H current=1 box=2, R current=0 box=1, BB current=0 box=1; Cole Young: HR current=0 box=1, RBI current=0 box=4 | SEA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SF | Blade Tidwell | 2 ER / 15 outs | 2 ER / 15 outs | 0 |
| PIT | Lake Bachar | 1 ER / 15 outs | 0 ER / 7 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
Blade Tidwell (SF) threw 15 outs, 2 ER = 3.6 ERA against a projected 3.6 ERA (0 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 5 runs on 4 hits and 0 HR, against a projected 4 runs / 9 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Lake Bachar (PIT) threw 7 outs, 0 ER = 0 ERA against a projected 1.8 ERA (-1.8 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 2 runs on 1 hits and 0 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| SF | Blade Tidwell (Starter) | 15 / 15 | 3.6 / 3.6 | 2 / 2 | 2 / 5 | 0 / 0 | 5 / 0 | 5 / 8 | venue away: 1.69 vs 7.8 ERA (ok) · opp run factor 1.03 (strong) · 13 prior appearances this season |
| SF | Trent Harris (Setup Man) | 3 / 4 | 0 / 6.75 (-6.75) | 0 / 1 | 1 / 2 | 0 / 1 | 0 / 0 | 1 / 1 | |
| PIT | Lake Bachar (Starter) | 7 / 15 | 0 / 1.8 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | 3 / 5 | venue home: 1.23 vs 3 ERA (ok) · opp run factor 1.01 (weak) · 46 prior appearances this season |
| PIT | Luke Weaver (Setup Man) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | |
| PIT | Mason Montgomery (Closer) | 3 / 5 | 0 / 21.6 (-21.60) | 0 / 4 | 0 / 4 | 0 / 1 | 0 / 3 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SF | Rafael Devers (DH) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.73 | 0.34 elite | bad day |
| PIT | Brandon Lowe (DH) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | -1.07 | 0.322 above average | bad day |
| SF | Bryce Eldridge (1B) | 3 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.78 | 0.357 elite | bad day |
| SF | Turner Hill (LF) | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | -0.78 | 0.346 elite | bad day |
| PIT | Bryan Reynolds (RF) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | -0.78 | 0.36 elite | bad day |
| PIT | Jacob Gonzalez (3B) | 2 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.306 average | no signal |
| SF | Shay Whitcomb (3B) | 0 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0.66 | 0.251 weak | good day |
| SF | Nate Furman (2B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.213 weak | — |
| SF | Christian Koss (SS) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.24 weak | — |
| SF | Andrew Knizner (C) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.271 weak | — |
| PIT | Jared Triolo (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.289 below average | — |
| PIT | Nick Gonzales (2B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.327 above average | — |
| PIT | Jake Mangum (LF) | 1 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.283 weak | — |
| PIT | Spencer Horwitz (1B) | 5 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.312 average | — |
| PIT | Oneil Cruz (CF) | 1 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 3 / 1 | 1 / 1 | 0.19 | 0.352 elite | — |
| SF | Jonah Cox (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 2 | -0.14 | 0.274 weak | — |
| SF | Drew Gilbert (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.328 above average | — |
| PIT | Rafael Flores Jr. (C) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.339 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.387 | positive favors home; negative favors away |
| Recent form | -0.438 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.02 | positive favors home; negative favors away |
| Composite | 0.327 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.42-6.09 | 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.42-6.09 | 3-6 | 0.336 | 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 |
|---|---|---|---|---|
| PIT | Jacob Gonzalez | batter / 3B | better | predicted_RBI 2.6 |
| SF | Drew Gilbert | batter / RF | worse | predicted_BB 1.762 |
| PIT | Jake Mangum | batter / LF | worse | predicted_RBI 1.733 |
| SF | Nate Furman | batter / 2B | worse | predicted_AB 1.5 |
| SF | Shay Whitcomb | batter / 3B | better | predicted_AB 1.5 |
| SF | Jonah Cox | batter / CF | deboosted | predicted_AB 1.5 |
| PIT | Spencer Horwitz | batter / 1B | worse | predicted_SO 1.361 |
| PIT | Jared Triolo | batter / SS | worse | predicted_SO 1.34 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PIT |
| info | CURRENT_PITCHER_DUPLICATION | 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_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=36, sim=34; H: current=9, sim=11; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; BB: current=3, sim=1; SO: current=9, sim=12). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Reynolds: H current=1 box=2, BB current=1 box=0; Nick Gonzales: H current=1 box=2, RBI current=1 box=0, SO current=1 box=2; Brandon Lowe: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jake Mangum: AB current=4 box=3, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Jacob Gonzalez: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; Rafael Flores Jr.: AB current=4 box=3, HR current=0 box=1, R current=0 box=1, BB current=0 box=1; Spencer Horwitz: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Oneil Cruz: AB current=5 box=4, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0 | PIT |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=38, sim=33; H: current=8, sim=6; 3B: current=0, sim=1; R: current=4, sim=5; BB: current=3, sim=4; SO: current=9, sim=7). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Eldridge: AB current=5 box=4, 2B current=1 box=0, BB current=1 box=0; Rafael Devers: AB current=5 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Drew Gilbert: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=2; Turner Hill: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Nate Furman: H current=1 box=0, RBI current=1 box=0; Shay Whitcomb: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Christian Koss: 2B current=0 box=1, SO current=1 box=0; Andrew Knizner: AB current=4 box=3, R current=0 box=1, BB current=0 box=1, SO current=1 box=0 | SF |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| STL | Quinn Mathews | 3 ER / 14 outs | 1 ER / 15 outs | -2 |
| LAD | Tarik Skubal | 0 ER / 18 outs | 2 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: Quinn Mathews (STL) posted 1.80 ERA vs projected 5.79 (1 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
Quinn Mathews (STL) threw 15 outs, 1 ER = 1.8 ERA against a projected 5.79 ERA (-3.99 ERA error) only 4 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 2 ER over 10 outs.
The HOME lineup he faced produced 3 runs on 6 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
Tarik Skubal (LAD) threw 17 outs, 2 ER = 3.18 ERA against a projected 0 ERA (3.18 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 2 runs on 12 hits and 0 HR, against a projected 5 runs / 7 hits (-3 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) |
|---|---|---|---|---|---|---|---|---|---|
| STL | Quinn Mathews (Starter) | 15 / 14 | 1.8 / 5.79 (-3.99) | 1 / 3 | 4 / 6 | 0 / 0 | 4 / 1 | 4 / 3 | venue away: 6.43 vs 1.59 ERA (ok) · opp run factor 0.99 (strong) · thin sample: 4 prior appearances this season (high uncertainty) |
| STL | Riley O'Brien (Closer) | 1 / 5 | 54 / 0 (+54.00) | 2 / 0 | 2 / 0 | 0 / 0 | 1 / 2 | 0 / 2 | |
| STL | Ryne Stanek (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 2 | |
| STL | George Soriano (Setup Man) | 3 / 0 | 0 / n/a | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 2 / 0 | |
| STL | Cade Winquest (Reliever) | 3 / 0 | 0 / n/a | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 2 | |
| LAD | Tarik Skubal (Starter) | 17 / 18 | 3.18 / 0 (+3.18) | 2 / 0 | 10 / 3 | 0 / 0 | 1 / 0 | 6 / 7 | venue home: 3.53 vs 2.09 ERA (worse here) · opp run factor 0.98 (average) · 21 prior appearances this season |
| LAD | Brock Stewart (Middle Reliever (High Leverage)) | 2 / 5 | 0 / 21.6 (-21.60) | 0 / 4 | 0 / 4 | 0 / 2 | 0 / 3 | 0 / 1 | |
| LAD | Edgardo Henriquez (Setup Man) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Freddie Freeman (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.374 elite | bad day |
| LAD | Tommy Edman (CF) | 5 / 4 | 4 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 0 | 1 / 1 | 1.72 | 0.316 average | no signal |
| LAD | Teoscar Hernández (LF) | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 2 / 0 | 0 / 1 | 1.44 | 0.323 above average | projection too low |
| STL | Jordan Walker (RF) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | 0.78 | 0.349 elite | projection too low |
| LAD | Miguel Rojas (2B) | 2 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.78 | 0.312 average | no signal |
| STL | Pedro Pagés (C) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.268 weak | — |
| LAD | Enrique Hernández (3B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.267 weak | — |
| LAD | Kyle Tucker (RF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 1 / 1 | -0.47 | 0.327 above average | — |
| STL | Leonardo Bernal (1B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 2 | 0 / 1 | 0 / 0 | 1 / 1 | -0.46 | 0.377 elite | — |
| STL | Thomas Saggese (SS) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.311 average | — |
| STL | Joshua Baez (LF) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.329 above average | — |
| STL | Iván Herrera (DH) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.333 above average | — |
| STL | Ramón Urías (3B) | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0.14 | 0.309 average | — |
| LAD | Alex Call (DH) | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.277 weak | — |
| LAD | Mookie Betts (SS) | 3 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 0 | 1 / 0 | -0.12 | 0.329 above average | — |
| STL | José Fermín (2B) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 | 0.291 below average | — |
| STL | Nathan Church (CF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.283 weak | — |
| LAD | Will Smith (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.377 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.859 | positive favors home; negative favors away |
| Recent form | -0.062 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.002 | positive favors home; negative favors away |
| Composite | 0.64 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.77-5.5 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.77-5.5 | 4-6 | 0.266 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 4-5 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| LAD | Miguel Rojas | batter / 2B | worse | predicted_AB 2.5 |
| LAD | Will Smith | batter / C | better | predicted_SO 2.346 |
| STL | Iván Herrera | batter / DH | worse | predicted_SO 2.169 |
| STL | Cade Winquest | pitcher / Reliever | boosted | predicted_SO 2 |
| LAD | Alex Call | batter / DH | better | predicted_AB 1.5 |
| STL | José Fermín | batter / 2B | worse | predicted_H 1.292 |
| STL | Pedro Pagés | batter / C | worse | predicted_SO 1.136 |
| STL | Thomas Saggese | batter / SS | worse | predicted_AB 1.067 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAD |
| info | CURRENT_PITCHER_DUPLICATION | 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 | LAD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; HR: current=1, sim=0; R: current=4, sim=5; BB: current=3, sim=4; SO: current=7, sim=9; SF: current=0, sim=1). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Edman: RBI current=1 box=0, SO current=1 box=0, SF current=0 box=1; Will Smith: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=2; Freddie Freeman: HR current=1 box=0, SO current=1 box=0; Teoscar Hernández: AB current=4 box=5, RBI current=1 box=0, SO current=1 box=2; Mookie Betts: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=2; Enrique Hernández: H current=1 box=0, BB current=0 box=1; Alex Call: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Miguel Rojas: AB current=3 box=5, H current=1 box=0, 2B current=1 box=0, SO current=0 box=2 | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=2, sim=3; SO: current=8, sim=11). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: José Fermín: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, BB current=0 box=1; Joshua Baez: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Leonardo Bernal: 2B current=0 box=1, HR current=1 box=0, RBI current=2 box=1, SO current=1 box=0; Thomas Saggese: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Jordan Walker: HR current=0 box=1, SO current=1 box=2; Iván Herrera: HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=3; Ramón Urías: H current=0 box=1; Nathan Church: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TB | Shane McClanahan | 2 ER / 16 outs | 4 ER / 15 outs | 2 |
| TEX | Cal Quantrill | 3 ER / 17 outs | 0 ER / 21 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: Cal Quantrill (TEX) posted 0.00 ERA vs projected 4.76 (0 ER in 21 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Shane McClanahan (TB) threw 15 outs, 4 ER = 7.2 ERA against a projected 3.38 ERA (3.82 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 5 runs on 7 hits and 1 HR, against a projected 5 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Cal Quantrill (TEX) threw 21 outs, 0 ER = 0 ERA against a projected 4.76 ERA (-4.76 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 0 runs on 3 hits and 0 HR, against a projected 5 runs / 8 hits (-5 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| TB | Shane McClanahan (Starter) | 15 / 16 | 7.2 / 3.38 (+3.82) | 4 / 2 | 6 / 3 | 1 / 0 | 1 / 1 | 3 / 5 | venue away: 3.91 vs 2.55 ERA (worse here) · opp run factor 0.93 (weak) · 23 prior appearances this season |
| TEX | Cal Quantrill (Starter) | 21 / 17 | 0 / 4.76 (-4.76) | 0 / 3 | 2 / 3 | 0 / 1 | 2 / 1 | 5 / 4 | venue home: 1.2 vs 4.1 ERA (ok) · opp run factor 0.98 (average) · 28 prior appearances this season |
| TEX | Jakob Junis (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 0 | 2 / 0 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TB | Junior Caminero (3B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.363 elite | bad day |
| TEX | Justin Foscue (2B) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.331 above average | bad day |
| TEX | Corey Seager (SS) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0.6 | 0.351 elite | projection too low |
| TB | Chandler Simpson (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.261 weak | — |
| TB | Jonathan Aranda (1B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 3 / 1 | -0.47 | 0.35 elite | — |
| TB | Jorge Mateo (SS) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.303 below average | — |
| TB | Richie Palacios (2B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.305 average | — |
| TEX | Cody Freeman (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.231 weak | — |
| TEX | Logan O'Hoppe (DH) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.264 weak | — |
| TEX | Brandon Nimmo (RF) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.45 | 0.353 elite | — |
| TB | Jonny DeLuca (RF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.265 weak | — |
| TEX | Wyatt Langford (LF) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 1 / 1 | 0.31 | 0.313 average | — |
| TEX | Elias Díaz (C) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.31 | 0.278 weak | — |
| TB | Cedric Mullins (CF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 1 | 0.19 | 0.267 weak | — |
| TB | Yandy Díaz (DH) | 4 / 5 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.17 | 0.355 elite | — |
| TB | Nick Fortes (C) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.277 weak | — |
| TEX | Ezequiel Duran (CF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0 | 0.306 average | — |
| TEX | Jake Burger (1B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.312 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.654 | positive favors home; negative favors away |
| Recent form | -0.377 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.049 | positive favors home; negative favors away |
| Composite | -0.743 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.56-3.63 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.534 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.56-3.63 | 5-4 | 0.07 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TB | Jorge Mateo | batter / SS | better | predicted_RBI 2.74 |
| TEX | Ezequiel Duran | batter / CF | better | predicted_SO 2.07 |
| TEX | Cal Quantrill | pitcher / Starter | neutral | predicted_SO 2 |
| TEX | Corey Seager | batter / SS | worse | predicted_RBI 1.53 |
| TEX | Justin Foscue | batter / 2B | worse | predicted_AB 1.5 |
| TB | Chandler Simpson | batter / LF | worse | predicted_H -1.43 |
| TB | Cedric Mullins | batter / CF | better | predicted_H 1.36 |
| TEX | Brandon Nimmo | batter / RF | worse | predicted_H -1.19 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TB |
| info | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TEX |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; 2B: current=1, sim=2; RBI: current=4, sim=5; BB: current=3, sim=1; SO: current=6, sim=4). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Yandy Díaz: AB current=5 box=4, 2B current=1 box=0, BB current=1 box=0, SO current=1 box=0; Chandler Simpson: H current=1 box=0; Junior Caminero: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jonathan Aranda: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Jonny DeLuca: AB current=3 box=4; Jorge Mateo: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, HR current=0 box=1; Richie Palacios: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, SO current=0 box=1; Cedric Mullins: H current=1 box=2, BB current=0 box=1, SO current=1 box=0 | TB |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; 2B: current=2, sim=1; R: current=5, sim=4; BB: current=3, sim=2). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Ezequiel Duran: AB current=4 box=5, H current=1 box=2, RBI current=1 box=2, BB current=1 box=0; Corey Seager: HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Wyatt Langford: R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Brandon Nimmo: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Justin Foscue: AB current=3 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Burger: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Cody Freeman: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Logan O'Hoppe: AB current=3 box=4, H current=0 box=1, SO current=1 box=0 | TEX |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TOR | José Soriano | 0 ER / 18 outs | 3 ER / 14 outs | 3 |
| CLE | Tanner Bibee | 3 ER / 18 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: Tanner Bibee (CLE) posted 11.25 ERA vs projected 4.50 (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
José Soriano (TOR) threw 14 outs, 3 ER = 5.79 ERA against a projected 0 ERA (5.79 ERA error)
Bullpen behind him: 0 ER over 10 outs.
The HOME 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: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Tanner Bibee (CLE) threw 12 outs, 5 ER = 11.25 ERA against a projected 4.5 ERA (6.75 ERA error)
Bullpen behind him: 0 ER over 2 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 0 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
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 | José Soriano (Starter) | 14 / 18 | 5.79 / 0 (+5.79) | 3 / 0 | 6 / 3 | 0 / 0 | 3 / 2 | 2 / 10 | venue away: 3.32 vs 3.61 ERA (ok) · opp run factor 0.93 (weak) · 27 prior appearances this season |
| TOR | Louis Varland (Closer) | 3 / 4 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | |
| TOR | Tyler Rogers (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | |
| TOR | Spencer Miles (Middle Reliever (High Leverage)) | 4 / 0 | 0 / n/a | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | |
| CLE | Tanner Bibee (Starter) | 12 / 18 | 11.25 / 4.5 (+6.75) | 5 / 3 | 4 / 7 | 0 / 0 | 5 / 1 | 4 / 9 | venue home: 3.8 vs 3.99 ERA (ok) · opp run factor 0.97 (weak) · 28 prior appearances this season |
| CLE | Hunter Gaddis (Setup Man) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | |
| CLE | Colin Holderman (Middle Reliever (High Leverage)) | 1 / 0 | 0 / n/a | 0 / 1 | 1 / 2 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | José Ramírez (DH) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | -1.26 | 0.335 above average | bad day |
| CLE | Travis Bazzana (2B) | 1 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.299 below average | projection too high |
| CLE | Austin Hedges (C) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.8 | 0.275 weak | good day |
| TOR | Brandon Valenzuela (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0.66 | 0.313 average | no signal |
| TOR | Brett Bateman (CF) | 5 / 5 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 0.61 | 0.282 weak | good day |
| TOR | Josh Smith (3B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 2 / 1 | 0.52 | 0.288 below average | good day |
| TOR | Vladimir Guerrero Jr. (1B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | -0.47 | 0.333 above average | — |
| CLE | Brayan Rocchio (SS) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.292 below average | — |
| TOR | Sean Keys (DH) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | 0.33 | 0.247 weak | — |
| TOR | Ernie Clement (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0.33 | 0.266 weak | — |
| CLE | Angel Genao (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 1 / 0 | 0.33 | 0.297 below average | — |
| CLE | Nathaniel Lowe (1B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.335 above average | — |
| TOR | Jesús Sánchez (LF) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.326 above average | — |
| TOR | Nathan Lukes (RF) | 5 / 5 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.16 | 0.287 below average | — |
| CLE | Steven Kwan (CF) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0.14 | 0.321 above average | — |
| CLE | Jo Adell (LF) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 1 / 0 | 1 / 1 | 0.02 | 0.325 above average | — |
| TOR | Andrés Giménez (SS) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.269 weak | — |
| CLE | Chase DeLauter (RF) | 5 / 5 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.343 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.214 | positive favors home; negative favors away |
| Recent form | 0.034 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.04 | positive favors home; negative favors away |
| Composite | -0.142 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.5-3.61 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 0.547 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.5-3.61 | 5-4 | 0.11 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-3 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-3 | 4-3 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | 4-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | 4-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-3 | 4-3 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| CLE | Travis Bazzana | batter / 2B | worse | predicted_SO 3.089 |
| CLE | Steven Kwan | batter / CF | better | predicted_H 3.024 |
| CLE | José Ramírez | batter / DH | better | predicted_SO 2.431 |
| TOR | Jesús Sánchez | batter / LF | worse | predicted_AB 2.234 |
| CLE | Austin Hedges | batter / C | worse | predicted_AB 2.079 |
| TOR | José Soriano | pitcher / Starter | better | predicted_SO 2 |
| TOR | Nathan Lukes | batter / RF | boosted | predicted_H 1.87 |
| CLE | Chase DeLauter | batter / RF | worse | predicted_H -1.56 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | CLE model pitcher projections differ from final simulation pitching box score (H: current=10, sim=11). | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=35, sim=40; H: current=8, sim=7; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=5; SO: current=6, sim=12). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: José Ramírez: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Steven Kwan: AB current=4 box=5, H current=1 box=4, 2B current=0 box=1, 3B current=0 box=1; Jo Adell: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Angel Genao: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=0 box=1; Chase DeLauter: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nathaniel Lowe: AB current=3 box=4, H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Travis Bazzana: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Austin Hedges: AB current=3 box=5, H current=0 box=1, SO current=1 box=2 | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model pitcher projections differ from final simulation pitching box score (BB: current=4, sim=5). | TOR |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=33, sim=43; H: current=8, sim=11; 2B: current=1, sim=2; HR: current=1, sim=0; SO: current=7, sim=9; SF: current=0, sim=1; HBP: current=0, sim=2). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Jesús Sánchez: AB current=3 box=5, 2B current=1 box=0; Sean Keys: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Josh Smith: AB current=3 box=4, R current=0 box=1, BB current=0 box=1, SO current=1 box=2; Nathan Lukes: AB current=5 box=6, H current=1 box=3, 2B current=0 box=1, HR current=1 box=0; Vladimir Guerrero Jr.: AB current=4 box=5, BB current=1 box=0, SF current=0 box=1; Brett Bateman: AB current=5 box=6, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Andrés Giménez: AB current=3 box=4, SO current=1 box=0, HBP current=0 box=1; Ernie Clement: AB current=4 box=5, SO current=0 box=1 | TOR |
| 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.
> Coverage receipt: COMPLETE · 9/8 sections; 9/9 games; 5/5 causes; 6/6 sources
All six available source-manifest artifacts were marked loaded:
/app/output/reports/prediction_review_20260903.json, 225,604 bytes; official outcomes and scoring errors./app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260903.json, 151,096 bytes; probability, provenance, starter, and decision contracts./app/output/learning/continuous_learning_daily_20260903.json, 1,175,839 bytes; pipeline-stage quality, calibration, probability lineage, score distributions, and official starter comparisons./app/output/reports/detailed_20260903.html, 215,805 bytes; game and simulation rendering./app/output/reports/20260903_ultra_detailed_player_audit.html, 18,544,069 bytes; player-level prediction trace./app/output/reports/audit_report_20260903.html, 1,125,883 bytes; invariant findings.One manifest entry was missing:
/app/output/reports/audit_report_20260903_integrity_revision.html; intended to provide post-remediation proof for immutable revision artifacts. Bytes were null and status was missing.That missing artifact is a receipt gap. It does not establish that the predictions were wrong, but it prevents a complete independent verification of revision immutability and post-Luna remediation claims.
All nine expected games were reviewed:
Coverage is internally complete for the available evidence:
0.5271, while published pick probability was 0.547642, a +0.020542 delta. The lineage explicitly says there is “no recorded transformation” explaining it. This is the registered critical issue.0.452, consistent with a 0.547642 away-pick probability. Thus, the numerical values may be complementary side representations rather than a mathematical contradiction. The problem is that the transformation and side orientation were not recorded clearly enough to reconcile the value.---
The system went 5–4, with winner accuracy of 55.56%.
That result is only modestly above guessing and below the validated historical walk-forward baseline:
The self-assessment correctly says the slate beat coin-flipping but did not beat the validated baseline.
Winner accuracy is therefore weak-to-flat, not a success merely because five calls were correct.
Calibration was unstable and poor in the most consequential bucket:
-0.0355.-0.4409; this is a one-game sample and should not be generalized.+0.6373; this was OAK@SEA.The confidence system was not demonstrated to be globally anti-predictive, but the strong-confidence loss and the cross-slate confidence findings justify bounded confidence reduction and wider score distributions. A published home-away edge of 0.12, such as CHW@HOU, is moderate—not a near-coin-flip justification for ignoring all directional information, and not strong evidence of a robust edge.
Score accuracy was the weakest model dimension.
Slate-level facts:
The run models have near-zero holdout explanatory power:
This supports treating exact scores as low-confidence estimates. It does not prove that every specific score miss came from the run model, nor does it justify arbitrary score-tail tuning without backtesting.
Starter projections were materially wrong in several losses:
The starter-weighting lever has a mixed slate result: four games identified as helped versus three games potentially harmed. That is not strong enough to justify an aggressive global reweighting from this slate alone, especially because the persistent cross-slate run-model findings are stronger than this one-slate starter balance.
Artifact integrity was mostly good but not clean:
The distinction is important: prediction artifacts can pass structural QA while still containing a material probability-publication contract defect.
unexplained_probability_publication_delta0.5271, published pick probability 0.547642, delta 0.020542.This is a contract/evidence failure, not proof that the wrong side was selected because of the publication delta.
artifact_integrity_warningweak_run_model_signal0.0234/0.0268/0.0262.complete_slate_audit_coveragesimulation_inert_on_slate---
0.53; published home probability 0.470.−0.06; published system edge 0.06, lean.0.2209.2.−2, meaning total was underprojected by two.−0.2541.+0.610.−0.0592.−0.2975.0.52165 → governed/calibrated 0.5082 → published pick probability 0.53.no_change.0.−1.Historical ML was approximately BOS 4.95, BAL 4.03; variance stage rounded to 5–4. Later stages did not change the published score. The score missed by one run for each team but retained the correct one-run margin.
No player-level adjustments were recorded. Savant adjustment was applied. Structural audit: PASS, zero defects, seven informational findings. Forecast-file integrity was clean.
---
0.559116.+0.1182; moderate.0.194379.3.+1.−0.4151.+0.066.+0.0402.+0.0566.0.569255 → governed 0.5786 → published 0.559116.no_change.+2.−1.Predicted margin was one run; actual margin was four. No player-level adjustments were listed. Savant adjustment was applied. Structural audit: PASS, zero defects, eight informational findings.
---
0.547642; game diagnostic gives published home probability 0.452.−0.0953; displayed edge 0.10, lean.0.299912.5.−1.−0.4839.−0.134.−0.0209.−0.5256.+8, MIA +1; KC recent win percentage .600, MIA .500.−0.2032.0.509365 → calibrated/governed 0.5271; recency guardrail was not applied.0.547642, with no recorded transformation explaining the calibrated-to-published increase.no_change.+3.0.Historical ML: MIA approximately 4.95, KC 4.03. The model retained MIA 5–4 through variance, enhancement, Savant, fundamental review, cap, and simulation. The simulation did not alter the winner or score.
Twenty-four material player changes were recorded. Examples include:
+5.−2.+1.985.+1.878.+1.74.−1.34.Actual player-level results were unavailable, so these adjustments cannot be validated individually. Structural audit: PASS, zero defects, seven informational findings; forecast integrity clean.
lean_side_miss — small edge on the losing side.---
0.533686; game diagnostic gives home probability 0.466.−0.0674; displayed edge 0.07, lean.0.284821.10.+10.−0.1714.+0.290.−0.1494.−0.5304.0.54 → governed 0.5082 → published 0.533686.no_change, despite a recent-environment total of 12.05 and low-score probability 0.5003.−1.−4.This was the clearest score-path deterioration:
The transition from variance to enhanced prediction increased the score total by four runs while preserving the wrong MIL direction. Later stages did not recover the error.
Twenty-two material player changes were recorded, including:
+2.6.+2.35.−2.13.+2.+1.32.+1.28.Actual player-level results were unavailable.
Structural audit: WARNING, risk score 10. The concrete warning was a pitch-count mismatch for Logan Henderson: summary hits allowed 3, box score 2. It was not identified as the reason for the winner miss.
starter_projection; Gausman was projected for five ER and allowed one.run_environment_over; total runs were overprojected by ten.---
0.637251.+0.2745; strong.0.406089, worst on the slate.5.−1.+0.6111.+0.006.−0.0394.+0.6109.+1.05 after adjustment; season margin adjustment +0.2567.−21 versus OAK’s −6.0.62335 → governed 0.6045 → published 0.637251.no_change.0.+1.The score and winner moved toward SEA before the later stages, and no later stage corrected that direction.
Twenty-six material player changes were recorded. Examples:
+3.67.−2.14.+1.667.−1.65.+1.31.+1.25.Actual player-level results were unavailable. Structural audit: PASS, zero defects, seven informational findings; forecast integrity clean.
wrong_conviction_side — the system backed SEA with genuine conviction and lost.lean_side_miss is also recorded, but it is subordinate to the strong published confidence.---
0.53.+0.06; lean.0.2209.4.+4.+0.3866.−0.438.+0.0199.+0.3269.0.53 → governed 0.5082 → published 0.53.no_change.0.−1.Prediction remained 5–6; actual PIT won 5–2. No player-level actuals were available. Savant adjustment applied. Structural audit: PASS, zero defects, seven informational findings; forecast integrity clean.
---
0.53.+0.06; lean.0.2209.4.+4.+0.8594.−0.062.+0.0015.+0.6405.+1.2424; margin adjustment +0.3609.0.53 → governed 0.5786 → published 0.53.large_savant_run_environment_swing.supported_blowout_margin_expansion.−2.+2.The system correctly selected LAD but projected a five-run total versus the actual five-run total? The predicted total was 9 and actual total 5, so total bias was +4. Structural audit: PASS, zero defects, seven informational findings; forecast-file integrity clean.
---
0.533686; game diagnostic gives home probability 0.466.−0.0674; lean.0.284821.7.+3.−0.654.−0.3767.−0.0494.−0.7425.0.49665 → governed 0.5082 → published 0.533686.no_change; low-score probability was 0.6951.+2.−3.Prediction remained TB 5–4 from historical ML through publication. Actual was TB 0–TEX 6. No player-level actuals were available. Twenty-four material player changes were recorded, including Jorge Mateo, Ezequiel Duran, Cal Quantrill, Corey Seager, and others, but their actual effects cannot be validated.
Structural audit: PASS, zero defects, seven informational findings; forecast integrity clean.
lean_side_miss.---
0.546553; game diagnostic gives home probability 0.453.−0.0931; lean.0.205614.2.−2.+0.2137.+0.034.−0.0401.−0.1422.0.545724 → governed 0.5439 → published 0.546553; lineage says the published value matches the calibrated/governed value.no_change.+3.+2.---
The historical ML stage already pointed toward the wrong result:
The earliest model movement toward the wrong result was therefore the historical model / pre-enhancement directional baseline, reinforced by season-quality and head-to-head treatment.
The −0.0953 home-minus-away edge was a lean, not strong conviction. It should not be interpreted as a near coin flip, but it also did not support aggressive confidence.
Historical ML already favored MIL:
The first clear score-quality regression occurred at the variance-to-enhanced transition: total score rose from 9 to 13 runs, while winner direction remained wrong. The winner-direction error itself was present at historical ML.
The historical ML stage favored SEA 5.04–4.02. Variance retained SEA at 5–4, and enhancement widened SEA’s margin to 6–4. No later stage corrected it.
Thus the earliest wrong-direction evidence was the historical model, with later enhancement and season-quality weighting reinforcing the error.
0.406089, strong pick lost.Historical ML favored TB approximately 4.56–3.63. All stages retained TB at 5–4. No stage moved toward TEX.
The wrong direction therefore entered at the historical model, and the later controls failed to reverse it.
| Stage | Winner accuracy | Winner hits | Team-run MAE | Total-run MAE | Margin MAE | Change versus historical |
|---|---|---|---|---|---|---|
| historical_ml | 55.56% | 5 | 2.0006 | 2.5017 | 2.7246 | baseline |
| variance_applied | 44.44% | 4 | 2.0556 | 2.5556 | 2.7778 | worse |
| enhanced_prediction | 55.56% | 5 | 2.3333 | 3.1111 | 2.8889 | worse |
| embedded_savant_run_environment | 55.56% | 5 | 2.3333 | 3.1111 | 2.8889 | unchanged from enhanced |
| fundamental_edge_target_review | 55.56% | 5 | 2.3333 | 3.1111 | 2.8889 | unchanged |
| capped_target | 55.56% | 5 | 2.3333 | 3.1111 | 2.8889 | unchanged |
| simulation_result | 55.56% | 5 | 2.3333 | 3.1111 | 2.8889 | unchanged |
| published_final | 55.56% | 5 | 2.3333 | 3.1111 | 2.8889 | unchanged |
Transitions:
0.055, and margin MAE rose 0.0532.0.2777 and margin MAE rose 0.1111.The BOS recovery does not erase the intermediate variance-stage regression. Likewise, later unchanged stages do not demonstrate that they validated the earlier score expansion. The simulation contributed no winner-direction intervention on this slate.
---
score.variance_multiplier / score.variance_floorplayer.pitcher.v4 form weights / player.pitcher_prior_gamesrecent.* / season.* run-mean weighting---
0.5271.0.547642.0.020542.This is a prediction-contract/evidence defect, not necessarily a model-side selection defect.
3; pitching box score reports 2.PITCH_COUNT_PITCHER_MATCH.complete_slate_audit_coverage and simulation_inert_on_slate are explicitly informational at the slate level.0.026176, home 0.023403, away 0.026799.The evidence provides the following chain for all nine games:
Eight games have a recorded transformation and unexplained_material_delta: false. MIA@KC is the sole material bypass/lineage exception.
Important examples:
0.5082 → published pick 0.53, with score coherence and recency guardrail recorded.0.6045 → published 0.637251, explicitly attributed to score coherence alignment.0.5439 → published 0.546553, described as matching the calibrated/governed value.0.5271 → published 0.547642, with no transformation recorded.A bypass should be called only for MIA because its material delta lacks a recorded transformation. The other deltas are documented, even where the values appear surprising.
Coverage matrix reconciliation supports complete game coverage, but not a clean slate: full structural coverage coexists with the MIA contract defect, the MIL warning, and the missing integrity revision artifact.
---
Six prior slates were loaded, forming a seven-slate window from 2026-08-28 through 2026-09-03. Persistent escalations are not single-slate noise.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
| high_raw_probability_cluster | 0 | No | Occurred in 2 of 7 slates, but not currently persistent |
| pipeline_winner_instability | 0 | No | Occurred in 3 of 7, not currently present |
| score_margin_compression | 0 | No | Occurred in 3 of 7, not currently present as a registered streak, though this slate shows the same structural symptom |
| simulation_inert_on_slate | 7 | Yes | Escalated established failure |
| single_slate_calibration_instability | 0 | No | Occurred in 5 of 7, but no current consecutive streak |
| weak_run_model_signal | 7 | Yes | Escalated established failure |
The current slate independently exhibits margin compression, but the finding-streak record reports score_margin_compression with zero consecutive slates. Those two statements should not be conflated: the raw current-slate margin data show compression, while the registered streak counter does not classify it as currently persistent.
simulation.allow_score.The self-assessment identifies a concrete root cause: the same draws are used to search for a target-realizing play-by-play, and the loop may early-exit after finding one, with a default draw count around two. That makes the resulting win rate non-probabilistic and the flip signal vacuous. This requires operator/code action.
training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate.The correct action is not to blindly alter the three training hyperparameters. The registered response is a feature-contract and target investigation involving market no-vig probability where available, park/weather, bullpen rest/fatigue, and platoon-adjusted lineup quality, followed by same-fingerprint holdout comparison.
All directions must be stated explicitly:
−2.4113; current value −1.778.6.2179; series ends at 6.75.0.2078; current 0.1474.0.5615; current 0.5556.The top-confidence loss streak is a material warning even though the high-raw cluster is not present this slate.
0.1474; the 0.60–0.65 bucket had zero hits.---
Recommendations are ranked by persistence and evidence strength first, then scope and regression risk.
simulation.allow_score.team_run_mae/total_run_mae diagnostics and make simulation agreement/flip metrics informative; direction for winner accuracy and Brier is expected to improve, but not guaranteed.training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate.score.variance_multiplier or, preferably for a bounded floor test, score.variance_floor.unexplained_probability_publication_delta.player.pitcher.v4 form weights / player.pitcher_prior_games.---
0.026176.0.406089.The single safest action is to repair and independently verify the simulation/probability pipeline before promotion: separate score-target realization from an independently sampled winner-probability distribution, eliminate the early-exit/no-op behavior, register the draw-count parameter, and reconcile MIA’s published probability lineage. This directly addresses a seven-slate established failure and a critical evidence-contract defect without making an unvalidated global model adjustment.