Deep slate report — 20260831

Generated · schema deep_slate_diagnosis_v3 · fuses prediction review + forensic deep audit + official starter lines, with a Luna post-mortem.

Slate summary

Games
12
Hits
8
Misses
4
Winner accuracy
67%
Mean Brier (losses)
0.327
Mean total-run bias (losses)
-2.25

What drove the losses

Starting-pitcher projection was wrong: 3Backed the wrong side with real conviction: 1

Source coverage receipt

Which reports actually fed the diagnosis. A source shown as missing was not silently assumed.

SourceStatusEvidence suppliedPathBytes
prediction reviewloadedofficial outcomes and scoring errors/app/output/reports/prediction_review_20260831.jsonn/a
forensic deep auditloadedprobability, provenance, starter and decision contracts/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260831.jsonn/a
continuous learningloadedpipeline-stage quality, calibration, probability lineage/app/output/learning/continuous_learning_daily_20260831.jsonn/a
game artifactsloadedper-game model trace and structural audit source/app/output/gamesn/a

High-level causal issue register

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).

SeverityDomainFinding and evidenceAffectedAction & guardrail
HIGHpipeline_stagesAn intermediate stage materially degraded winner direction
historical_ml → variance_applied changed winner accuracy by -0.1667 (-2 hits)
BAL@COL, NYY@LAA
Do thisList the exact games whose winner flipped at this stage, and keep both the before-stage and after-stage picks in the trace.
Don't concludeEven if a later stage recovers the pick, this unstable step is still a risk; do not treat it as harmless.
HIGHscore_distributionPublished margins are compressed relative to realized margins
11/12 predictions were ≤2 runs; 6/12 actual margins were ≥4; mean predicted margin 1.42 vs actual 4.92
DET@MIN, MIL@CHC, NYY@LAA, OAK@TEX, SD@CIN, SF@ATL
Do thisCheck whether predicted margins are too narrow across several recent out-of-sample slates (measuring tail coverage and margin MAE) before widening the score spread.
Don't concludeA single blowout game is not a reason to widen every score prediction.
HIGHcalibrationPublished confidence buckets were poorly aligned on this slate
weighted absolute calibration error 0.1661 across 12 games
BAL@COL, CHW@HOU, DET@MIN, MIA@WAS, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@ATL
Do thisWatch the same confidence buckets over the full rolling window before changing any calibration weight.
Don't concludeA single slate has far too few games to establish a stable calibration curve.
HIGHmodel_validationValidated run models explain very little holdout variance
home/away/total R² = 0.0378/0.0275/0.0272
BAL@COL, CHW@HOU, DET@MIN, MIA@WAS, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@ATL
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.
INFOcoverageEvery settled game received structural QA
12/12 games structurally audited
BAL@COL, CHW@HOU, DET@MIN, MIA@WAS, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@ATL
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.
INFOprobability_lineageMaterial calibrated-to-published movements have recorded lineage
8 material movement(s), all explained by named score-coherence and/or recency transformations
CHW@HOU, DET@MIN, MIA@WAS, MIL@CHC, NYY@LAA, OAK@TEX, SEA@BOS, SF@ATL
Do thisKeep showing every probability layer and the named transformation between them.
Don't concludeA published probability above the calibrated one is not a governor bypass when a recorded transformation explains it.
INFOsimulationSimulation produced no winner-direction intervention on this slate
flip candidates 0; published flips 0
BAL@COL, CHW@HOU, DET@MIN, MIA@WAS, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@ATL
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.

Cross-slate trends (persistent-pattern memory)

Window: 20260828, 20260829, 20260830, 20260831 (3 prior slates loaded). Highest-confidence pick loss streak: 0 slate(s). Actionable pattern detected.

Escalated persistent patterns

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.

FindingPersistenceTarget lever(s)DirectionGuardrail
simulation_inert_on_slate4 consecutive · 4 in windowsimulation.allow_scoreconfirm the simulation module is running, not silently no-opingsimulation_inert_on_slate has persisted 4 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_signal4 consecutive · 4 in windowtraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateinvestigate features/target via isolated training backtest (manual)weak_run_model_signal has persisted 4 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 streaks across the window

FindingConsecutive slatesIncidencePresent nowFix type
high_raw_probability_cluster01/4noparam
pipeline_winner_instability22/4yescode/diagnostic
score_margin_compression11/4yesparam
simulation_inert_on_slate44/4yescode/diagnostic
single_slate_calibration_instability13/4yesparam
weak_run_model_signal44/4yescode/diagnostic

Metric direction across the window

MetricDirectionSeries (old → new)
winner_accuracyflat[0.4667, 0.9412, 0.5, 0.6667]
weighted_calibration_errorimproving[0.2179, 0.3961, 0.0693, 0.1661]
margin_biasregressing[-1.333, -1.882, -2.786, -3.5]
team_run_error_on_lossesregressing[5.0, 3.0, 7.0, 8.25]

Pipeline stage regression

Every stored stage is scored against the same official finals. A later recovery remains visible; it does not erase an unstable intermediate flip.

StageWinner hitsAccuracyTeam-run MAETotal-run MAEMargin MAE
historical_ml8/1266.7%3.1283.9914.702
variance_applied6/1250%3.1253.9174.75
enhanced_prediction8/1266.7%3.4584.254.75
embedded_savant_run_environment8/1266.7%3.4174.3334.667
fundamental_edge_target_review8/1266.7%3.4174.3334.667
capped_target8/1266.7%3.4174.3334.667
simulation_result8/1266.7%3.4174.3334.667
published_final8/1266.7%3.4174.3334.667
TransitionΔ accuracyΔ hitsΔ team-run MAEΔ margin MAEGames whose winner/tie changed
historical_ml → variance_applied-0.1667-2-0.00330.0477BAL@COL: BAL → TIE; NYY@LAA: LAA → TIE; PHI@ARI: ARI → TIE
variance_applied → enhanced_prediction0.166720.33330BAL@COL: TIE → BAL; NYY@LAA: TIE → NYY; PHI@ARI: TIE → PHI
enhanced_prediction → embedded_savant_run_environment00-0.0416-0.0833
embedded_savant_run_environment → fundamental_edge_target_review0000
fundamental_edge_target_review → capped_target0000
capped_target → simulation_result0000
simulation_result → published_final0000

Probability lineage and calibration

All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.

GameOutcomeRaw modelCalibratedGovernorScore coherencePublishedExplanation
BAL@COLhit0.75850.74350.74350.74920.7492score_coherence aligned probability to the published score margin
CHW@HOUhit0.50850.50820.50820.54660.53score coherence followed by matchup-recency guardrail
DET@MINhit0.50850.50820.50820.54660.53score coherence followed by matchup-recency guardrail
MIA@WAShit0.50850.50820.50820.54660.53score coherence followed by matchup-recency guardrail
MIL@CHCmiss0.50850.50820.50820.54660.53score coherence followed by matchup-recency guardrail
NYM@TBmiss0.670.6610.6610.66550.6655score_coherence aligned probability to the published score margin
NYY@LAAmiss0.59430.5910.5910.5880.5509score coherence followed by matchup-recency guardrail
OAK@TEXhit0.50850.50820.50820.54660.53score coherence followed by matchup-recency guardrail
PHI@ARIhit0.50850.50820.50820.54660.5269score coherence followed by matchup-recency guardrail
SD@CINhit0.69470.6770.6770.67350.6735score_coherence aligned probability to the published score margin
SEA@BOShit0.5850.58160.58160.58330.5602score coherence followed by matchup-recency guardrail
SF@ATLmiss0.50850.50820.50820.54660.53score coherence followed by matchup-recency guardrail
Pitcher versus batter: patterns across the whole slate

One blown start is noise. The same failure repeating across the slate is a model problem. These are the repeats.

Sides analyzedBroke on pitchingBroke on offenseBothVarianceMean starter ERA errorMean lineup runs vs proj
2427690.830.08
Trained winner blend: does it reach the published number?

no artifact on this slate records an applied trained winner blend (regenerate the slate to populate it)

Repeated bias across slates, and the lever that moves 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 0.21 over 5 slates (sign shared by 0.60 of them, z = 0.47).

starters were hit harder than projected: the run model under-credits opposing offenses.

Hold: no change: this bias is not separable from slate-to-slate noise yet

3 of 5 slates share the sign, mean 0.21 +/- 0.45 standard error: not separable from noise

lineup runs actual minus projected

Mean 0.01 over 5 slates (sign shared by 0.40 of them, z = 0.02).

lineups scored above projection: the run environment is set too low.

Hold: no change: this bias is not separable from slate-to-slate noise yet

2 of 5 slates share the sign, mean 0.01 +/- 0.33 standard error: not separable from noise

SlateGamesWinner accMean starter ERA errorMean lineup runs vs projSides broke on pitchingSides broke on offense
20260905150.533-1.17-0.0726
20260904160.625-0.23-0.44512
2026090390.5560.24-0.8346
20260902150.3330.720.3076
20260901150.4671.481.0793
20260831120.667——
20260830140.500——
20260829170.941——
20260828150.467——

Score distribution and margin compression

Narrow predicted margins next to wide actual margins is the signature the score-variance tail is too tight.

Predicted margins ≤2: 11 · Actual margins ≥4: 6
GamePred marginActual marginPred − actual
BAL@COL312
CHW@HOU13-2
DET@MIN110-9
MIA@WAS13-2
MIL@CHC114-13
NYM@TB211
NYY@LAA19-8
OAK@TEX27-5
PHI@ARI110
SD@CIN25-3
SEA@BOS110
SF@ATL14-3

Per-game evidence coverage

Expected games
12
Artifacts loaded
12
Structural audits
12
Deep-audit games
12
Learning rows
12
Starter comparisons
12

Every game, in depth (12)

BAL@COLHIT

Predicted: BAL 7-4 (conf -0.50, strong)Actual: BAL 2-1Brier 0.063total bias +8
Root cause: Right winner, wrong score
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
BALCade Povich2 ER / 14 outs1 ER / 15 outs-1
COLTanner Gordon2 ER / 15 outs1 ER / 15 outs-1
Decision internals: run factors home×1.013 / away×1.038; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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

Cade Povich (BAL) threw 15 outs, 1 ER = 1.8 ERA against a projected 3.86 ERA (-2.06 ERA error) only 6 prior appearances in the covered season - the projection had little of his own record to stand on

Bullpen behind him: 0 ER over 5 outs.

The HOME lineup he faced produced 1 runs on 8 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).

Who did the damage to him:

  • Troy Johnston: 1-for-3, 0 HR, 0 RBI [+0.33 runs vs projection] season xwOBA 0.329, above average - a good day, not a model error
  • TJ Rumfield: 1-for-2, 0 HR, 0 RBI [+0.33 runs vs projection] season xwOBA 0.334, above average - a good day, not a model error

Verdict: offense: the lineup scored well below its projection

HOME pitching

Tanner Gordon (COL) threw 15 outs, 1 ER = 1.8 ERA against a projected 3.6 ERA (-1.8 ERA error)

Bullpen behind him: 0 ER over 6 outs.

The AWAY lineup he faced produced 2 runs on 4 hits and 0 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).

Who did the damage to him:

  • Samuel Basallo: 1-for-3, 0 HR, 1 RBI [+0.64 runs vs projection] season xwOBA 0.322, above average - real projection error
  • Coby Mayo: 1-for-3, 0 HR, 0 RBI [+0.33 runs vs projection] season xwOBA 0.319, average - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
BALCade Povich (Starter)15 / 141.8 / 3.861 / 25 / 10 / 03 / 34 / 6venue away: 9.9 vs 0.71 ERA (ok) · opp run factor 1.01 (average) · 6 prior appearances this season
BALAndrew Kittredge (Closer)3 / 40 / 00 / 01 / 00 / 00 / 21 / 2
BALRico Garcia (Middle Reliever (High Leverage))2 / 40 / 00 / 00 / 10 / 00 / 01 / 0
COLTanner Gordon (Starter)15 / 151.8 / 3.61 / 23 / 20 / 11 / 43 / 6venue home: 9.33 vs 1.59 ERA (worse here) · opp run factor 1.04 (average) · 19 prior appearances this season
COLBrennan Bernardino (Setup Man)3 / 30 / 18 (-18.00)0 / 21 / 30 / 10 / 10 / 0
COLJordan Romano (Closer)3 / 30 / 00 / 00 / 00 / 00 / 01 / 0

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
BALPete Alonso (1B)3 / 40 / 10 / 00 / 00 / 10 / 10 / 11 / 11 / 1-1.40.392 elitebad day
BALGunnar Henderson (SS)4 / 51 / 10 / 00 / 00 / 10 / 10 / 10 / 10 / 1-1.260.316 averageno signal
BALSamuel Basallo (C)3 / 41 / 11 / 00 / 00 / 01 / 00 / 01 / 01 / 10.640.322 above averageprojection too low
BALColton Cowser (CF)4 / 30 / 10 / 00 / 00 / 01 / 00 / 00 / 02 / 1-0.470.321 above average—
BALCoby Mayo (DH)3 / 31 / 10 / 00 / 00 / 00 / 11 / 11 / 00 / 10.330.319 average—
BALDylan Beavers (LF)3 / 31 / 11 / 10 / 00 / 00 / 11 / 00 / 10 / 1-0.330.304 below average—
COLWilli Castro (3B)4 / 41 / 10 / 00 / 00 / 00 / 00 / 10 / 13 / 1-0.330.309 average—
COLTroy Johnston (DH)3 / 31 / 11 / 10 / 00 / 00 / 00 / 01 / 01 / 10.330.329 above average—
COLTJ Rumfield (1B)2 / 41 / 10 / 00 / 00 / 00 / 00 / 02 / 10 / 10.330.334 above average—
COLConnor Norby (2B)4 / 41 / 10 / 00 / 00 / 00 / 10 / 00 / 10 / 1-0.330.301 below average—
COLJake McCarthy (CF)5 / 41 / 10 / 10 / 00 / 00 / 10 / 10 / 00 / 1-0.310.319 average—
COLHunter Goodman (C)3 / 51 / 11 / 00 / 00 / 10 / 11 / 11 / 01 / 1-0.290.324 above average—
BALLeody Taveras (RF)1 / 30 / 10 / 00 / 00 / 00 / 10 / 02 / 00 / 10.190.273 weak—
BALBlaze Alexander (3B)3 / 30 / 10 / 00 / 00 / 00 / 00 / 11 / 00 / 1-0.140.356 elite—
BALJackson Holliday (2B)4 / 30 / 00 / 00 / 00 / 00 / 00 / 10 / 01 / 100.303 below average—
COLMickey Moniak (RF)4 / 41 / 10 / 00 / 00 / 00 / 10 / 10 / 00 / 100.281 weak—
COLJordan Beck (LF)3 / 31 / 10 / 00 / 00 / 01 / 00 / 00 / 01 / 100.243 weak—
COLEzequiel Tovar (SS)3 / 30 / 00 / 00 / 00 / 00 / 00 / 00 / 01 / 100.278 weak—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-1.044positive favors home; negative favors away
Recent form-0.976positive favors home; negative favors away
Starting-pitcher matchup-0.025positive favors home; negative favors away
Composite-1.412positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml5.03-4.67n/aBase ML historical model prediction
variance_applied5-5n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction7-40.749Enhanced ML with recent form, H2H, low-score analysis
embedded_savant_run_environment7-4n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review7-4n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target7-4n/aCapped at max 12 realistic runs
simulation_result7-4n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied5.03-4.675-5-0.354Deterministic baseline target (variance factor 1.0)
enhanced_prediction5-57-43Enhanced ML with recent form, H2H, low-score analysis
embedded_savant_run_environment7-47-4-0Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review7-47-4-0Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target7-47-4-0Capped at max 12 realistic runs
simulation_result7-47-4-0Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
COLConnor Norbybatter / 2Bbetterpredicted_RBI 2.52
BALDylan Beaversbatter / LFworsepredicted_AB 1.948
BALJackson Hollidaybatter / 2Bboostedpredicted_AB 1.8
COLHunter Goodmanbatter / Cworsepredicted_AB -1.73
COLWilli Castrobatter / 3Bworsepredicted_BB 1.653
BALGunnar Hendersonbatter / SSworsepredicted_BB 1.576
BALLeody Taverasbatter / RFbetterpredicted_RBI 1.544
BALCoby Mayobatter / DHbetterpredicted_RBI 1.466

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONBAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.BAL
infoCURRENT_PITCHER_DUPLICATIONCOL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.COL
infoCURRENT_FINALIZED_MATCH_BOXBAL model-prediction batting totals differ from final simulation box score (AB: current=31, sim=37; H: current=8, sim=10; 3B: current=0, sim=1; HR: current=2, sim=4; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=3, sim=6; SO: current=9, sim=6).BAL
infoCURRENT_PLAYER_MATCH_BOXBAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Dylan Beavers: AB current=3 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Gunnar Henderson: AB current=5 box=3, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=2; Samuel Basallo: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Jackson Holliday: AB current=3 box=5, H current=0 box=1, 3B current=0 box=1, RBI current=0 box=1; Pete Alonso: SO current=1 box=0; Leody Taveras: AB current=3 box=4, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Blaze Alexander: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, BB current=0 box=1BAL
infoCURRENT_FINALIZED_MATCH_BOXCOL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=8, sim=5; HR: current=1, sim=0; BB: current=3, sim=5).COL
infoCURRENT_PLAYER_MATCH_BOXCOL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Willi Castro: AB current=4 box=2, H current=1 box=0, R current=1 box=0, BB current=1 box=2; Mickey Moniak: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Hunter Goodman: AB current=5 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Troy Johnston: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; TJ Rumfield: AB current=4 box=3, R current=0 box=1; Connor Norby: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=3, R current=0 box=1; Jordan Beck: AB current=3 box=4, R current=0 box=1, SO current=1 box=2COL
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

CHW@HOUHIT

Predicted: HOU 4-5 (conf +0.06, lean)Actual: HOU 3-6Brier 0.221total bias +0
Root cause: Solid correct call
Evidence-backed diagnosis
Quantified contributing factors

No large single-factor errors.

TeamStarterProjectedActualER err
CHWAnthony Kay3 ER / 16 outs5 ER / 14 outs2
HOUPeter Lambert1 ER / 16 outs2 ER / 14 outs1
Decision internals: run factors home×1.04 / away×0.982; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Anthony Kay (CHW) posted 9.64 ERA vs projected 5.06 (5 ER in 14 outs); he is materially worse pitching away (4.89 ERA there vs 3.44 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

Anthony Kay (CHW) threw 14 outs, 5 ER = 9.64 ERA against a projected 5.06 ERA (4.58 ERA error)

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 / 7 hits (2 runs vs projection).

Who did the damage to him:

  • Cam Smith: 2-for-4, 0 HR, 2 RBI [+1.87 runs vs projection] season xwOBA 0.319, average - a good day, not a model error
  • Nelson Velázquez: 1-for-3, 1 HR, 2 RBI [+0.93 runs vs projection] season xwOBA 0.348, elite - real projection error
  • Christian Vázquez: 1-for-3, 0 HR, 0 RBI [+0.8 runs vs projection] season xwOBA 0.238, weak - a good day, not a model error

Verdict: both: the starter was hit hard AND the lineup underproduced

HOME pitching

Peter Lambert (HOU) threw 14 outs, 2 ER = 3.86 ERA against a projected 1.69 ERA (2.17 ERA error)

Bullpen behind him: 0 ER over 6 outs.

The AWAY lineup he faced produced 3 runs on 5 hits and 1 HR, against a projected 5 runs / 8 hits (-2 runs vs projection).

Who did the damage to him:

  • Colson Montgomery: 2-for-3, 1 HR, 1 RBI [+2.37 runs vs projection] season xwOBA 0.307, average - a good day, not a model error
  • Chase Meidroth: 1-for-3, 0 HR, 1 RBI [+0.35 runs vs projection] season xwOBA 0.292, below average - a good day, not a model error
  • Sam Antonacci: 1-for-4, 0 HR, 0 RBI [+0.33 runs vs projection] season xwOBA 0.342, elite - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
CHWAnthony Kay (Starter)14 / 169.64 / 5.06 (+4.58)5 / 36 / 41 / 02 / 05 / 4venue away: 4.89 vs 3.44 ERA (worse here) · opp run factor 1.04 (average) · 27 prior appearances this season
HOUPeter Lambert (Starter)14 / 163.86 / 1.692 / 13 / 30 / 15 / 36 / 7venue home: 4.05 vs 3 ERA (worse here) · opp run factor 0.98 (average) · 23 prior appearances this season
HOUBryan Abreu (Middle Reliever (High Leverage))3 / 30 / 00 / 00 / 00 / 01 / 02 / 1
HOUSteven Okert (Setup Man)3 / 30 / 27 (-27.00)0 / 31 / 40 / 10 / 12 / 1

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
CHWColson Montgomery (SS)3 / 42 / 11 / 00 / 01 / 01 / 12 / 02 / 01 / 12.370.307 averageno signal
HOUCam Smith (RF)4 / 32 / 01 / 01 / 00 / 02 / 01 / 00 / 01 / 11.870.319 averageno signal
HOUJeremy Peña (SS)4 / 51 / 10 / 00 / 00 / 10 / 10 / 10 / 01 / 1-0.930.326 above averagebad day
HOUNelson Velázquez (LF)3 / 31 / 10 / 00 / 01 / 02 / 01 / 00 / 02 / 10.930.348 eliteprojection too low
CHWBraden Montgomery (RF)5 / 40 / 10 / 00 / 00 / 00 / 10 / 10 / 10 / 1-0.80.329 above averagebad day
HOUChristian Vázquez (C)3 / 31 / 00 / 00 / 00 / 00 / 01 / 01 / 01 / 10.80.238 weakgood day
CHWTristan Peters (CF)2 / 40 / 10 / 10 / 00 / 00 / 10 / 00 / 01 / 1-0.780.319 averageno signal
HOUChristian Walker (1B)3 / 40 / 10 / 10 / 00 / 01 / 10 / 11 / 10 / 1-0.780.3 below averageprojection too high
CHWMunetaka Murakami (1B)2 / 40 / 10 / 00 / 00 / 11 / 10 / 13 / 11 / 2-0.740.35 elitebad day
CHWAndrew Benintendi (DH)3 / 30 / 10 / 00 / 00 / 00 / 10 / 00 / 02 / 1-0.470.31 average—
HOUDaulton Varsho (CF)4 / 40 / 10 / 00 / 00 / 00 / 00 / 00 / 02 / 1-0.470.292 below average—
CHWChase Meidroth (2B)3 / 41 / 10 / 10 / 00 / 01 / 01 / 12 / 00 / 10.350.292 below average—
CHWSam Antonacci (LF)4 / 31 / 10 / 00 / 00 / 00 / 00 / 11 / 01 / 00.330.342 elite—
HOUIsaac Paredes (3B)4 / 41 / 10 / 00 / 00 / 00 / 11 / 10 / 10 / 0-0.330.32 average—
CHWMiguel Vargas (3B)4 / 41 / 10 / 00 / 00 / 00 / 00 / 11 / 11 / 100.386 elite—
HOUYordan Alvarez (DH)3 / 41 / 10 / 00 / 00 / 01 / 11 / 11 / 10 / 100.45 elite—
HOUNick Allen (2B)4 / 31 / 10 / 00 / 00 / 00 / 01 / 00 / 01 / 100.252 weak—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-0.516positive favors home; negative favors away
Recent form-0.103positive favors home; negative favors away
Starting-pitcher matchup0.059positive favors home; negative favors away
Composite-0.001positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml4.13-5.15n/aBase ML historical model prediction
variance_applied4-5n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction4-50.53Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment4-5n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review4-5n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target4-5n/aCapped at max 12 realistic runs
simulation_result4-5n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied4.13-5.154-5-0.022Deterministic baseline target (variance factor 1.0)
enhanced_prediction4-54-50Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment4-54-50Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review4-54-50Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target4-54-50Capped at max 12 realistic runs
simulation_result4-54-50Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
CHWColson Montgomerybatter / SSworsepredicted_AB -2.46
HOUCam Smithbatter / RFboostedpredicted_RBI 1.74
CHWSam Antonaccibatter / LFbetterpredicted_AB 1.539
CHWBraden Montgomerybatter / RFbetterpredicted_RBI 1.485
CHWMunetaka Murakamibatter / 1Bworsepredicted_SO -1.475
HOUChristian Walkerbatter / 1Bbetterpredicted_RBI 1.47
HOUIsaac Paredesbatter / 3Bworsepredicted_SO 1.434
HOUYordan Alvarezbatter / DHworsepredicted_SO 1.246

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONCHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.CHW
infoCURRENT_PITCHER_DUPLICATIONHOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.HOU
infoCURRENT_FINALIZED_MATCH_BOXCHW model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7; BB: current=0, sim=1; HR: current=1, sim=2).CHW
infoCURRENT_FINALIZED_MATCH_BOXCHW model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; HR: current=1, sim=2; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=4, sim=6).CHW
infoCURRENT_PLAYER_MATCH_BOXCHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Munetaka Murakami: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Braden Montgomery: AB current=4 box=3, HR current=0 box=1, RBI current=1 box=2, SO current=1 box=2; Andrew Benintendi: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Miguel Vargas: AB current=4 box=5, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Chase Meidroth: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, SO current=1 box=0; Colson Montgomery: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB current=0 box=2; Tristan Peters: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1CHW
infoCURRENT_FINALIZED_MATCH_BOXHOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=8, sim=7).HOU
infoCURRENT_PLAYER_MATCH_BOXHOU current finalized hitter lines are model predictions and differ from the simulation box score: Isaac Paredes: 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0, SO current=0 box=2; Jeremy Peña: AB current=5 box=4, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Yordan Alvarez: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Christian Walker: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=2; Nick Allen: H current=1 box=0, SO current=1 box=0; Christian Vázquez: H current=0 box=1, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Cam Smith: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=2; Daulton Varsho: H current=1 box=0, SO current=1 box=0HOU
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

DET@MINHIT

Predicted: MIN 4-5 (conf +0.06, lean)Actual: MIN 1-11Brier 0.221total bias -3
Root cause: Right winner, wrong score
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
DETJackson Jobe3 ER / 14 outs4 ER / 15 outs1
MINTaj Bradley4 ER / 16 outs1 ER / 21 outs-3
Decision internals: run factors home×1.026 / away×1.032; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Taj Bradley (MIN) posted 1.29 ERA vs projected 6.75 (1 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

Jackson Jobe (DET) threw 15 outs, 4 ER = 7.2 ERA against a projected 5.79 ERA (1.41 ERA error) only 4 prior appearances in the covered season - the projection had little of his own record to stand on

Bullpen behind him: 0 ER over 0 outs.

The HOME lineup he faced produced 11 runs on 9 hits and 4 HR, against a projected 4 runs / 9 hits (7 runs vs projection).

Who did the damage to him:

  • Ryan Jeffers: 2-for-3, 2 HR, 4 RBI [+2.33 runs vs projection] season xwOBA 0.356, elite - real projection error
  • Kody Clemens: 1-for-2, 1 HR, 2 RBI [+1.26 runs vs projection] season xwOBA 0.341, elite - real projection error
  • Walker Jenkins: 1-for-3, 1 HR, 2 RBI [+0.95 runs vs projection] season xwOBA 0.253, weak - a good day, not a model error

Verdict: offense: the lineup scored well below its projection

HOME pitching

Taj Bradley (MIN) threw 21 outs, 1 ER = 1.29 ERA against a projected 6.75 ERA (-5.46 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The AWAY lineup he faced produced 1 runs on 5 hits and 1 HR, against a projected 3 runs / 7 hits (-2 runs vs projection).

Who did the damage to him:

  • Hao-Yu Lee: 2-for-3, 1 HR, 1 RBI [+1.4 runs vs projection] season xwOBA 0.301, below average - a good day, not a model error
  • Zach McKinstry: 1-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.282, weak - a good day, not a model error
  • Brett Callahan: 1-for-3, 0 HR, 0 RBI [+0.33 runs vs projection] season xwOBA 0.342, elite - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
DETJackson Jobe (Starter)15 / 147.2 / 5.794 / 36 / 32 / 12 / 34 / 6venue away: 0.87 vs 7.88 ERA (ok) · opp run factor 1.03 (average) · thin sample: 4 prior appearances this season (high uncertainty)
MINTaj Bradley (Starter)21 / 161.29 / 6.75 (-5.46)1 / 44 / 41 / 13 / 39 / 6venue home: 3.51 vs 4.35 ERA (ok) · opp run factor 1.03 (average) · 26 prior appearances this season

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
MINRyan Jeffers (C)3 / 42 / 10 / 00 / 02 / 04 / 02 / 11 / 11 / 02.330.356 eliteprojection too low
DETDillon Dingler (C)4 / 50 / 10 / 00 / 00 / 10 / 10 / 10 / 01 / 1-1.40.344 elitebad day
DETHao-Yu Lee (3B)3 / 32 / 10 / 00 / 01 / 01 / 01 / 00 / 01 / 11.40.301 below averagegood day
MINKody Clemens (2B)2 / 41 / 10 / 00 / 01 / 02 / 12 / 01 / 01 / 11.260.341 eliteprojection too low
MINWalker Jenkins (CF)3 / 31 / 10 / 10 / 01 / 02 / 02 / 01 / 00 / 00.950.253 weakgood day
MINBrooks Lee (3B)5 / 51 / 10 / 00 / 00 / 13 / 10 / 10 / 00 / 1-0.930.274 weakprojection too high
DETKevin McGonigle (SS)4 / 50 / 10 / 00 / 00 / 00 / 10 / 10 / 10 / 1-0.80.35 elitebad day
MINLuke Keaschall (RF)3 / 42 / 11 / 00 / 00 / 00 / 03 / 11 / 10 / 10.780.315 averageno signal
DETGleyber Torres (2B)4 / 51 / 10 / 10 / 00 / 00 / 10 / 10 / 11 / 1-0.640.327 above averagebad day
MINTrevor Larnach (LF)4 / 41 / 10 / 10 / 00 / 00 / 10 / 00 / 12 / 1-0.640.329 above averagebad day
MINKaelen Culpepper (SS)3 / 41 / 11 / 00 / 00 / 00 / 01 / 01 / 00 / 10.640.32 averageno signal
DETZach McKinstry (RF)4 / 31 / 00 / 00 / 00 / 00 / 00 / 00 / 02 / 00.470.282 weak—
DETMax Clark (CF)3 / 40 / 10 / 00 / 00 / 00 / 10 / 00 / 01 / 1-0.470.321 above average—
MINJosh Bell (DH)5 / 40 / 10 / 00 / 00 / 00 / 10 / 10 / 00 / 1-0.470.333 above average—
DETBrett Callahan (LF)3 / 31 / 10 / 00 / 00 / 00 / 00 / 01 / 02 / 10.330.342 elite—
DETColt Keith (DH)3 / 30 / 10 / 00 / 00 / 00 / 00 / 01 / 02 / 1-0.140.335 above average—
MINRoyce Lewis (1B)3 / 40 / 10 / 00 / 00 / 00 / 01 / 01 / 01 / 1-0.140.316 average—
DETSpencer Torkelson (1B)1 / 30 / 00 / 00 / 00 / 00 / 00 / 01 / 10 / 100.31 average—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-0.484positive favors home; negative favors away
Recent form0.302positive favors home; negative favors away
Starting-pitcher matchup-0.006positive favors home; negative favors away
Composite-0.025positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml3.93-4.9n/aBase ML historical model prediction
variance_applied4-5n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction4-50.53Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment4-5n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review4-5n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target4-5n/aCapped at max 12 realistic runs
simulation_result4-5n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied3.93-4.94-50.027Deterministic baseline target (variance factor 1.0)
enhanced_prediction4-54-50Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment4-54-50Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review4-54-50Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target4-54-50Capped at max 12 realistic runs
simulation_result4-54-50Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
MINRoyce Lewisbatter / 1Bbetterpredicted_RBI 4.63
DETKevin McGoniglebatter / SSdeboostedpredicted_AB -2.7
DETGleyber Torresbatter / 2Bworsepredicted_AB -1.63
DETDillon Dinglerbatter / Cworsepredicted_RBI 1.52
DETBrett Callahanbatter / LFworsepredicted_AB 1.5
MINTrevor Larnachbatter / LFbetterpredicted_AB -1.5
DETZach McKinstrybatter / RFworsepredicted_SO 1.443
MINBrooks Leebatter / 3Bworsepredicted_SO 1.328

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONDET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.DET
infoCURRENT_PITCHER_DUPLICATIONMIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.MIN
infoCURRENT_FINALIZED_MATCH_BOXDET model-prediction batting totals differ from final simulation box score (AB: current=34, sim=30; H: current=7, sim=4; 2B: current=1, sim=2; R: current=3, sim=4; SO: current=8, sim=9; SF: current=0, sim=1; HBP: current=0, sim=1).DET
infoCURRENT_PLAYER_MATCH_BOXDET current finalized hitter lines are model predictions and differ from the simulation box score: Colt Keith: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Dillon Dingler: AB current=5 box=4, RBI current=1 box=2, SO current=1 box=2; Brett Callahan: AB current=3 box=4, H current=1 box=0; Gleyber Torres: AB current=5 box=3, RBI current=1 box=0; Kevin McGonigle: AB current=5 box=2, 2B current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Hao-Yu Lee: AB current=3 box=2, H current=1 box=0, BB current=0 box=1; Zach McKinstry: AB current=3 box=4, SO current=0 box=2; Spencer Torkelson: H current=0 box=1, R current=0 box=1, SO current=1 box=0DET
infoCURRENT_FINALIZED_MATCH_BOXMIN model-prediction batting totals differ from final simulation box score (AB: current=36, sim=29; H: current=9, sim=5; 2B: current=2, sim=1; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=7, sim=6).MIN
infoCURRENT_PLAYER_MATCH_BOXMIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Kody Clemens: H current=1 box=0, RBI current=1 box=0; Trevor Larnach: AB current=4 box=2, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Ryan Jeffers: AB current=4 box=3, H current=1 box=0, SO current=0 box=1; Brooks Lee: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Josh Bell: RBI current=1 box=0, SO current=1 box=0; Kaelen Culpepper: AB current=4 box=3, H current=1 box=0; Royce Lewis: AB current=4 box=3, H current=1 box=3, HR current=0 box=2, RBI current=0 box=5MIN
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

MIA@WASHIT

Predicted: WAS 3-4 (conf +0.06, lean)Actual: WAS 3-6Brier 0.221total bias -2
Root cause: Solid correct call
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
MIARyan Gusto4 ER / 14 outs1 ER / 13 outs-3
WASWill Dion1 ER / 15 outs0 ER / 9 outs-1
Decision internals: run factors home×0.938 / away×1; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Ryan Gusto (MIA) posted 2.08 ERA vs projected 7.71 (1 ER in 13 outs); he is materially worse pitching away (4.57 ERA there vs 3.62 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

Ryan Gusto (MIA) threw 13 outs, 1 ER = 2.08 ERA against a projected 7.71 ERA (-5.63 ERA error)

Bullpen behind him: 1 ER over 4 outs.

The HOME lineup he faced produced 6 runs on 11 hits and 2 HR, against a projected 5 runs / 8 hits (1 runs vs projection).

Who did the damage to him:

  • Daylen Lile: 3-for-3, 2 HR, 4 RBI [+1.87 runs vs projection] season xwOBA 0.329, above average - real projection error
  • Nasim Nuñez: 1-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.267, weak - a good day, not a model error
  • Andrew Pinckney: 2-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.338, above average - a good day, not a model error

Verdict: offense: the lineup scored well below its projection

HOME pitching

Will Dion (WAS) threw 9 outs, 0 ER = 0 ERA against a projected 1.8 ERA (-1.8 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The AWAY lineup he faced produced 3 runs on 10 hits and 0 HR, against a projected 5 runs / 7 hits (-2 runs vs projection).

Who did the damage to him:

  • Javier Sanoja: 2-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.287, below average - a good day, not a model error
  • Esteury Ruiz: 1-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.292, below average - a good day, not a model error
  • Brian Navarreto: 1-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.167, weak - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
MIARyan Gusto (Starter)13 / 142.08 / 7.71 (-5.63)1 / 44 / 20 / 22 / 24 / 3venue away: 4.57 vs 3.62 ERA (worse here) · opp run factor 0.94 (strong) · 18 prior appearances this season
MIATyler Zuber (Setup Man)4 / 46.75 / 0 (+6.75)1 / 01 / 00 / 00 / 03 / 0
WASWill Dion (Starter)9 / 150 / 1.80 / 12 / 00 / 01 / 21 / 7opp run factor 1 (average) · 18 prior appearances this season

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
WASDaylen Lile (LF)3 / 53 / 10 / 00 / 02 / 14 / 12 / 11 / 10 / 11.870.329 above averageprojection too low
WASJorbit Vivas (2B)2 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 10 / 0-0.80.298 below averageprojection too high
MIAHeriberto Hernández (LF)2 / 40 / 10 / 00 / 00 / 10 / 11 / 12 / 00 / 1-0.740.353 elitebad day
MIAJavier Sanoja (2B)4 / 32 / 10 / 00 / 00 / 00 / 01 / 00 / 00 / 00.470.287 below average—
MIALeo Jiménez (3B)4 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 1-0.470.314 average—
MIAEsteury Ruiz (RF)4 / 31 / 00 / 00 / 00 / 00 / 00 / 00 / 01 / 10.470.292 below average—
MIABrian Navarreto (C)4 / 31 / 00 / 00 / 00 / 00 / 00 / 00 / 02 / 10.470.167 weak—
WASNasim Nuñez (SS)4 / 31 / 00 / 00 / 00 / 00 / 01 / 00 / 01 / 10.470.267 weak—
WASAndrew Pinckney (RF)4 / 32 / 10 / 00 / 00 / 00 / 01 / 00 / 01 / 10.470.338 above average—
MIAJakob Marsee (CF)4 / 32 / 11 / 00 / 00 / 00 / 00 / 10 / 11 / 10.450.305 average—
MIAAgustín Ramírez (DH)2 / 31 / 10 / 00 / 00 / 00 / 01 / 10 / 10 / 1-0.330.275 weak—
WASAndrés Chaparro (1B)4 / 31 / 10 / 10 / 00 / 00 / 11 / 10 / 03 / 1-0.310.354 elite—
MIAKyle Stowers (1B)4 / 42 / 10 / 10 / 00 / 02 / 10 / 10 / 11 / 2-0.170.335 above average—
WASKeibert Ruiz (C)4 / 52 / 10 / 10 / 00 / 00 / 10 / 10 / 01 / 00.160.286 below average—
WASAbimelec Ortiz (DH)3 / 30 / 10 / 00 / 00 / 00 / 01 / 01 / 01 / 1-0.140.294 below average—
WASBrady House (3B)4 / 52 / 10 / 00 / 00 / 01 / 10 / 10 / 11 / 10.140.336 above average—
WASJacob Young (CF)3 / 30 / 10 / 00 / 00 / 00 / 00 / 11 / 01 / 1-0.140.319 average—
MIAOtto Lopez (SS)4 / 51 / 10 / 00 / 00 / 00 / 10 / 10 / 01 / 100.324 above average—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-0.05positive favors home; negative favors away
Recent form-0.122positive favors home; negative favors away
Starting-pitcher matchup-0.062positive favors home; negative favors away
Composite-0.015positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml4.16-5.84n/aBase ML historical model prediction
variance_applied4-6n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction3-40.53Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment3-4n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review3-4n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target3-4n/aCapped at max 12 realistic runs
simulation_result3-4n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied4.16-5.844-60.322Deterministic baseline target (variance factor 1.0)
enhanced_prediction4-63-4-1Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment3-43-40Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review3-43-40Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target3-43-40Capped at max 12 realistic runs
simulation_result3-43-40Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
MIAEsteury Ruizbatter / RFworsepredicted_SO 3.04
WASDaylen Lilebatter / LFbetterpredicted_RBI 2.33
MIAKyle Stowersbatter / 1Bbetterpredicted_RBI 1.75
MIAJavier Sanojabatter / 2Bbetterpredicted_SO 1.704
WASAndrés Chaparrobatter / 1Bworsepredicted_AB 1.5
MIAOtto Lopezbatter / SSworsepredicted_H -1.38
WASJacob Youngbatter / CFworsepredicted_AB -1.342
WASNasim Nuñezbatter / SSworsepredicted_SO 1.24

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONMIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.MIA
infoCURRENT_PITCHER_DUPLICATIONWAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.WAS
infoCURRENT_FINALIZED_MATCH_BOXMIA model-prediction batting totals differ from final simulation box score (H: current=7, sim=4; 2B: current=1, sim=2; R: current=5, sim=3; SO: current=9, sim=13; HBP: current=0, sim=1).MIA
infoCURRENT_PLAYER_MATCH_BOXMIA current finalized hitter lines are model predictions and differ from the simulation box score: Agustín Ramírez: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Javier Sanoja: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=0 box=2; Leo Jiménez: 2B current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Kyle Stowers: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Heriberto Hernández: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Otto Lopez: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Esteury Ruiz: AB current=3 box=4, SO current=1 box=4; Jakob Marsee: H current=1 box=0, R current=1 box=0MIA
infoCURRENT_FINALIZED_MATCH_BOXWAS model pitcher projections differ from final simulation pitching box score (H: current=5, sim=4).WAS
infoCURRENT_FINALIZED_MATCH_BOXWAS model-prediction batting totals differ from final simulation box score (AB: current=33, sim=26; H: current=8, sim=2; 2B: current=2, sim=0; HR: current=1, sim=2; R: current=5, sim=4; SO: current=7, sim=4; HBP: current=0, sim=1).WAS
infoCURRENT_PLAYER_MATCH_BOXWAS current finalized hitter lines are model predictions and differ from the simulation box score: Abimelec Ortiz: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Andrés Chaparro: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Jorbit Vivas: AB current=3 box=2, H current=1 box=0, R current=0 box=1; Keibert Ruiz: AB current=5 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nasim Nuñez: SO current=1 box=2; Andrew Pinckney: AB current=3 box=2, H current=1 box=0, R current=0 box=1, BB current=0 box=1; Daylen Lile: AB current=5 box=3, RBI current=1 box=3, SO current=1 box=0; Brady House: AB current=5 box=3, HR current=0 box=1, BB current=1 box=0, SO current=1 box=0WAS
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

MIL@CHCMISS

Predicted: MIL 6-5 (conf -0.06, lean)Actual: CHC 3-17Brier 0.281total bias -9
Root cause: Starting-pitcher projection was wrong
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
MILKyle Harrison3 ER / 17 outs9 ER / 11 outs6
CHCClay Holmes2 ER / 18 outs0 ER / 18 outs-2
Decision internals: run factors home×0.937 / away×1.05; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.

Top deviations that drove the game:

Starter miss: Kyle Harrison (MIL) posted 22.09 ERA vs projected 4.76 (9 ER in 11 outs); he is materially worse pitching away (4.66 ERA there vs 1.26 on the other side), a venue-role weakness the model under-weighted.

What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.

Pitcher versus batter: what actually broke this game

Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.

AWAY pitching

Kyle Harrison (MIL) threw 11 outs, 9 ER = 22.09 ERA against a projected 4.76 ERA (17.33 ERA error)

Bullpen behind him: 0 ER over 4 outs.

The HOME lineup he faced produced 16 runs on 18 hits and 8 HR, against a projected 5 runs / 8 hits (11 runs vs projection).

Who did the damage to him:

  • Alex Bregman: 3-for-6, 3 HR, 4 RBI [+2.47 runs vs projection] season xwOBA 0.318, average - a good day, not a model error
  • Carson Kelly: 3-for-5, 1 HR, 2 RBI [+2.2 runs vs projection] season xwOBA 0.311, average - a good day, not a model error
  • Tyrone Taylor: 4-for-6, 1 HR, 3 RBI [+2.03 runs vs projection] season xwOBA 0.319, average - a good day, not a model error

Verdict: both: the starter was hit hard AND the lineup underproduced

HOME pitching

Clay Holmes (CHC) threw 18 outs, 0 ER = 0 ERA against a projected 3 ERA (-3 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The AWAY lineup he faced produced 2 runs on 7 hits and 1 HR, against a projected 5 runs / 9 hits (-3 runs vs projection).

Who did the damage to him:

  • Cooper Pratt: 2-for-4, 1 HR, 2 RBI [+1.4 runs vs projection] season xwOBA 0.313, average - a good day, not a model error
  • William Contreras: 1-for-2, 0 HR, 0 RBI [+0.31 runs vs projection] season xwOBA 0.333, above average - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
MILKyle Harrison (Starter)11 / 1722.09 / 4.76 (+17.33)9 / 310 / 45 / 12 / 13 / 6venue away: 4.66 vs 1.26 ERA (worse here) · opp run factor 0.94 (strong) · 21 prior appearances this season
MILChad Patrick (Middle Reliever (High Leverage))4 / 30 / 9 (-9.00)0 / 10 / 20 / 02 / 00 / 0
CHCClay Holmes (Starter)18 / 180 / 3 (-3.00)0 / 25 / 10 / 02 / 08 / 5venue home: 2.08 vs 2.42 ERA (ok) · opp run factor 1.05 (strong) · 13 prior appearances this season

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
CHCAlex Bregman (3B)6 / 53 / 10 / 00 / 03 / 14 / 13 / 10 / 10 / 12.470.318 averageno signal
CHCCarson Kelly (C)5 / 43 / 10 / 00 / 01 / 02 / 11 / 11 / 00 / 12.20.311 averageno signal
CHCTyrone Taylor (LF)6 / 34 / 10 / 10 / 01 / 03 / 02 / 00 / 00 / 02.030.319 averageno signal
CHCSeiya Suzuki (RF)5 / 53 / 10 / 10 / 01 / 01 / 13 / 11 / 10 / 11.560.339 above averageprojection too low
MILCooper Pratt (SS)4 / 32 / 10 / 00 / 01 / 02 / 01 / 00 / 00 / 11.40.313 averageno signal
CHCNico Hoerner (SS)3 / 41 / 10 / 00 / 01 / 01 / 01 / 01 / 00 / 01.260.324 above averageprojection too low
CHCMatt Shaw (2B)4 / 31 / 10 / 00 / 01 / 02 / 02 / 01 / 00 / 11.260.307 averageno signal
MILBrice Turang (2B)4 / 50 / 10 / 10 / 00 / 00 / 10 / 10 / 12 / 1-1.110.335 above averagebad day
MILChristian Yelich (DH)3 / 50 / 10 / 10 / 00 / 00 / 10 / 10 / 12 / 1-1.110.314 averageno signal
CHCPete Crow-Armstrong (CF)5 / 61 / 10 / 00 / 00 / 10 / 11 / 10 / 01 / 1-0.930.369 elitebad day
CHCMiguel Amaya (DH)3 / 31 / 00 / 00 / 00 / 01 / 02 / 01 / 01 / 10.80.289 below averagegood day
MILJackson Chourio (LF)4 / 51 / 11 / 00 / 00 / 10 / 11 / 10 / 02 / 1-0.620.334 above averagebad day
MILSal Frelick (RF)4 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 02 / 0-0.470.287 below average—
MILWilliam Contreras (C)2 / 51 / 11 / 00 / 00 / 00 / 10 / 11 / 10 / 10.310.333 above average—
CHCMichael Busch (1B)5 / 41 / 11 / 00 / 00 / 00 / 11 / 11 / 11 / 10.310.328 above average—
MILJake Bauers (1B)2 / 31 / 10 / 00 / 00 / 00 / 10 / 11 / 10 / 100.373 elite—
MILDavid Hamilton (3B)4 / 31 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 100.275 weak—
MILGarrett Mitchell (CF)2 / 41 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 100.346 elite—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-0.392positive favors home; negative favors away
Recent form-0.35positive favors home; negative favors away
Starting-pitcher matchup-0.113positive favors home; negative favors away
Composite-0.731positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml5.08-3.94n/aBase ML historical model prediction
variance_applied5-4n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction6-50.53Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment6-5n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review6-5n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target6-5n/aCapped at max 12 realistic runs
simulation_result6-5n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied5.08-3.945-4-0.137Deterministic baseline target (variance factor 1.0)
enhanced_prediction5-46-5-0Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment6-56-5-0Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review6-56-5-0Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target6-56-5-0Capped at max 12 realistic runs
simulation_result6-56-5-0Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
CHCPete Crow-Armstrongbatter / CFworsepredicted_AB -3.29
CHCSeiya Suzukibatter / RFbetterpredicted_RBI 2.25
MILChristian Yelichbatter / DHbetterpredicted_AB -1.68
MILCooper Prattbatter / SSbetterpredicted_RBI 1.65
MILSal Frelickbatter / RFworsepredicted_SO 1.618
MILWilliam Contrerasbatter / Cworsepredicted_H -1.58
CHCTyrone Taylorbatter / LFbetterpredicted_AB 1.471
CHCMatt Shawbatter / 2Bworsepredicted_AB 1.38

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONCHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.CHC
infoCURRENT_PITCHER_DUPLICATIONMIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.MIL
infoCURRENT_FINALIZED_MATCH_BOXCHC model-prediction batting totals differ from final simulation box score (AB: current=37, sim=35; 2B: current=2, sim=3; HR: current=2, sim=1; BB: current=3, sim=2; HBP: current=0, sim=3).CHC
infoCURRENT_PLAYER_MATCH_BOXCHC current finalized hitter lines are model predictions and differ from the simulation box score: Tyrone Taylor: AB current=3 box=4, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1; Nico Hoerner: AB current=4 box=3, H current=1 box=0, SO current=0 box=1, HBP current=0 box=1; Alex Bregman: H current=1 box=2, HR current=1 box=0, BB current=1 box=0; Pete Crow-Armstrong: AB current=6 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Miguel Amaya: AB current=3 box=4; Matt Shaw: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Seiya Suzuki: AB current=5 box=4, H current=1 box=2, RBI current=1 box=3; Carson Kelly: H current=1 box=0, RBI current=1 box=0, R current=1 box=0CHC
infoCURRENT_FINALIZED_MATCH_BOXMIL model-prediction batting totals differ from final simulation box score (AB: current=36, sim=31; H: current=9, sim=4; 2B: current=2, sim=1; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=4, sim=2; SO: current=8, sim=10).MIL
infoCURRENT_PLAYER_MATCH_BOXMIL current finalized hitter lines are model predictions and differ from the simulation box score: Jackson Chourio: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Bauers: AB current=3 box=4, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=2; Brice Turang: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; William Contreras: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; David Hamilton: H current=1 box=0, SO current=1 box=0; Sal Frelick: H current=1 box=0, SO current=0 box=2; Christian Yelich: AB current=5 box=3, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Garrett Mitchell: AB current=4 box=3, H current=1 box=0, R current=0 box=1, BB current=0 box=1MIL
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

NYM@TBMISS

Predicted: TB 3-5 (conf +0.33, strong)Actual: NYM 3-2Brier 0.443total bias +3
Root cause: Starting-pitcher projection was wrong
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
NYMRobert Stock4 ER / 12 outs0 ER / 16 outs-4
TBIan Seymour0 ER / 15 outs3 ER / 19 outs3
Decision internals: run factors home×0.959 / away×1.004; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.

Top deviations that drove the game:

Starter miss: Robert Stock (NYM) posted 0.00 ERA vs projected 9.00 (0 ER in 16 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

Robert Stock (NYM) threw 16 outs, 0 ER = 0 ERA against a projected 9 ERA (-9 ERA error) only 5 prior appearances in the covered season - the projection had little of his own record to stand on

Bullpen behind him: 2 ER over 7 outs.

The HOME lineup he faced produced 2 runs on 9 hits and 0 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).

Who did the damage to him:

  • Liam Hicks: 2-for-4, 0 HR, 1 RBI [+0.47 runs vs projection] season xwOBA 0.316, average - a good day, not a model error
  • Chandler Simpson: 2-for-4, 0 HR, 1 RBI [+0.47 runs vs projection] season xwOBA 0.261, weak - a good day, not a model error
  • Richie Palacios: 1-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.305, average - a good day, not a model error

Verdict: neither side broke materially - the result is closer to variance

HOME pitching

Ian Seymour (TB) threw 19 outs, 3 ER = 4.26 ERA against a projected 0 ERA (4.26 ERA error)

Bullpen behind him: 0 ER over 3 outs.

The AWAY lineup he faced produced 2 runs on 9 hits and 1 HR, against a projected 3 runs / 8 hits (-1 runs vs projection).

Who did the damage to him:

  • Mark Vientos: 1-for-4, 1 HR, 1 RBI [+0.93 runs vs projection] season xwOBA 0.314, average - a good day, not a model error
  • Francisco Alvarez: 1-for-3, 0 HR, 1 RBI [+0.47 runs vs projection] season xwOBA 0.326, above average - a good day, not a model error
  • Jared Young: 1-for-4, 0 HR, 0 RBI [+0.31 runs vs projection] season xwOBA 0.309, average - a good day, not a model error

Verdict: both: the starter was hit hard AND the lineup underproduced

Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
NYMRobert Stock (Starter)16 / 120 / 9 (-9.00)0 / 45 / 50 / 10 / 34 / 5venue away: 24 vs 4.58 ERA (ok) · opp run factor 0.96 (average) · 5 prior appearances this season
NYMDaniel Duarte (Setup Man)2 / 527 / 0 (+27.00)2 / 03 / 00 / 01 / 00 / 0
NYMNathan Lavender (Middle Reliever (High Leverage))2 / 30 / 00 / 01 / 10 / 00 / 10 / 1
NYMKodai Senga (Closer)3 / 40 / 6.75 (-6.75)0 / 10 / 10 / 01 / 01 / 1
TBIan Seymour (Starter)19 / 154.26 / 0 (+4.26)3 / 06 / 31 / 00 / 310 / 6venue home: 5.58 vs 3 ERA (worse here) · opp run factor 1 (weak) · 41 prior appearances this season
TBGarrett Cleavinger (Middle Reliever (High Leverage))3 / 20 / 40.5 (-40.50)0 / 30 / 40 / 10 / 01 / 0

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
NYMFrancisco Lindor (SS)4 / 50 / 10 / 00 / 00 / 10 / 10 / 10 / 11 / 1-1.730.338 above averagebad day
TBJunior Caminero (3B)4 / 41 / 10 / 00 / 00 / 10 / 10 / 10 / 11 / 1-1.260.363 elitebad day
NYMMark Vientos (DH)4 / 31 / 10 / 00 / 01 / 01 / 11 / 00 / 01 / 10.930.314 averageno signal
TBYandy Díaz (DH)5 / 50 / 10 / 00 / 00 / 00 / 10 / 10 / 13 / 1-0.80.355 elitebad day
NYMFrancisco Alvarez (C)3 / 31 / 00 / 00 / 00 / 01 / 00 / 00 / 02 / 10.470.326 above average—
TBJonathan Aranda (1B)3 / 50 / 10 / 00 / 00 / 00 / 11 / 11 / 10 / 1-0.470.35 elite—
TBLiam Hicks (C)4 / 32 / 10 / 00 / 00 / 01 / 00 / 10 / 00 / 00.470.316 average—
TBChandler Simpson (LF)4 / 42 / 10 / 00 / 00 / 01 / 00 / 00 / 00 / 00.470.261 weak—
TBRichie Palacios (2B)4 / 31 / 00 / 00 / 00 / 00 / 00 / 00 / 00 / 00.470.305 average—
NYMMarcus Semien (2B)4 / 41 / 10 / 00 / 00 / 00 / 00 / 00 / 10 / 1-0.330.305 average—
NYMJared Young (1B)4 / 31 / 11 / 00 / 00 / 00 / 10 / 00 / 01 / 10.310.309 average—
NYMBo Bichette (3B)4 / 41 / 11 / 00 / 00 / 00 / 01 / 10 / 01 / 10.310.325 above average—
NYMA.J. Ewing (CF)4 / 42 / 10 / 10 / 00 / 00 / 00 / 00 / 11 / 1-0.170.317 average—
TBJonny DeLuca (RF)3 / 41 / 10 / 10 / 00 / 00 / 10 / 01 / 02 / 10.020.265 weak—
NYMCarson Benge (RF)4 / 41 / 10 / 00 / 00 / 00 / 00 / 10 / 03 / 100.336 above average—
NYMChristopher Morel (LF)3 / 31 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 100.213 weak—
TBCedric Mullins (CF)4 / 31 / 10 / 00 / 00 / 00 / 00 / 00 / 00 / 100.267 weak—
TBTaylor Walls (SS)4 / 31 / 10 / 00 / 00 / 00 / 01 / 10 / 00 / 100.249 weak—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality0.796positive favors home; negative favors away
Recent form0.38positive favors home; negative favors away
Starting-pitcher matchup-0.046positive favors home; negative favors away
Composite0.792positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml3.21-5.83n/aBase ML historical model prediction
variance_applied3-6n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction3-50.665Enhanced ML with recent form, H2H, low-score analysis
embedded_savant_run_environment3-5n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review3-5n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target3-5n/aCapped at max 12 realistic runs
simulation_result3-5n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied3.21-5.833-60.385Deterministic baseline target (variance factor 1.0)
enhanced_prediction3-63-5-1Enhanced ML with recent form, H2H, low-score analysis
embedded_savant_run_environment3-53-50Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review3-53-50Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target3-53-50Capped at max 12 realistic runs
simulation_result3-53-50Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
TBJonny DeLucabatter / RFbetterpredicted_SO 2.28
TBLiam Hicksbatter / Cworsepredicted_RBI 1.78
NYMA.J. Ewingbatter / CFbetterpredicted_RBI 1.705
TBJonathan Arandabatter / 1Bworsepredicted_AB -1.69
NYMFrancisco Alvarezbatter / Cworsepredicted_H 1.63
TBYandy Díazbatter / DHworsepredicted_H -1.38
NYMFrancisco Lindorbatter / SSworsepredicted_H -1.21
NYMBo Bichettebatter / 3Bworsepredicted_SO 1.206

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONNYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.NYM
infoCURRENT_PITCHER_DUPLICATIONTB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.TB
infoCURRENT_FINALIZED_MATCH_BOXNYM model pitcher projections differ from final simulation pitching box score (H: current=7, sim=6).NYM
infoCURRENT_FINALIZED_MATCH_BOXNYM model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=9; SO: current=9, sim=7; HBP: current=0, sim=1).NYM
infoCURRENT_PLAYER_MATCH_BOXNYM current finalized hitter lines are model predictions and differ from the simulation box score: Mark Vientos: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, HBP current=0 box=1; Carson Benge: AB current=4 box=5, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Christopher Morel: AB current=3 box=4, H current=1 box=0; Francisco Lindor: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; A.J. Ewing: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Francisco Alvarez: H current=0 box=2, BB current=0 box=1, SO current=1 box=0; Marcus Semien: AB current=4 box=3, H current=1 box=2, R current=0 box=1; Jared Young: AB current=3 box=4, H current=1 box=2, RBI current=1 box=0, SO current=1 box=0NYM
infoCURRENT_FINALIZED_MATCH_BOXTB model-prediction batting totals differ from final simulation box score (AB: current=34, sim=29; H: current=8, sim=6; RBI: current=4, sim=5; BB: current=3, sim=4; SO: current=6, sim=7; SF: current=0, sim=1).TB
infoCURRENT_PLAYER_MATCH_BOXTB current finalized hitter lines are model predictions and differ from the simulation box score: Yandy Díaz: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jonathan Aranda: AB current=5 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Liam Hicks: H current=1 box=2, HR current=0 box=1, RBI current=0 box=2, BB current=0 box=1; Junior Caminero: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Jonny DeLuca: R current=0 box=1, SO current=1 box=3; Cedric Mullins: R current=0 box=1, BB current=0 box=1; Taylor Walls: AB current=3 box=2, H current=1 box=0, RBI current=0 box=1, SF current=0 box=1TB
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

NYY@LAAMISS

Predicted: NYY 5-4 (conf -0.10, moderate)Actual: LAA 1-10Brier 0.303total bias -2
Root cause: Backed the wrong side with real conviction
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
NYYElmer Rodríguez2 ER / 14 outs4 ER / 11 outs2
LAAWalbert Ureña2 ER / 17 outs1 ER / 21 outs-1
Decision internals: run factors home×0.998 / away×0.952; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Elmer Rodríguez (NYY) posted 9.82 ERA vs projected 3.86 (4 ER in 11 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

Elmer Rodríguez (NYY) threw 11 outs, 4 ER = 9.82 ERA against a projected 3.86 ERA (5.96 ERA error) only 5 prior appearances in the covered season - the projection had little of his own record to stand on

Bullpen behind him: 3 ER over 3 outs.

The HOME lineup he faced produced 9 runs on 12 hits and 0 HR, against a projected 3 runs / 7 hits (6 runs vs projection).

Who did the damage to him:

  • Vaughn Grissom: 3-for-5, 0 HR, 4 RBI [+1.56 runs vs projection] season xwOBA 0.316, average - a good day, not a model error
  • Wade Meckler: 2-for-3, 0 HR, 0 RBI [+1.13 runs vs projection] season xwOBA 0.312, average - a good day, not a model error
  • Tyler Heineman: 1-for-3, 0 HR, 0 RBI [+0.78 runs vs projection] season xwOBA 0.243, weak - a good day, not a model error

Verdict: both: the starter was hit hard AND the lineup underproduced

HOME pitching

Walbert Ureña (LAA) threw 21 outs, 1 ER = 1.29 ERA against a projected 3.18 ERA (-1.89 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The AWAY lineup he faced produced 1 runs on 6 hits and 1 HR, against a projected 5 runs / 8 hits (-4 runs vs projection).

Who did the damage to him:

  • Spencer Jones: 1-for-3, 1 HR, 1 RBI [+0.93 runs vs projection] season xwOBA 0.329, above average - real projection error
  • Amed Rosario: 2-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.312, average - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
NYYElmer Rodríguez (Starter)11 / 149.82 / 3.86 (+5.96)4 / 24 / 50 / 13 / 25 / 4venue away: 3.24 vs 5.52 ERA (ok) · opp run factor 1 (weak) · 5 prior appearances this season
NYYDavid Bednar (Closer)3 / 327 / 0 (+27.00)3 / 04 / 00 / 00 / 00 / 1
LAAWalbert Ureña (Starter)21 / 171.29 / 3.181 / 25 / 51 / 20 / 28 / 8venue home: 2.54 vs 3.71 ERA (ok) · opp run factor 0.95 (strong) · 24 prior appearances this season

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
LAAVaughn Grissom (1B)5 / 43 / 12 / 00 / 00 / 04 / 12 / 00 / 00 / 11.560.316 averageno signal
NYYLuis García Jr. (1B)4 / 40 / 10 / 00 / 00 / 10 / 10 / 10 / 02 / 0-1.40.348 elitebad day
LAAWade Meckler (LF)3 / 32 / 10 / 00 / 00 / 00 / 00 / 12 / 01 / 11.130.312 averageno signal
NYYSpencer Jones (RF)3 / 31 / 10 / 00 / 01 / 01 / 01 / 00 / 01 / 10.930.329 above averageprojection too low
LAAZach Neto (SS)4 / 51 / 10 / 00 / 00 / 11 / 12 / 11 / 12 / 1-0.930.305 averageno signal
NYYBen Rice (DH)4 / 50 / 10 / 00 / 00 / 00 / 10 / 10 / 10 / 1-0.80.378 elitebad day
NYYTrent Grisham (CF)4 / 40 / 10 / 00 / 00 / 00 / 10 / 10 / 12 / 1-0.80.337 above averagebad day
LAATyler Heineman (C)3 / 31 / 01 / 00 / 00 / 00 / 02 / 00 / 00 / 10.780.243 weakgood day
NYYAmed Rosario (3B)4 / 32 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 10.470.312 average—
NYYJosé Caballero (SS)3 / 30 / 10 / 00 / 00 / 00 / 10 / 00 / 02 / 1-0.470.28 weak—
LAAMoisés Ballesteros (DH)5 / 40 / 10 / 00 / 00 / 00 / 00 / 00 / 03 / 1-0.470.291 below average—
LAAChristian Moore (2B)5 / 42 / 11 / 00 / 00 / 02 / 01 / 00 / 11 / 10.450.238 weak—
LAAJosh Lowe (RF)4 / 31 / 10 / 00 / 00 / 00 / 00 / 01 / 01 / 10.330.29 below average—
NYYCody Bellinger (LF)4 / 52 / 10 / 10 / 00 / 00 / 10 / 10 / 10 / 1-0.170.342 elite—
LAAMike Trout (CF)5 / 52 / 10 / 10 / 00 / 02 / 11 / 10 / 11 / 1-0.170.376 elite—
NYYJazz Chisholm Jr. (2B)3 / 31 / 10 / 00 / 00 / 00 / 00 / 10 / 01 / 100.294 below average—
NYYAustin Wells (C)3 / 30 / 00 / 00 / 00 / 00 / 10 / 00 / 01 / 100.291 below average—
LAAOswald Peraza (3B)3 / 30 / 00 / 00 / 00 / 00 / 01 / 00 / 01 / 100.271 weak—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-1.373positive favors home; negative favors away
Recent form-0.696positive favors home; negative favors away
Starting-pitcher matchup0.046positive favors home; negative favors away
Composite-1.009positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml3.98-4.44n/aBase ML historical model prediction
variance_applied4-4n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction5-40.551Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment5-4n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review5-4n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target5-4n/aCapped at max 12 realistic runs
simulation_result5-4n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied3.98-4.444-40.454Deterministic baseline target (variance factor 1.0)
enhanced_prediction4-45-41Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment5-45-4-0Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review5-45-4-0Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target5-45-4-0Capped at max 12 realistic runs
simulation_result5-45-4-0Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
NYYSpencer Jonesbatter / RFbetterpredicted_H 2.311
NYYAmed Rosariobatter / 3Bbetterpredicted_AB 2.301
LAAMike Troutbatter / CFworsepredicted_SO 1.864
LAAChristian Moorebatter / 2Bbetterpredicted_RBI 1.64
NYYBen Ricebatter / DHworsepredicted_H 1.54
NYYLuis García Jr.batter / 1Bworsepredicted_SO 1.394
NYYAustin Wellsbatter / Cworsepredicted_RBI 1.39
LAATyler Heinemanbatter / Cworsepredicted_AB 1.345

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONLAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.LAA
infoCURRENT_PITCHER_DUPLICATIONNYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.NYY
infoCURRENT_FINALIZED_MATCH_BOXLAA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; RBI: current=3, sim=4; R: current=3, sim=4; BB: current=3, sim=2).LAA
infoCURRENT_PLAYER_MATCH_BOXLAA current finalized hitter lines are model predictions and differ from the simulation box score: Wade Meckler: H current=1 box=0, R current=1 box=0, BB current=0 box=1; Vaughn Grissom: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Christian Moore: 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1, BB current=1 box=0; Josh Lowe: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Oswald Peraza: AB current=3 box=4, H current=0 box=1, RBI current=0 box=1, R current=0 box=1; Moisés Ballesteros: H current=1 box=2, R current=0 box=1, SO current=1 box=2; Zach Neto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Mike Trout: AB current=5 box=4, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0LAA
infoCURRENT_FINALIZED_MATCH_BOXNYY model-prediction batting totals differ from final simulation box score (AB: current=33, sim=39; H: current=8, sim=12; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=6, sim=5; BB: current=3, sim=2; SO: current=8, sim=12).NYY
infoCURRENT_PLAYER_MATCH_BOXNYY current finalized hitter lines are model predictions and differ from the simulation box score: Cody Bellinger: AB current=5 box=4, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Amed Rosario: AB current=3 box=5, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Ben Rice: H current=1 box=3, RBI current=1 box=0, BB current=1 box=0; Spencer Jones: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, R current=0 box=1; Luis García Jr.: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jazz Chisholm Jr.: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, SO current=1 box=2; Trent Grisham: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Austin Wells: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=1 box=2NYY
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

OAK@TEXHIT

Predicted: TEX 3-5 (conf +0.06, lean)Actual: TEX 1-8Brier 0.221total bias -1
Root cause: Right winner, wrong score
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
OAKGage Jump2 ER / 15 outs7 ER / 13 outs5
TEXJacob deGrom1 ER / 15 outs0 ER / 21 outs-1
Decision internals: run factors home×0.969 / away×0.963; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Gage Jump (OAK) posted 14.54 ERA vs projected 3.60 (7 ER in 13 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

Gage Jump (OAK) threw 13 outs, 7 ER = 14.54 ERA against a projected 3.6 ERA (10.94 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The HOME lineup he faced produced 7 runs on 8 hits and 1 HR, against a projected 5 runs / 8 hits (2 runs vs projection).

Who did the damage to him:

  • Justin Foscue: 1-for-2, 1 HR, 1 RBI [+0.93 runs vs projection] season xwOBA 0.331, above average - real projection error
  • Cody Freeman: 2-for-4, 0 HR, 2 RBI [+0.47 runs vs projection] season xwOBA 0.231, weak - a good day, not a model error
  • Danny Jansen: 0-for-3, 0 HR, 0 RBI [+0.33 runs vs projection] season xwOBA 0.25, weak - a good day, not a model error

Verdict: both: the starter was hit hard AND the lineup underproduced

HOME pitching

Jacob deGrom (TEX) threw 21 outs, 0 ER = 0 ERA against a projected 1.8 ERA (-1.8 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The AWAY lineup he faced produced 1 runs on 3 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).

Who did the damage to him:

  • Jonah Heim: 1-for-3, 0 HR, 0 RBI [+0.78 runs vs projection] season xwOBA 0.292, below average - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
OAKGage Jump (Starter)13 / 1514.54 / 3.6 (+10.94)7 / 26 / 61 / 13 / 22 / 8venue away: 3.49 vs 5.62 ERA (ok) · opp run factor 0.97 (weak) · 17 prior appearances this season
TEXJacob deGrom (Starter)21 / 150 / 1.80 / 11 / 30 / 10 / 28 / 8venue home: 2.67 vs 5.86 ERA (ok) · opp run factor 0.96 (weak) · 25 prior appearances this season

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
OAKLawrence Butler (RF)3 / 41 / 10 / 00 / 00 / 10 / 10 / 10 / 12 / 1-1.260.324 above averagebad day
TEXJustin Foscue (2B)2 / 31 / 10 / 00 / 01 / 01 / 11 / 00 / 00 / 10.930.331 above averageprojection too low
OAKZack Gelof (3B)3 / 40 / 10 / 00 / 00 / 00 / 00 / 10 / 11 / 1-0.80.316 averageno signal
OAKDarell Hernaiz (SS)2 / 30 / 10 / 00 / 00 / 01 / 00 / 00 / 12 / 1-0.80.262 weakprojection too high
OAKJonah Heim (C)3 / 31 / 01 / 00 / 00 / 00 / 00 / 00 / 00 / 10.780.292 below averagegood day
OAKJeff McNeil (2B)4 / 40 / 10 / 10 / 00 / 00 / 10 / 00 / 02 / 0-0.780.307 averageno signal
OAKHenry Bolte (CF)4 / 40 / 10 / 00 / 00 / 00 / 00 / 10 / 01 / 1-0.470.311 average—
OAKTommy White (1B)3 / 40 / 10 / 00 / 00 / 00 / 00 / 10 / 01 / 1-0.470.298 below average—
OAKMax Muncy (DH)3 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 02 / 1-0.470.293 below average—
TEXElias Díaz (DH)2 / 30 / 10 / 00 / 00 / 01 / 00 / 00 / 00 / 1-0.470.278 weak—
TEXWyatt Langford (LF)3 / 40 / 10 / 00 / 00 / 00 / 01 / 11 / 11 / 1-0.470.313 average—
TEXCody Freeman (3B)4 / 32 / 10 / 00 / 00 / 02 / 00 / 00 / 00 / 00.470.231 weak—
TEXDanny Jansen (C)3 / 30 / 00 / 00 / 00 / 00 / 00 / 01 / 01 / 10.330.25 weak—
TEXBrandon Nimmo (RF)3 / 52 / 10 / 10 / 00 / 02 / 11 / 10 / 10 / 1-0.170.353 elite—
TEXJake Burger (1B)4 / 42 / 11 / 00 / 00 / 11 / 11 / 10 / 00 / 1-0.150.312 average—
TEXCorey Seager (SS)2 / 40 / 10 / 00 / 00 / 00 / 02 / 12 / 10 / 1-0.140.351 elite—
TEXEzequiel Duran (CF)4 / 41 / 10 / 10 / 00 / 00 / 11 / 11 / 00 / 10.020.306 average—
OAKCarlos Cortes (LF)3 / 31 / 10 / 00 / 00 / 00 / 11 / 00 / 00 / 100.306 average—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality0.83positive favors home; negative favors away
Recent form0.118positive favors home; negative favors away
Starting-pitcher matchup0.006positive favors home; negative favors away
Composite0.858positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml3.77-5.03n/aBase ML historical model prediction
variance_applied4-5n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction4-50.53Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
embedded_savant_run_environment3-5n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review3-5n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target3-5n/aCapped at max 12 realistic runs
simulation_result3-5n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied3.77-5.034-5-0.258Deterministic baseline target (variance factor 1.0)
enhanced_prediction4-54-50Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
embedded_savant_run_environment4-53-51Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review3-53-50Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target3-53-50Capped at max 12 realistic runs
simulation_result3-53-50Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
TEXWyatt Langfordbatter / LFbetterpredicted_RBI 2.67
TEXDanny Jansenbatter / Cbetterpredicted_H 2.54
OAKMax Muncybatter / DHworsepredicted_SO 1.855
OAKHenry Boltebatter / CFbetterpredicted_BB 1.733
TEXBrandon Nimmobatter / RFworsepredicted_AB -1.55
TEXCody Freemanbatter / 3Bbetterpredicted_SO 1.524
TEXJustin Foscuebatter / 2Bworsepredicted_AB 1.5
OAKCarlos Cortesbatter / LFworsepredicted_SO 1.475

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONOAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.OAK
infoCURRENT_PITCHER_DUPLICATIONTEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.TEX
infoCURRENT_FINALIZED_MATCH_BOXOAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=4; 2B: current=1, sim=0; HR: current=1, sim=2; R: current=4, sim=3; BB: current=3, sim=4; SO: current=8, sim=11).OAK
infoCURRENT_PLAYER_MATCH_BOXOAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: AB current=4 box=2, HR current=0 box=1, RBI current=0 box=1, BB current=0 box=2; Tommy White: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Max Muncy: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Carlos Cortes: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Zack Gelof: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Lawrence Butler: HR current=1 box=0, BB current=1 box=0, SO current=1 box=2; Jonah Heim: AB current=3 box=4; Jeff McNeil: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1OAK
infoCURRENT_FINALIZED_MATCH_BOXTEX model-prediction batting totals differ from final simulation box score (H: current=8, sim=9; 2B: current=2, sim=1; HR: current=1, sim=4; RBI: current=4, sim=5; BB: current=3, sim=2; SO: current=8, sim=10).TEX
infoCURRENT_PLAYER_MATCH_BOXTEX current finalized hitter lines are model predictions and differ from the simulation box score: Ezequiel Duran: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Corey Seager: 2B current=0 box=1, BB current=1 box=0; Jake Burger: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Brandon Nimmo: AB current=5 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Elias Díaz: AB current=3 box=4, SO current=1 box=0; Wyatt Langford: H current=1 box=2, HR current=0 box=2, RBI current=0 box=3, BB current=1 box=0; Cody Freeman: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Justin Foscue: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0TEX
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

PHI@ARIHIT

Predicted: PHI 5-4 (conf -0.05, lean)Actual: PHI 2-1Brier 0.224total bias +6
Root cause: Right winner, wrong score
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
PHIAaron Nola4 ER / 16 outs1 ER / 15 outs-3
ARIBrandon Pfaadt1 ER / 19 outs2 ER / 18 outs1
Decision internals: run factors home×0.928 / away×1.037; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.

Top deviations that drove the game:

Starter miss: Aaron Nola (PHI) posted 1.80 ERA vs projected 6.75 (1 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).

What to do: Variance — no model change is warranted for this start.

Pitcher versus batter: what actually broke this game

Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.

AWAY pitching

Aaron Nola (PHI) threw 15 outs, 1 ER = 1.8 ERA against a projected 6.75 ERA (-4.95 ERA error)

Bullpen behind him: 0 ER over 5 outs.

The HOME lineup he faced produced 1 runs on 9 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).

Who did the damage to him:

  • Ryan Waldschmidt: 2-for-4, 0 HR, 0 RBI [+0.94 runs vs projection] season xwOBA 0.304, below average - a good day, not a model error

Verdict: offense: the lineup scored well below its projection

HOME pitching

Brandon Pfaadt (ARI) threw 18 outs, 2 ER = 3 ERA against a projected 1.42 ERA (1.58 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The AWAY lineup he faced produced 2 runs on 6 hits and 1 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).

Who did the damage to him:

  • Garrett Stubbs: 1-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.221, weak - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
PHIAaron Nola (Starter)15 / 161.8 / 6.75 (-4.95)1 / 45 / 70 / 02 / 24 / 2venue away: 4.42 vs 5.72 ERA (ok) · opp run factor 0.93 (average) · 27 prior appearances this season
PHIJhoan Duran (Closer)3 / 40 / 00 / 02 / 00 / 00 / 02 / 1
PHIOrion Kerkering (Middle Reliever (High Leverage))2 / 40 / 00 / 01 / 10 / 01 / 01 / 0
ARIBrandon Pfaadt (Starter)18 / 193 / 1.422 / 15 / 31 / 01 / 01 / 4venue home: 3.24 vs 2.57 ERA (worse here) · opp run factor 1.04 (average) · 24 prior appearances this season

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
PHIKyle Schwarber (DH)3 / 50 / 10 / 00 / 00 / 10 / 10 / 11 / 10 / 2-1.40.365 elitebad day
ARIRyan Waldschmidt (CF)4 / 32 / 00 / 00 / 00 / 00 / 00 / 00 / 01 / 10.940.304 below averagegood day
ARILars Nootbaar (LF)2 / 30 / 10 / 10 / 00 / 00 / 10 / 01 / 10 / 0-0.780.346 elitebad day
ARIKetel Marte (DH)3 / 41 / 10 / 00 / 00 / 10 / 10 / 11 / 00 / 1-0.60.349 elitebad day
PHIBrandon Marsh (LF)4 / 40 / 10 / 00 / 00 / 00 / 00 / 10 / 01 / 1-0.470.306 average—
PHIGarrett Stubbs (C)4 / 31 / 00 / 00 / 00 / 00 / 01 / 00 / 00 / 10.470.221 weak—
ARITim Tawa (1B)4 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 03 / 1-0.470.304 below average—
PHIBryson Stott (3B)4 / 41 / 10 / 10 / 01 / 01 / 01 / 00 / 10 / 10.290.327 above average—
PHIBryce Harper (RF)4 / 42 / 11 / 10 / 00 / 01 / 10 / 10 / 10 / 10.140.393 elite—
PHIAlec Bohm (1B)3 / 40 / 10 / 00 / 00 / 00 / 10 / 01 / 00 / 0-0.140.323 above average—
PHITrea Turner (SS)3 / 50 / 10 / 00 / 00 / 00 / 10 / 11 / 01 / 1-0.140.294 below average—
ARIGabriel Moreno (C)5 / 52 / 11 / 10 / 00 / 01 / 10 / 10 / 11 / 10.140.366 elite—
PHILuis Arraez (2B)4 / 41 / 10 / 00 / 00 / 00 / 00 / 00 / 00 / 100.307 average—
PHIJustin Crawford (CF)4 / 31 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 000.281 weak—
ARINolan Arenado (3B)4 / 41 / 10 / 00 / 00 / 00 / 00 / 10 / 01 / 100.282 weak—
ARIIldemaro Vargas (2B)4 / 41 / 10 / 00 / 00 / 00 / 10 / 00 / 01 / 000.299 below average—
ARICorbin Carroll (RF)5 / 41 / 10 / 00 / 00 / 00 / 00 / 10 / 00 / 100.342 elite—
ARIGeraldo Perdomo (SS)4 / 41 / 10 / 00 / 00 / 00 / 01 / 01 / 12 / 000.327 above average—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-0.301positive favors home; negative favors away
Recent form-0.311positive favors home; negative favors away
Starting-pitcher matchup-0.11positive favors home; negative favors away
Composite-0.665positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml4.6-4.85n/aBase ML historical model prediction
variance_applied5-5n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction5-40.527Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment5-4n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review5-4n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target5-4n/aCapped at max 12 realistic runs
simulation_result5-4n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied4.6-4.855-50.251Deterministic baseline target (variance factor 1.0)
enhanced_prediction5-55-41Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment5-45-4-0Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review5-45-4-0Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target5-45-4-0Capped at max 12 realistic runs
simulation_result5-45-4-0Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
ARILars Nootbaarbatter / LFbetterpredicted_H 2.25
PHIBrandon Marshbatter / LFworsepredicted_SO 2.039
ARIGabriel Morenobatter / Cworsepredicted_AB -1.6
PHITrea Turnerbatter / SSworsepredicted_AB -1.15
PHIBryson Stottbatter / 3Bworsepredicted_H 1.1
ARIGeraldo Perdomobatter / SSbetterpredicted_H -1.06
ARIRyan Waldschmidtbatter / CFdeboostedpredicted_SO -1.029
PHIJustin Crawfordbatter / CFbetterpredicted_AB 1.025

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.ARI
infoCURRENT_PITCHER_DUPLICATIONPHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.PHI
infoCURRENT_FINALIZED_MATCH_BOXARI model-prediction batting totals differ from final simulation box score (2B: current=2, sim=3; 3B: current=0, sim=1; HR: current=1, sim=0; SO: current=6, sim=3; SF: current=0, sim=1).ARI
infoCURRENT_PLAYER_MATCH_BOXARI current finalized hitter lines are model predictions and differ from the simulation box score: Ketel Marte: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Lars Nootbaar: H current=1 box=3, 2B current=1 box=2, R current=0 box=1; Gabriel Moreno: AB current=5 box=3, 2B current=1 box=0, RBI current=1 box=2, BB current=1 box=0; Nolan Arenado: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Ildemaro Vargas: RBI current=1 box=0; Corbin Carroll: AB current=4 box=5, 3B current=0 box=1, R current=1 box=0; Geraldo Perdomo: H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Tim Tawa: AB current=3 box=4ARI
infoCURRENT_FINALIZED_MATCH_BOXPHI model-prediction batting totals differ from final simulation box score (AB: current=36, sim=35; 2B: current=2, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=0; SO: current=8, sim=7).PHI
infoCURRENT_PLAYER_MATCH_BOXPHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: 2B current=1 box=0, HR current=0 box=1, BB current=1 box=0; Alec Bohm: 2B current=0 box=1, R current=0 box=1; Bryson Stott: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1, R current=0 box=1; Kyle Schwarber: AB current=5 box=4, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Luis Arraez: SO current=1 box=0; Brandon Marsh: H current=1 box=0, R current=1 box=0, SO current=1 box=3; Trea Turner: AB current=5 box=4, 2B current=0 box=1; Garrett Stubbs: SO current=1 box=0PHI
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

SD@CINHIT

Predicted: SD 6-4 (conf -0.35, strong)Actual: SD 5-0Brier 0.107total bias +5
Root cause: Right winner, wrong score
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
SDMichael King3 ER / 18 outs0 ER / 18 outs-3
CINBrady Singer4 ER / 15 outs4 ER / 13 outs0
Decision internals: run factors home×1.002 / away×1.007; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Michael King (SD) posted 0.00 ERA vs projected 4.50 (0 ER in 18 outs); he is materially worse pitching away (3.56 ERA there vs 2.94 on the other side), a venue-role weakness the model under-weighted.

What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.

Pitcher versus batter: what actually broke this game

Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.

AWAY pitching

Michael King (SD) threw 18 outs, 0 ER = 0 ERA against a projected 4.5 ERA (-4.5 ERA error)

Bullpen behind him: 0 ER over 0 outs.

The HOME lineup he faced produced 0 runs on 4 hits and 0 HR, against a projected 5 runs / 8 hits (-5 runs vs projection).

No individual hitter beat his projection by a meaningful margin.

Verdict: neither side broke materially - the result is closer to variance

HOME pitching

Brady Singer (CIN) threw 13 outs, 4 ER = 8.31 ERA against a projected 7.2 ERA (1.11 ERA error)

Bullpen behind him: 0 ER over 3 outs.

The AWAY lineup he faced produced 5 runs on 15 hits and 0 HR, against a projected 4 runs / 7 hits (1 runs vs projection).

Who did the damage to him:

  • Manny Machado: 4-for-5, 0 HR, 0 RBI [+1.39 runs vs projection] season xwOBA 0.333, above average - real projection error
  • Ty France: 3-for-5, 0 HR, 1 RBI [+0.94 runs vs projection] season xwOBA 0.331, above average - real projection error
  • Luis Campusano: 2-for-4, 0 HR, 0 RBI [+0.61 runs vs projection] season xwOBA 0.335, above average - real projection error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
SDMichael King (Starter)18 / 180 / 4.5 (-4.50)0 / 34 / 50 / 03 / 06 / 6venue away: 3.56 vs 2.94 ERA (worse here) · opp run factor 1 (weak) · 27 prior appearances this season
CINBrady Singer (Starter)13 / 158.31 / 7.24 / 410 / 80 / 10 / 15 / 6venue home: 3.82 vs 5.67 ERA (ok) · opp run factor 1.01 (average) · 26 prior appearances this season
CINTejay Antone (Setup Man)3 / 30 / 18 (-18.00)0 / 21 / 30 / 00 / 02 / 1

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
SDManny Machado (3B)5 / 44 / 11 / 00 / 00 / 00 / 01 / 10 / 10 / 11.390.333 above averageprojection too low
SDTy France (1B)5 / 33 / 10 / 00 / 00 / 01 / 11 / 00 / 00 / 10.940.331 above averageprojection too low
SDJake Cronenworth (2B)5 / 50 / 10 / 00 / 00 / 00 / 10 / 00 / 12 / 1-0.80.272 weakprojection too high
CINEugenio Suárez (3B)3 / 40 / 10 / 00 / 00 / 00 / 10 / 00 / 12 / 1-0.80.29 below averageprojection too high
CINSal Stewart (1B)4 / 51 / 11 / 00 / 00 / 10 / 10 / 10 / 00 / 1-0.620.351 elitebad day
SDLuis Campusano (C)4 / 32 / 00 / 00 / 00 / 00 / 00 / 00 / 11 / 10.610.335 above averageprojection too low
CINTyler Stephenson (C)3 / 41 / 10 / 00 / 00 / 10 / 10 / 11 / 02 / 1-0.60.335 above averagebad day
SDDustin Harris (LF)5 / 32 / 10 / 00 / 00 / 01 / 00 / 10 / 01 / 00.470.327 above average—
CINEdwin Arroyo (2B)4 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 04 / 1-0.470.291 below average—
CINJJ Bleday (LF)3 / 40 / 10 / 00 / 00 / 00 / 00 / 01 / 10 / 1-0.470.349 elite—
SDJackson Merrill (CF)4 / 52 / 10 / 00 / 00 / 11 / 11 / 10 / 02 / 1-0.460.336 above average—
CINElly De La Cruz (DH)2 / 40 / 10 / 10 / 00 / 00 / 10 / 12 / 11 / 1-0.450.364 elite—
SDXander Bogaerts (DH)5 / 31 / 11 / 00 / 00 / 02 / 01 / 00 / 03 / 00.310.321 above average—
SDFernando Tatis Jr. (RF)5 / 51 / 11 / 10 / 00 / 00 / 11 / 10 / 00 / 100.374 elite—
SDSung-Mun Song (SS)4 / 30 / 00 / 00 / 00 / 00 / 00 / 00 / 01 / 100.256 weak—
CINHéctor Rodríguez (RF)5 / 31 / 10 / 00 / 00 / 00 / 00 / 10 / 02 / 100.275 weak—
CINMatt McLain (SS)3 / 41 / 10 / 00 / 00 / 00 / 00 / 10 / 00 / 100.307 average—
CINTJ Friedl (CF)3 / 30 / 00 / 00 / 00 / 00 / 00 / 00 / 00 / 100.248 weak—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality-0.695positive favors home; negative favors away
Recent form-0.361positive favors home; negative favors away
Starting-pitcher matchup-0.005positive favors home; negative favors away
Composite-0.844positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml4.79-3.34n/aBase ML historical model prediction
variance_applied5-3n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction6-40.674Enhanced ML with recent form, H2H, low-score analysis
embedded_savant_run_environment6-4n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review6-4n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target6-4n/aCapped at max 12 realistic runs
simulation_result6-4n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied4.79-3.345-30.547Deterministic baseline target (variance factor 1.0)
enhanced_prediction5-36-4-0Enhanced ML with recent form, H2H, low-score analysis
embedded_savant_run_environment6-46-4-0Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review6-46-4-0Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target6-46-4-0Capped at max 12 realistic runs
simulation_result6-46-4-0Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
SDSung-Mun Songbatter / SSworsepredicted_SO 2.457
SDDustin Harrisbatter / LFworsepredicted_H 2.25
CINSal Stewartbatter / 1Bworsepredicted_H 1.67
CINHéctor Rodríguezbatter / RFbetterpredicted_RBI 1.526
SDJackson Merrillbatter / CFbetterpredicted_AB -1.49
SDTy Francebatter / 1Bbetterpredicted_RBI 1.39
SDJake Cronenworthbatter / 2Bworsepredicted_SO 1.083
SDFernando Tatis Jr.batter / RFbetterpredicted_AB -1.07

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONCIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.CIN
infoCURRENT_PITCHER_DUPLICATIONSD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.SD
infoCURRENT_FINALIZED_MATCH_BOXCIN model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; 2B: current=1, sim=0; HR: current=2, sim=1; R: current=5, sim=4; BB: current=3, sim=1; SO: current=9, sim=7).CIN
infoCURRENT_PLAYER_MATCH_BOXCIN current finalized hitter lines are model predictions and differ from the simulation box score: Héctor Rodríguez: RBI current=0 box=2, BB current=0 box=1, SO current=1 box=0; Elly De La Cruz: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Eugenio Suárez: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Matt McLain: H current=1 box=0, R current=1 box=0; Tyler Stephenson: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Edwin Arroyo: AB current=3 box=4; TJ Friedl: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; JJ Bleday: BB current=1 box=0CIN
infoCURRENT_FINALIZED_MATCH_BOXSD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=37; H: current=7, sim=11; 2B: current=1, sim=3; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=2; SO: current=7, sim=9; SF: current=0, sim=1).SD
infoCURRENT_PLAYER_MATCH_BOXSD current finalized hitter lines are model predictions and differ from the simulation box score: Fernando Tatis Jr.: AB current=5 box=4, H current=1 box=2, RBI current=1 box=0, BB current=0 box=1; Manny Machado: AB current=4 box=5, 2B current=0 box=1, BB current=1 box=0; Xander Bogaerts: AB current=3 box=4, 2B current=0 box=1, SO current=0 box=1; Ty France: AB current=3 box=4, RBI current=1 box=2, R current=0 box=1, SO current=1 box=0; Jackson Merrill: AB current=5 box=4, H current=1 box=2, RBI current=1 box=2; Sung-Mun Song: AB current=3 box=4, SO current=1 box=3; Jake Cronenworth: RBI current=1 box=0, R current=0 box=1, BB current=1 box=0, SO current=1 box=2; Dustin Harris: AB current=3 box=4, H current=1 box=3, RBI current=0 box=2SD
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

SEA@BOSHIT

Predicted: BOS 2-3 (conf +0.12, moderate)Actual: BOS 8-9Brier 0.193total bias -12
Root cause: Right winner, wrong score
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
SEAGeorge Kirby2 ER / 17 outs5 ER / 15 outs3
BOSPayton Tolle0 ER / 18 outs4 ER / 17 outs4
Decision internals: run factors home×0.975 / away×0.959; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Payton Tolle (BOS) posted 6.35 ERA vs projected 0.00 (4 ER in 17 outs); he is materially worse pitching home (3.64 ERA there vs 2.59 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

George Kirby (SEA) threw 15 outs, 5 ER = 9 ERA against a projected 3.18 ERA (5.82 ERA error)

Bullpen behind him: 1 ER over 4 outs.

The HOME lineup he faced produced 8 runs on 12 hits and 2 HR, against a projected 4 runs / 9 hits (4 runs vs projection).

Who did the damage to him:

  • Roman Anthony: 2-for-4, 0 HR, 0 RBI [+1.4 runs vs projection] season xwOBA 0.361, elite - real projection error
  • Jarren Duran: 1-for-4, 1 HR, 2 RBI [+1.26 runs vs projection] season xwOBA 0.296, below average - a good day, not a model error
  • Mickey Gasper: 1-for-4, 1 HR, 1 RBI [+0.93 runs vs projection] season xwOBA 0.372, elite - real projection error

Verdict: pitching: the starter gave up runs at a far worse rate than projected

HOME pitching

Payton Tolle (BOS) threw 17 outs, 4 ER = 6.35 ERA against a projected 0 ERA (6.35 ERA error)

Bullpen behind him: 4 ER over 7 outs.

The AWAY lineup he faced produced 8 runs on 11 hits and 2 HR, against a projected 5 runs / 7 hits (3 runs vs projection).

Who did the damage to him:

  • Randy Arozarena: 4-for-5, 1 HR, 4 RBI [+2.01 runs vs projection] season xwOBA 0.349, elite - real projection error
  • Dominic Canzone: 2-for-5, 0 HR, 2 RBI [+1.4 runs vs projection] season xwOBA 0.356, elite - real projection error
  • Weston Wilson: 1-for-4, 0 HR, 0 RBI [+0.8 runs vs projection] season xwOBA 0.26, weak - a good day, not a model error

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)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
SEAGeorge Kirby (Starter)15 / 179 / 3.18 (+5.82)5 / 27 / 52 / 12 / 02 / 5venue away: 5.19 vs 3.21 ERA (worse here) · opp run factor 0.98 (average) · 25 prior appearances this season
SEAAndrés Muñoz (Closer)4 / 36.75 / 91 / 11 / 10 / 00 / 03 / 0
BOSPayton Tolle (Starter)17 / 186.35 / 0 (+6.35)4 / 06 / 21 / 02 / 36 / 7venue home: 3.64 vs 2.59 ERA (worse here) · opp run factor 0.96 (weak) · 22 prior appearances this season
BOSAroldis Chapman (Closer)3 / 30 / 00 / 00 / 00 / 00 / 02 / 0
BOSErik Miller (Setup Man)3 / 39 / 0 (+9.00)1 / 01 / 11 / 00 / 12 / 0
BOSTyron Guerrero (Middle Reliever (High Leverage))1 / 381 / 18 (+63.00)3 / 23 / 20 / 11 / 00 / 1

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
SEARandy Arozarena (LF)5 / 44 / 11 / 10 / 01 / 04 / 03 / 10 / 10 / 12.010.349 eliteprojection too low
SEADominic Canzone (DH)5 / 42 / 11 / 01 / 00 / 02 / 10 / 00 / 01 / 11.40.356 eliteprojection too low
BOSRoman Anthony (DH)4 / 42 / 11 / 01 / 00 / 00 / 02 / 01 / 10 / 11.40.361 eliteprojection too low
BOSJarren Duran (LF)4 / 41 / 10 / 00 / 01 / 02 / 11 / 01 / 00 / 11.260.296 below averagegood day
BOSMickey Gasper (1B)4 / 31 / 10 / 00 / 01 / 01 / 11 / 01 / 11 / 00.930.372 eliteprojection too low
SEAWeston Wilson (3B)4 / 31 / 00 / 00 / 00 / 00 / 01 / 01 / 03 / 10.80.26 weakgood day
BOSWilyer Abreu (RF)5 / 40 / 10 / 10 / 00 / 00 / 00 / 10 / 02 / 1-0.780.347 elitebad day
BOSCaleb Durbin (3B)2 / 41 / 10 / 00 / 00 / 00 / 01 / 12 / 00 / 10.660.288 below averagegood day
SEACole Young (2B)4 / 40 / 10 / 00 / 00 / 00 / 02 / 10 / 01 / 1-0.470.316 average—
SEAJ.P. Crawford (SS)2 / 41 / 00 / 00 / 00 / 00 / 01 / 01 / 11 / 10.470.327 above average—
BOSCeddanne Rafaela (CF)4 / 62 / 10 / 00 / 00 / 03 / 10 / 00 / 01 / 10.470.282 weak—
SEACal Raleigh (C)5 / 41 / 10 / 00 / 01 / 11 / 11 / 10 / 11 / 1-0.330.315 average—
SEATaylor Ward (RF)4 / 41 / 10 / 00 / 00 / 00 / 00 / 10 / 11 / 1-0.330.333 above average—
SEAJulio Rodríguez (CF)5 / 51 / 11 / 00 / 00 / 01 / 10 / 10 / 02 / 10.310.336 above average—
BOSTrevor Story (SS)5 / 42 / 11 / 00 / 00 / 13 / 00 / 10 / 01 / 1-0.150.251 weak—
SEAJosh Naylor (1B)4 / 40 / 10 / 00 / 00 / 00 / 00 / 01 / 01 / 1-0.140.313 average—
BOSNick Sogard (2B)4 / 42 / 11 / 10 / 00 / 00 / 12 / 10 / 10 / 10.140.327 above average—
BOSConnor Wong (C)4 / 31 / 10 / 00 / 00 / 00 / 01 / 00 / 01 / 100.286 below average—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality0.957positive favors home; negative favors away
Recent form0.533positive favors home; negative favors away
Starting-pitcher matchup0.016positive favors home; negative favors away
Composite0.874positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml3.66-5.52n/aBase ML historical model prediction
variance_applied4-6n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction2-30.56Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment2-3n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review2-3n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target2-3n/aCapped at max 12 realistic runs
simulation_result2-3n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied3.66-5.524-60.144Deterministic baseline target (variance factor 1.0)
enhanced_prediction4-62-3-1Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment2-32-30Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review2-32-30Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target2-32-30Capped at max 12 realistic runs
simulation_result2-32-30Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
BOSCeddanne Rafaelabatter / CFdeboostedpredicted_AB -2.73
BOSTrevor Storybatter / SSworsepredicted_AB -2.16
SEAJulio Rodríguezbatter / CFworsepredicted_AB -2.01
BOSPayton Tollepitcher / Starterbetterpredicted_SO 2
SEAJ.P. Crawfordbatter / SSworsepredicted_AB -1.65
SEACole Youngbatter / 2Bworsepredicted_RBI 1.61
BOSWilyer Abreubatter / RFworsepredicted_RBI 1.58
SEAWeston Wilsonbatter / 3Bworsepredicted_AB 1.5

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONBOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.BOS
infoCURRENT_PITCHER_DUPLICATIONSEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.SEA
infoCURRENT_FINALIZED_MATCH_BOXBOS model-prediction batting totals differ from final simulation box score (AB: current=36, sim=29; H: current=9, sim=6; 2B: current=2, sim=1; 3B: current=0, sim=1; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=1; SO: current=8, sim=5).BOS
infoCURRENT_PLAYER_MATCH_BOXBOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: H current=1 box=0, BB current=1 box=0, SO current=1 box=0; Mickey Gasper: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Nick Sogard: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Caleb Durbin: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=0; Ceddanne Rafaela: AB current=6 box=3, H current=1 box=2, RBI current=1 box=0, R current=0 box=1; Wilyer Abreu: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2, SO current=1 box=0; Connor Wong: SO current=1 box=0; Jarren Duran: AB current=4 box=3, 3B current=0 box=1, RBI current=1 box=0, SO current=1 box=2BOS
infoCURRENT_FINALIZED_MATCH_BOXSEA model-prediction batting totals differ from final simulation box score (AB: current=36, sim=32; H: current=7, sim=5; 2B: current=1, sim=2; RBI: current=3, sim=2; R: current=5, sim=2; SO: current=9, sim=8).SEA
infoCURRENT_PLAYER_MATCH_BOXSEA current finalized hitter lines are model predictions and differ from the simulation box score: Julio Rodríguez: AB current=5 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cal Raleigh: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Taylor Ward: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Randy Arozarena: 2B current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Dominic Canzone: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Josh Naylor: 2B current=0 box=1; Cole Young: HR current=0 box=1, RBI current=0 box=2; Weston Wilson: AB current=3 box=4, H current=0 box=1SEA
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

SF@ATLMISS

Predicted: ATL 4-5 (conf +0.06, lean)Actual: SF 7-3Brier 0.281total bias -1
Root cause: Starting-pitcher projection was wrong
Evidence-backed diagnosis
Quantified contributing factors
TeamStarterProjectedActualER err
SFAnthony Molina4 ER / 9 outs3 ER / 15 outs-1
ATLBryce Elder1 ER / 18 outs5 ER / 16 outs4
Decision internals: run factors home×1 / away×1.083; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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: Bryce Elder (ATL) posted 8.44 ERA vs projected 1.50 (5 ER in 16 outs); he faced a strong offense (opponent run factor 1.08, bucket weak).

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

Anthony Molina (SF) threw 15 outs, 3 ER = 5.4 ERA against a projected 12 ERA (-6.6 ERA error) only 4 prior appearances in the covered season - the projection had little of his own record to stand on

Bullpen behind him: 0 ER over 7 outs.

The HOME lineup he faced produced 3 runs on 9 hits and 1 HR, against a projected 5 runs / 9 hits (-2 runs vs projection).

Who did the damage to him:

  • Austin Riley: 2-for-4, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.298, below average - a good day, not a model error
  • Drake Baldwin: 2-for-4, 0 HR, 1 RBI [+0.45 runs vs projection] season xwOBA 0.367, elite - a good day, not a model error
  • Sean Murphy: 1-for-3, 0 HR, 0 RBI [+0.33 runs vs projection] season xwOBA 0.275, weak - a good day, not a model error

Verdict: neither side broke materially - the result is closer to variance

HOME pitching

Bryce Elder (ATL) threw 16 outs, 5 ER = 8.44 ERA against a projected 1.5 ERA (6.94 ERA error)

Bullpen behind him: 1 ER over 1 outs.

The AWAY lineup he faced produced 6 runs on 10 hits and 3 HR, against a projected 3 runs / 7 hits (3 runs vs projection).

Who did the damage to him:

  • Jonah Cox: 2-for-5, 1 HR, 2 RBI [+1.4 runs vs projection] season xwOBA 0.274, weak - a good day, not a model error
  • Andrew Knizner: 2-for-4, 0 HR, 0 RBI [+1.25 runs vs projection] season xwOBA 0.271, weak - a good day, not a model error
  • Osleivis Basabe: 1-for-4, 1 HR, 1 RBI [+0.93 runs vs projection] season xwOBA 0.283, weak - a good day, not a model error

Verdict: both: the starter was hit hard AND the lineup underproduced

Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)

TeamPitcherOutsERAERHHRBBSOContext (as-of)
SFAnthony Molina (Starter)15 / 95.4 / 12 (-6.60)3 / 46 / 41 / 20 / 26 / 2opp run factor 1 (strong) · thin sample: 4 prior appearances this season (high uncertainty)
SFDylan Smith (Closer)3 / 30 / 00 / 01 / 00 / 01 / 01 / 2
SFJason Foley (Setup Man)4 / 30 / 00 / 02 / 00 / 00 / 01 / 2
ATLBryce Elder (Starter)16 / 188.44 / 1.5 (+6.94)5 / 18 / 12 / 03 / 43 / 6venue home: 3.49 vs 4.93 ERA (ok) · opp run factor 1.08 (weak) · 25 prior appearances this season
ATLDylan Lee (Setup Man)1 / 327 / 0 (+27.00)1 / 02 / 00 / 00 / 00 / 2

Hitters: actual / projected (sorted by run impact vs projection)

TeamBatterABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
SFJonah Cox (CF)5 / 32 / 10 / 00 / 01 / 02 / 01 / 00 / 01 / 11.40.274 weakgood day
SFAndrew Knizner (C)4 / 32 / 01 / 00 / 00 / 00 / 01 / 00 / 00 / 11.250.271 weakgood day
ATLMatt Olson (1B)4 / 40 / 10 / 10 / 00 / 01 / 10 / 10 / 11 / 1-1.110.355 elitebad day
SFOsleivis Basabe (3B)4 / 31 / 10 / 00 / 01 / 01 / 01 / 00 / 01 / 10.930.283 weakgood day
SFNate Furman (2B)3 / 32 / 00 / 00 / 00 / 00 / 01 / 00 / 11 / 10.610.213 weakgood day
SFDrew Gilbert (LF)3 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 1-0.470.328 above average—
SFChristian Koss (SS)3 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 1-0.470.24 weak—
ATLMauricio Dubón (SS)4 / 40 / 10 / 00 / 00 / 00 / 10 / 00 / 01 / 0-0.470.302 below average—
ATLAustin Riley (3B)4 / 42 / 10 / 00 / 00 / 00 / 00 / 00 / 00 / 10.470.298 below average—
ATLDrake Baldwin (DH)4 / 42 / 11 / 00 / 00 / 01 / 11 / 10 / 12 / 10.450.367 elite—
SFRafael Devers (DH)3 / 41 / 10 / 00 / 01 / 11 / 12 / 12 / 11 / 10.330.34 elite—
ATLRonald Acuña Jr. (RF)4 / 51 / 10 / 00 / 00 / 00 / 00 / 10 / 11 / 1-0.330.362 elite—
ATLSean Murphy (C)3 / 31 / 10 / 00 / 00 / 00 / 01 / 01 / 02 / 10.330.275 weak—
ATLMichael Harris II (CF)4 / 52 / 20 / 10 / 01 / 11 / 11 / 10 / 02 / 1-0.310.341 elite—
SFBryce Eldridge (1B)5 / 42 / 10 / 10 / 00 / 01 / 10 / 10 / 10 / 1-0.170.357 elite—
SFJung Hoo Lee (RF)4 / 50 / 10 / 00 / 00 / 00 / 10 / 11 / 01 / 1-0.140.315 average—
ATLOzzie Albies (2B)4 / 41 / 10 / 00 / 00 / 00 / 00 / 10 / 00 / 100.284 below average—
ATLMike Yastrzemski (LF)4 / 30 / 00 / 00 / 00 / 00 / 00 / 00 / 01 / 100.308 average—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality1.228positive favors home; negative favors away
Recent form0.182positive favors home; negative favors away
Starting-pitcher matchup-0.083positive favors home; negative favors away
Composite0.718positive favors home; negative favors away

Score and confidence evolution

StageAway-home runsConfidenceWhat changed
historical_ml3.85-4.61n/aBase ML historical model prediction
variance_applied4-5n/aDeterministic baseline target (variance factor 1.0)
enhanced_prediction4-50.53Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment4-5n/aTarget score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review4-5n/aRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target4-5n/aCapped at max 12 realistic runs
simulation_result4-5n/aFinal inning-by-inning simulation result

Official postgame stage attribution

StageBeforeAfterToward final pickWhat changed
variance_applied3.85-4.614-50.24Deterministic baseline target (variance factor 1.0)
enhanced_prediction4-54-50Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
embedded_savant_run_environment4-54-50Target score adjusted by temporal Savant lineup quality versus opposing starter quality
fundamental_edge_target_review4-54-50Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
capped_target4-54-50Capped at max 12 realistic runs
simulation_result4-54-50Final inning-by-inning simulation result

Largest player-level adjustments from the ultra-detailed trace

These are pregame model adjustments, not claims about actual postgame player error.

TeamPlayerRoleNet effectLargest change
SFOsleivis Basabebatter / 3Bworsepredicted_RBI 2.692
ATLDrake Baldwinbatter / DHbetterpredicted_RBI 2.407
ATLMichael Harris IIbatter / CFworsepredicted_AB -1.72
ATLMauricio Dubónbatter / SSbetterpredicted_AB -1.705
SFJung Hoo Leebatter / RFworsepredicted_SO 1.615
SFAndrew Kniznerbatter / Cworsepredicted_AB 1.5
ATLOzzie Albiesbatter / 2Bworsepredicted_SO 1.382
SFAnthony Molinapitcher / Starterworsepredicted_IP -1.333

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.ATL
infoCURRENT_PITCHER_DUPLICATIONSF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.SF
infoCURRENT_FINALIZED_MATCH_BOXATL model-prediction batting totals differ from final simulation box score (AB: current=36, sim=30; H: current=9, sim=7; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=4, sim=5; BB: current=3, sim=4; SO: current=8, sim=6; SF: current=0, sim=1).ATL
infoCURRENT_PLAYER_MATCH_BOXATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: H current=1 box=2, HR current=0 box=2, RBI current=1 box=3, BB current=1 box=0; Mauricio Dubón: AB current=4 box=2, H current=1 box=0, R current=0 box=1, BB current=0 box=1; Ronald Acuña Jr.: AB current=5 box=4, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Ozzie Albies: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Michael Harris II: AB current=5 box=3, H current=2 box=0, 2B current=1 box=0, HR current=1 box=0; Matt Olson: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Sean Murphy: R current=0 box=1, BB current=0 box=1; Austin Riley: H current=1 box=0, SO current=1 box=0ATL
infoCURRENT_FINALIZED_MATCH_BOXSF model-prediction batting totals differ from final simulation box score (AB: current=31, sim=30; H: current=7, sim=3; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=3, sim=4; R: current=3, sim=4; BB: current=3, sim=5; SO: current=9, sim=8).SF
infoCURRENT_PLAYER_MATCH_BOXSF current finalized hitter lines are model predictions and differ from the simulation box score: Rafael Devers: AB current=4 box=3, HR current=1 box=0; Drew Gilbert: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Osleivis Basabe: AB current=3 box=4, H current=1 box=2, HR current=0 box=2, RBI current=0 box=3; Bryce Eldridge: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Jonah Cox: H current=1 box=0, R current=0 box=1, BB current=0 box=1; Christian Koss: H current=1 box=0, SO current=1 box=0; Andrew Knizner: AB current=3 box=4; Jung Hoo Lee: AB current=5 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0SF
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

Cross-game lever tension

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.

score.variance_multiplier / score.variance_floor (widen run distributions)

Targets: brier_score, calibration_error · 2 helped vs 2 hurt
Would help
  • NYM@TB (miss): lost a 0.33-confidence pick; wider tails lower overconfidence
  • NYY@LAA (miss): lost a 0.10-confidence pick; wider tails lower overconfidence
Would hurt / risk
  • BAL@COL (hit): strong correct call at 0.50; widening softens a good edge
  • SD@CIN (hit): strong correct call at 0.35; widening softens a good edge

player.pitcher.v4 form weights / player.pitcher_prior_games

Targets: starter_er_mae, starter_outs_mae · 9 helped vs 1 hurt
Would help
  • DET@MIN (hit): starter ER off by 3
  • MIA@WAS (hit): starter ER off by 3
  • MIL@CHC (miss): starter ER off by 6
  • NYM@TB (miss): starter ER off by 4
  • OAK@TEX (hit): starter ER off by 5
  • PHI@ARI (hit): starter ER off by 3
  • SD@CIN (hit): starter ER off by 3
  • SEA@BOS (hit): starter ER off by 4
  • SF@ATL (miss): starter ER off by 4
Would hurt / risk
  • BAL@COL (hit): starter projection was accurate (ER off 1); reweight risks disturbing it

recent.* / season.* run-mean weighting

Targets: team_run_mae, total_run_mae, accuracy · 9 helped vs 2 hurt
Would help
  • BAL@COL (hit): team runs off by 8
  • DET@MIN (hit): team runs off by 9
  • MIL@CHC (miss): team runs off by 15
  • NYY@LAA (miss): team runs off by 10
  • OAK@TEX (hit): team runs off by 5
  • PHI@ARI (hit): team runs off by 6
  • SD@CIN (hit): team runs off by 5
  • SEA@BOS (hit): team runs off by 12
  • SF@ATL (miss): team runs off by 5
Would hurt / risk
  • CHW@HOU (hit): team runs already close (off 2); reweight risks disturbing it
  • MIA@WAS (hit): team runs already close (off 2); reweight risks disturbing it

Luna deep post-mortem (full)

> Coverage receipt: COMPLETE · 9/8 sections; 12/12 games; 7/7 causes; 6/6 sources

1. Evidence receipt and gaps

Source manifest

All seven manifest entries were checked against their recorded status:

SourcePathBytesStatusUse
Prediction review/app/output/reports/prediction_review_20260831.json300,127LoadedOfficial outcomes and scoring errors
Forensic deep audit/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260831.json195,470LoadedProbability, provenance, starter, and decision contracts
Continuous learning/app/output/learning/continuous_learning_daily_20260831.json1,934,747LoadedStage quality, calibration, lineage, margins, starter comparisons
Detailed report/app/output/reports/detailed_20260831.html284,841LoadedGame and simulation rendering
Ultra-detailed player audit/app/output/reports/20260831_ultra_detailed_player_audit.html4,202,742LoadedPlayer-level prediction trace
Structural audit/app/output/reports/audit_report_20260831.html257,116LoadedInvariant findings
Integrity revision audit/app/output/reports/audit_report_20260831_integrity_revision.htmlNot suppliedMissingPost-remediation proof for immutable revision artifacts

Coverage

All 12 expected games were reviewed:

The data marks learning eligibility as true because all game artifacts passed critical/error structural gates.

Gaps and contradictions

  1. Missing integrity revision audit. The manifest explicitly reports status: "missing" for the immutable-revision audit. This is an evidence gap and an artifact-integrity limitation, although the structural summary reports zero critical and zero error findings.
  2. Per-game audit contradiction. Each game has structural_audit.findings: [] and status: "PASS", but the diagnostic observations state that the structural audit exposed 7 or 8 non-pass findings. The summaries count only info findings—87 across the slate—but the underlying individual findings are not present in this JSON. Their content therefore cannot be independently enumerated or evaluated.
  3. BAL@COL probability-path naming inconsistency. The game-level trace records raw_pick_probability: 0.724282, while the probability-lineage row records raw_model_pick_probability: 0.7585 and governor_input_probability: 0.724282. The lineage is materially more complete; the game-level raw_pick_probability field appears to refer to a post-raw/pre-governor value rather than the true raw model output. This is a trace-labeling defect or schema ambiguity, not an unexplained publication bypass.
  4. Confidence-edge convention. The listed confidence_home_minus_away is a signed home-minus-away edge, not a probability itself. For example, BAL@COL has -0.4985, corresponding to a published away probability of approximately 0.749 and home probability of approximately 0.251. The reports correctly warn that the “0.50” strong edge is not a half-scale distance from 50%.
  5. No source data for actual player box-score detail beyond starter ER/outs and listed adjustment observations. No unprovided player performance should be inferred.

---

2. Executive diagnosis

Overall result

A correct winner was often accompanied by a poor score prediction. The slate produced 8 winner hits, but only two games were classified as solid_correct_call—CHW@HOU and MIA@WAS. The other six winner hits were either materially wrong scores or, in one case, a correct winner despite substantial starter/run error.

Separate diagnoses

Winner accuracy

Winner accuracy was acceptable on this slate at 66.7%, but not uniformly reliable:

The key process concern is not the final accuracy alone. The historical_ml → variance_applied transition regressed winner accuracy by 2 hits, from 8 to 6, before the enhanced stage recovered those two games. The affected direction changes were:

The later recovery does not erase the intermediate regression.

Calibration quality

Calibration was poor on this 12-game slate:

The bucket behavior is unstable rather than monotonic. The issue register appropriately warns not to infer a stable calibration curve from seven games or from this one slate. The high-raw cluster also deserves attention: it contained 3 games and 2 hits, while the associated empirical hit rates were only 0.5519, 0.5567, and 0.5766 despite calibrated probabilities from 0.661 to 0.7435.

Score accuracy

Score accuracy was the weakest prediction dimension:

The issue register’s score_margin_compression finding is therefore material and high severity. It does not justify mechanically widening every score. The correct response is rolling out-of-sample evaluation of variance width, tail coverage, margin MAE, and total-run MAE.

Starter accuracy

Starter projections were a major contributor to the four losses:

The starter lever tension reports that pitcher-form/prior weighting would have helped 9 games and hurt 1, but this is a small slate and does not establish causal superiority.

Artifact integrity

Structural coverage was complete and the aggregate structural audit reports:

However:

Therefore, artifact integrity is broadly passing at the critical/error gate but not fully clean as a forensic evidence package.

Causal issue register reconciliation

IDSeverityEvidenceAffected gamesActionGuardrail
pipeline_winner_instabilityHighhistorical_ml → variance_applied reduced winner accuracy by 0.1667, or 2 hitsBAL@COL, NYY@LAA; PHI@ARI also changed direction but recoveredIdentify exact boundary flips and preserve pre/post winnersLater recovery does not make the unstable intermediate transition harmless
score_margin_compressionHigh11/12 predicted margins ≤2; 6/12 actual margins ≥4; predicted mean 1.42 vs actual 4.92Listed six direct affected games: DET@MIN, MIL@CHC, NYY@LAA, OAK@TEX, SD@CIN, SF@ATLEvaluate distribution width, tail coverage, and margin MAE on rolling OOS slatesOne blowout does not justify widening every point estimate
single_slate_calibration_instabilityHighWeighted absolute calibration error 0.1661All 12Monitor buckets over registered rolling windowThis slate cannot establish a stable calibration curve
weak_run_model_signalHighRun R² only 0.0275/0.0378/0.0272All 12Investigate features/target through isolated training backtestPositive R² only beats the mean baseline; exact scores remain unreliable
complete_slate_audit_coverageInfo12/12 structurally auditedAll 12Retain per-game receiptCoverage does not erase internal findings
probability_publication_delta_explainedInfo8 material movements, all attributed to score coherence and/or recencyEight listed gamesContinue displaying all probability layersA higher published value is not automatically a governor bypass
simulation_inert_on_slateInfo on this slate, escalated persistent pattern across slates0 candidates and 0 published flipsAll 12Measure simulation contribution and verify executionZero flips is not itself a defect and does not prove no score work occurred

---

3. Every game

The pipeline score path for all games was:

historical_ml → variance_applied → enhanced_prediction → embedded_savant_run_environment → fundamental_edge_target_review → capped_target → simulation_result → published_final

Only the first two transitions changed winner direction on this slate. Simulation and later stages produced no winner flips.

BAL@COL — hit, correct winner/wrong score

CHW@HOU — hit, solid correct call

DET@MIN — hit, correct winner/wrong score

MIA@WAS — hit, solid correct call

MIL@CHC — miss

NYM@TB — miss

NYY@LAA — miss

OAK@TEX — hit, correct winner/wrong score

PHI@ARI — hit, correct winner/wrong score

SD@CIN — hit, correct winner/wrong score

SEA@BOS — hit, correct winner/wrong score

SF@ATL — miss

Correct-winner/wrong-score games

The six explicit right_winner_wrong_score games were:

CHW@HOU and MIA@WAS were classified as solid correct calls. MIL@CHC, NYM@TB, NYY@LAA, and SF@ATL were winner misses.

---

4. Miss reconstruction

MIL@CHC

Earliest wrong-direction stage

The prediction was already on the wrong side in the historical model and stayed wrong through publication. The data does not show a later stage moving the winner toward CHC. The earliest identifiable problem is therefore the base winner/run assessment, not a later transition.

Cause classification

NYM@TB

Earliest wrong-direction stage

The historical/base model already selected TB, and no later stage corrected it. The earliest evidence moving toward the wrong result was the high composite/season edge for TB:

The pitcher edge slightly favored NYM at −0.0457, but it did not overcome the broader TB signal.

Cause classification

NYY@LAA

Earliest wrong-direction stage

There was a documented intermediate regression:

The first clear move toward the wrong final result was the enhanced prediction’s recovery toward NYY, after the variance stage had already removed LAA’s direction. This is exactly the pipeline-instability issue: later recovery does not make the intermediate regression harmless.

The base evidence itself strongly favored NYY on season and recent quality:

Cause classification

SF@ATL

Earliest wrong-direction stage

The historical/base direction favored ATL and no later stage corrected it. The earliest wrong-direction evidence was the combination of:

The pitcher edge favored SF at −0.0832, but was insufficiently weighted to reverse the call.

Cause classification

Pipeline-stage quality across all stages

StageWinner accuracyWinner hitsTeam-run MAETotal-run MAEMargin MAE
historical_ml0.666783.12833.99104.7023
variance_applied0.500063.12503.91674.7500
enhanced_prediction0.666783.45834.25004.7500
embedded_savant_run_environment0.666783.41674.33334.6667
fundamental_edge_target_review0.666783.41674.33334.6667
capped_target0.666783.41674.33334.6667
simulation_result0.666783.41674.33334.6667
published_final0.666783.41674.33334.6667

Transitions:

The intermediate winner regression remains a genuine process risk even though enhanced prediction later recovered the final winner count.

---

5. Cross-game counterfactuals

Lever tension: widen run distributions

Lever: score.variance_multiplier / score.variance_floor

Helps:

Hurts:

Net evidence: 2 helps vs 2 hurts. The pattern supports a bounded shadow experiment, not an unrestricted production increase. It targets Brier score and calibration error, while score-margin compression is also relevant.

Lever tension: pitcher form/prior weighting

Lever: player.pitcher.v4 form weights / player.pitcher_prior_games

Helps:

Hurts:

Net evidence: 9 helps vs 1 hurts, but this is based on starter error observations, not a controlled counterfactual. It supports a diagnostic/backtest, not immediate aggressive reweighting.

Lever tension: recent/season run-mean weighting

Lever: recent.* / season.* run-mean weighting

Helps:

Hurts:

Net evidence: 9 helps vs 2 hurts for team-run and total-run metrics, but the reported “helps” do not prove a particular direction of weight change. The weak run-model R² argues for feature/target investigation before tuning this lever.

One-game fixes that must not be made

---

6. Data and contract defects

Critical findings

The structural audit summary reports 0 critical. No critical contract failure is evidenced in the supplied JSON.

The missing integrity revision audit is an evidence gap, but the data does not classify it as critical.

Error findings

Warning findings

Info findings

Prediction-model defects versus presentation/artifact defects

Prediction-model/process defects
  1. Intermediate winner instability at historical_ml → variance_applied.
  2. Compressed score margins and under-dispersed run distributions.
  3. Very weak run-model holdout signal.
  4. Starter projection errors materially affecting three misses.
  5. Calibration misalignment on the current slate.
  6. Simulation producing no winner-direction interventions over four consecutive slates, requiring execution diagnosis.
Presentation/artifact defects
  1. Missing integrity revision audit artifact.
  2. BAL raw probability field appears inconsistently named or populated between game trace and lineage.
  3. Per-game audit observations claim 7–8 non-pass findings while the embedded findings arrays are empty. This prevents independent audit of those findings.
  4. “PASS” status should not be interpreted as absence of all info-level or non-pass observations; the report itself says complete coverage does not erase findings.

Probability-lineage audit

The complete pick-side lineage contains 12 rows. The recorded layers are:

raw model → calibrated → governor input/output → score coherence and/or recency → published

The data identifies 8 material calibrated-to-published movements, and states that all were explained by named score-coherence and/or recency transformations. No material unexplained delta is marked in the lineage rows.

Examples:

There is no demonstrated governor bypass: every material published movement has a recorded transformation and unexplained_material_delta: false. The BAL field-label discrepancy is a trace consistency issue, not a material unexplained publication delta.

---

7. Cross-slate persistence

Three prior slates were loaded, producing a four-slate window from 20260828 through 20260831. A single slate is noise, but the escalated findings are explicitly established patterns and must not be treated as single-slate noise.

Raw structural evidence

Margin distribution

Current slate:

Pipeline transitions

The raw transition block shows a current winner-direction regression at historical_ml → variance_applied:

This finding has a two-slate consecutive streak and is present now.

Calibration monitoring

Current WACE is 0.1661. Bucket errors alternate between underconfidence and overconfidence, confirming instability rather than a simple universal overconfidence bias.

High-raw cluster

Current high-raw cluster:

The finding streak reports high_raw_probability_cluster at 0 consecutive slates, present current slate false. It is therefore not a current persistent finding.

Simulation control

Current slate:

Across slates, simulation inertness is established, not noise.

Finding streaks

FindingConsecutive slatesPresent now?Interpretation
high_raw_probability_cluster0NoNot persistent/current
pipeline_winner_instability2YesRecurrent intermediate winner-direction regression
score_margin_compression1YesCurrent issue, not yet a multi-slate streak
simulation_inert_on_slate4YesEstablished persistent failure
single_slate_calibration_instability1Yes; incidence 3 in windowCurrent calibration problem, but not a four-slate persistence pattern
weak_run_model_signal4YesEstablished persistent weak run-model signal

Escalated findings

simulation_inert_on_slate
weak_run_model_signal

Metric trends

Top-confidence-pick loss streak

There is no current top-confidence-pick loss streak.

---

8. Adjustments for today

Recommendations are ranked by persistence and evidence strength first, then scope and regression risk.

1. Diagnose and repair simulation execution — highest persistence

2. Isolate the weak run model before tuning training parameters

3. Run a bounded shadow increase to score-distribution width

4. Do not move calibration caps today; use shadow monitoring

5. Starter model diagnostic, not an immediate global reweight

---

9. Bottom line

Known

Uncertain

Single safest next action

Perform the four-slate code-and-lineage diagnostic for simulation.allow_score and the weak run-model execution path before changing model weights. It addresses two established persistent findings, has a reversible shadow-gate path, and avoids making an unsupported one-slate calibration or score-distribution adjustment while also checking the most important artifact/process risk.