Which reports actually fed the diagnosis. A source shown as missing was not silently assumed.
| Source | Status | Evidence supplied | Path | Bytes |
|---|---|---|---|---|
| prediction review | loaded | official outcomes and scoring errors | /app/output/reports/prediction_review_20260929.json | 102938 |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260929.json | 75641 |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons | /app/output/learning/continuous_learning_daily_20260929.json | 681575 |
| detailed report | loaded | full game and simulation rendering | /app/output/reports/detailed_20260929.html | 96839 |
| ultra detailed player audit | loaded | player-level prediction trace | /app/output/reports/20260929_ultra_detailed_player_audit.html | 8510517 |
| structural audit | loaded | all invariant findings | /app/output/reports/audit_report_20260929.html | 518619 |
| integrity revision audit | missing | post-Luna remediation proof for immutable revision artifacts | /app/output/reports/audit_report_20260929_integrity_revision.html | n/a |
Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).
| Severity | Domain | Finding and evidence | Affected | Action & guardrail |
|---|---|---|---|---|
| HIGH | pipeline_stages | An intermediate stage materially degraded winner direction historical_ml → variance_applied changed winner accuracy by -0.5000 (-2 hits) | CHC@SD, PHI@ATL | Do thisList the exact games whose winner flipped at this stage, and keep both the before-stage and after-stage picks in the trace. Don't concludeEven if a later stage recovers the pick, this unstable step is still a risk; do not treat it as harmless. |
| HIGH | score_distribution | Published margins are compressed relative to realized margins 4/4 predictions were ≤2 runs; 2/4 actual margins were ≥4; mean predicted margin 1.25 vs actual 5.50 | BOS@NYY, CHC@SD | 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. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.4792 across 4 games | BOS@NYY, CHC@SD, CHW@HOU, PHI@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. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0021/0.0309/0.0024 | BOS@NYY, CHC@SD, CHW@HOU, PHI@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. |
| INFO | coverage | Every settled game received structural QA 4/4 games structurally audited | BOS@NYY, CHC@SD, CHW@HOU, PHI@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. |
| INFO | probability_lineage | Material calibrated-to-published movements have recorded lineage 1 material movement(s), all explained by named score-coherence and/or recency transformations | CHW@HOU | Do thisKeep showing every probability layer and the named transformation between them. Don't concludeA published probability above the calibrated one is not a governor bypass when a recorded transformation explains it. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | BOS@NYY, CHC@SD, CHW@HOU, PHI@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. |
A finding that has repeated at or beyond the escalation streak is no longer single-slate noise. It carries its target registered lever and an action-oriented guardrail.
| Finding | Persistence | Target lever(s) | Direction | Guardrail |
|---|---|---|---|---|
| simulation_inert_on_slate | 11 consecutive · 11 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 11 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| Finding | Consecutive slates | Incidence | Present now | Fix type |
|---|---|---|---|---|
| high_raw_probability_cluster | 0 | 2/11 | no | param |
| pipeline_winner_instability | 1 | 6/11 | yes | code/diagnostic |
| score_margin_compression | 1 | 3/11 | yes | param |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 1 | 7/11 | yes | param |
| weak_run_model_signal | 1 | 10/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | improving | [0.7333, 0.6, 0.3333, 0.4, 0.5, 0.6667, 0.6471, 0.5385, 0.6429, None, 1.0] |
| weighted_calibration_error | regressing | [0.3458, 0.3184, 0.2028, 0.1881, 0.1108, 0.1701, 0.1302, 0.1524, 0.1031, None, 0.4792] |
| margin_bias | regressing | [-0.667, -1.533, -2.667, -1.867, -1.188, -1.083, -1.706, -3.0, -1.571, None, -4.25] |
| team_run_error_on_losses | improving | [6.5, 6.5, 3.0, 6.222, 5.75, 3.5, 5.333, 6.167, 4.8, None, None] |
Every stored stage is scored against the same official finals. A later recovery remains visible; it does not erase an unstable intermediate flip.
| Stage | Winner hits | Accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|---|
| historical_ml | 4/4 | 100% | 2.281 | 0.648 | 4.562 |
| variance_applied | 2/4 | 50% | 2.375 | 0.75 | 4.75 |
| enhanced_prediction | 4/4 | 100% | 2.5 | 2 | 4.5 |
| embedded_savant_run_environment | 4/4 | 100% | 2.375 | 2.25 | 4.25 |
| fundamental_edge_target_review | 4/4 | 100% | 2.375 | 2.25 | 4.25 |
| capped_target | 4/4 | 100% | 2.375 | 2.25 | 4.25 |
| simulation_result | 4/4 | 100% | 2.375 | 2.25 | 4.25 |
| published_final | 4/4 | 100% | 2.375 | 2.25 | 4.25 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.5 | -2 | 0.094 | 0.188 | CHC@SD: SD → TIE; PHI@ATL: ATL → TIE |
| variance_applied → enhanced_prediction | 0.5 | 2 | 0.125 | -0.25 | CHC@SD: TIE → SD; PHI@ATL: TIE → ATL |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | -0.125 | -0.25 | |
| embedded_savant_run_environment → fundamental_edge_target_review | 0 | 0 | 0 | 0 | |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| BOS@NYY | hit | 0.5973 | 0.5554 | 0.5554 | 0.5554 | 0.54 | score coherence followed by matchup-recency guardrail |
| CHC@SD | hit | 0.5143 | 0.5109 | 0.5109 | 0.5109 | 0.5079 | published probability matches the calibrated/governed value |
| CHW@HOU | hit | 0.5898 | 0.5513 | 0.5513 | 0.5513 | 0.53 | score coherence followed by matchup-recency guardrail |
| PHI@ATL | hit | 0.5079 | 0.5075 | 0.5075 | 0.5075 | 0.5054 | published probability matches the calibrated/governed value |
One blown start is noise. The same failure repeating across the slate is a model problem. These are the repeats.
| Sides analyzed | Broke on pitching | Broke on offense | Both | Variance | Mean starter ERA error | Mean lineup runs vs proj |
|---|---|---|---|---|---|---|
| 8 | 0 | 3 | 0 | 5 | -0.76 | -0.5 |
The blend mixes the trained win classifier with the margin-derived probability. It is only worth its weight if its decision survives the downstream reconciliation to the projected score.
On all 4 games with an applied blend, the blend's side and the published side agree.
Blend side survived on 4 of 4 games; the blend flagged a winner change on 0.
A bias on one slate is noise. The same sign across slates, large relative to how much it moves between them, is a model defect. Only the ones that pass both tests are turned into a named parameter change; the rest are held deliberately.
starter ERA error (actual minus projected)
Mean 0.29 over 11 slates (sign shared by 0.55 of them, z = 0.43).
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
6 of 11 slates share the sign, mean 0.29 +/- 0.68 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.25 over 11 slates (sign shared by 0.64 of them, z = -1.34).
lineups scored below projection: the run environment is set too high.
Hold: no change: this bias is not separable from slate-to-slate noise yet
7 of 11 slates share the sign, mean -0.25 +/- 0.18 standard error: not separable from noise
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260928 | — | — | — | |||
| 20260927 | 14 | 0.643 | -4.85 | 0.17 | 1 | 3 |
| 20260926 | 13 | 0.538 | 0.55 | 0.69 | 3 | 4 |
| 20260925 | 17 | 0.647 | 1.13 | 0.50 | 8 | 10 |
| 20260924 | 12 | 0.667 | 1.68 | -0.67 | 4 | 11 |
| 20260923 | 16 | 0.500 | -0.49 | -0.91 | 4 | 11 |
| 20260922 | 15 | 0.400 | -0.32 | -0.97 | 3 | 11 |
| 20260921 | 3 | 0.333 | -1.08 | -0.50 | ||
| 20260920 | 15 | 0.600 | -0.89 | -1.00 | 2 | 10 |
| 20260919 | 15 | 0.733 | 1.36 | -0.10 | 8 | 7 |
| 20260918 | 15 | 0.667 | 3.95 | 0.30 | 6 | 5 |
| 20260917 | 9 | 0.444 | 2.16 | -0.22 | 2 | 3 |
Narrow predicted margins next to wide actual margins is the signature the score-variance tail is too tight.
| Game | Pred margin | Actual margin | Pred − actual |
|---|---|---|---|
| BOS@NYY | 2 | 9 | -7 |
| CHC@SD | 1 | 8 | -7 |
| CHW@HOU | 1 | 3 | -2 |
| PHI@ATL | 1 | 2 | -1 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BOS | Payton Tolle | 2 ER / 17 outs | 1 ER / 14 outs | -1 |
| NYY | Cam Schlittler | 0 ER / 18 outs | 0 ER / 19 outs | 0 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Payton Tolle (BOS) threw 14 outs, 1 ER = 1.93 ERA against a projected 3.18 ERA (-1.25 ERA error)
Bullpen behind him: 1 ER over 1 outs.
The HOME lineup he faced produced 8 runs on 12 hits and 2 HR, against a projected 4 runs / 7 hits (4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Cam Schlittler (NYY) threw 19 outs, 0 ER = 0 ERA against a projected 0 ERA (0 ERA error)
Bullpen behind him: 0 ER over 5 outs.
The AWAY lineup he faced produced 0 runs on 3 hits and 0 HR, against a projected 4 runs / 7 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | Payton Tolle (Starter) | 14 / 17 | 1.93 / 3.18 | 1 / 2 | 5 / 4 | 0 / 1 | 1 / 3 | 1.42 | 4 / 7 | 7.05 | venue away: 2.5 vs 3.52 ERA (ok) · opp run factor 0.99 (strong) · 26 prior appearances this season |
| BOS | Erik Miller (Setup Man) | 1 / 1 | 27 / 0 (+27.00) | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0.77 | 0 / 1 | 1.34 | |
| NYY | Cam Schlittler (Starter) | 19 / 18 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 1 / 2 | 1.39 | 10 / 9 | 8.51 | venue home: 2.98 vs 1.16 ERA (worse here) · opp run factor 1 (average) · 33 prior appearances this season |
| NYY | Paul Blackburn (Middle Reliever (High Leverage)) | 5 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 3 | 0 / 0 | 0 / 0 | 0.48 | 0 / 0 | 1.13 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ben Rice (DH) | NYY | 5 / 4 | 4 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 6 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 2.32 | 0.378 elite | projection too low |
| Willson Contreras (1B) | BOS | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -1.4 | 0.376 elite | bad day |
| George Lombard Jr. (SS) | NYY | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.298 below average | good day |
| Austin Wells (C) | NYY | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.3 below average | good day |
| Roman Anthony (DH) | BOS | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 2 | -0.8 | 0.341 elite | bad day |
| Nick Sogard (2B) | BOS | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.311 average | no signal |
| Wilyer Abreu (RF) | BOS | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.346 elite | bad day |
| Ceddanne Rafaela (CF) | BOS | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.285 below average | — |
| Heliot Ramos (RF) | NYY | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 2 | -0.47 | 0.329 above average | — |
| Jarren Duran (LF) | BOS | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.301 below average | — |
| Anthony Volpe (2B) | NYY | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.291 below average | — |
| Cody Bellinger (LF) | NYY | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.335 above average | — |
| Spencer Jones (CF) | NYY | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 1 / 0 | 0 / 2 | 0.33 | 0.328 above average | — |
| Amed Rosario (3B) | NYY | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.309 average | — |
| Adley Rutschman (C) | BOS | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.31 | 0.327 above average | — |
| Trevor Story (SS) | BOS | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 2 | 0.31 | 0.248 weak | — |
| Paul Goldschmidt (1B) | NYY | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 0 | 0 / 1 | -0.12 | 0.311 average | — |
| Caleb Durbin (3B) | BOS | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.291 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.34 | positive favors home; negative favors away |
| Recent form | 0.23 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.012 | positive favors home; negative favors away |
| Composite | 0.578 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.76-5.47 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-4 | 0.54 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 2-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 2-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 2-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 2-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.76-5.47 | 4-5 | -0.711 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 3-4 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | 2-4 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 2-4 | 2-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 2-4 | 2-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 2-4 | 2-4 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| NYY | Spencer Jones | batter / CF | worse | predicted_AB -1.78 |
| BOS | Caleb Durbin | batter / 3B | worse | predicted_SO 1.469 |
| NYY | Ben Rice | batter / DH | worse | predicted_AB -1.32 |
| NYY | George Lombard Jr. | batter / SS | better | predicted_RBI 1.31 |
| NYY | Amed Rosario | batter / 3B | worse | predicted_SO 1.296 |
| BOS | Roman Anthony | batter / DH | better | predicted_SO -1.2 |
| BOS | Ceddanne Rafaela | batter / CF | worse | predicted_SO 1.128 |
| NYY | Heliot Ramos | batter / RF | better | predicted_SO -1.1 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BOS |
| info | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYY |
| info | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=7, sim=9; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=3, sim=2; SO: current=11, sim=12). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: 2B current=0 box=1, RBI current=0 box=1, SO current=2 box=0; Willson Contreras: HR current=1 box=0, SO current=1 box=2; Ceddanne Rafaela: RBI current=1 box=0, SO current=1 box=2; Wilyer Abreu: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Adley Rutschman: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Nick Sogard: AB current=4 box=3, SO current=1 box=0; Jarren Duran: AB current=3 box=4, SO current=1 box=2; Caleb Durbin: AB current=3 box=4, H current=0 box=2, SO current=1 box=2 | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=34, sim=30; H: current=7, sim=6; 3B: current=0, sim=2; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=11, sim=8). | NYY |
| info | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Heliot Ramos: HR current=0 box=1, RBI current=0 box=1, SO current=2 box=0; Paul Goldschmidt: RBI current=1 box=0, R current=0 box=1; George Lombard Jr.: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Anthony Volpe: H current=1 box=0, BB current=1 box=0; Cody Bellinger: 3B current=0 box=1, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Ben Rice: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Spencer Jones: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Amed Rosario: AB current=3 box=4, H current=0 box=1, 3B current=0 box=1, RBI current=0 box=1 | NYY |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHC | Matthew Boyd | 5 ER / 18 outs | 4 ER / 12 outs | -1 |
| SD | Michael King | 3 ER / 17 outs | 0 ER / 21 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Michael King (SD) posted 0.00 ERA vs projected 4.76 (0 ER in 21 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Matthew Boyd (CHC) threw 12 outs, 4 ER = 9 ERA against a projected 7.5 ERA (1.5 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The HOME lineup he faced produced 8 runs on 12 hits and 3 HR, against a projected 5 runs / 8 hits (3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Michael King (SD) threw 21 outs, 0 ER = 0 ERA against a projected 4.76 ERA (-4.76 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 0 runs on 3 hits and 0 HR, against a projected 5 runs / 7 hits (-5 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CHC | Matthew Boyd (Starter) | 12 / 18 | 9 / 7.5 | 4 / 5 | 5 / 9 | 3 / 3 | 1 / 1 | 2.12 | 4 / 7 | 3.9 | venue away: 2.86 vs 5.04 ERA (ok) · opp run factor 0.96 (average) · 22 prior appearances this season |
| CHC | Jacob Webb (Closer) | 4 / 3 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0.48 | 0 / 2 | 1.01 | |
| SD | Michael King (Starter) | 21 / 17 | 0 / 4.76 (-4.76) | 0 / 3 | 1 / 5 | 0 / 2 | 3 / 2 | 2.18 | 8 / 5 | 4.69 | venue home: 2.74 vs 3.64 ERA (ok) · opp run factor 0.99 (strong) · 32 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Fernando Tatis Jr. (RF) | SD | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 3 / 1 | 1 / 0 | 1 / 0 | 1.73 | 0.379 elite | projection too low |
| Xander Bogaerts (SS) | SD | 4 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 1 / 0 | 1.54 | 0.325 above average | projection too low |
| Pete Crow-Armstrong (CF) | CHC | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 3 / 1 | -1.4 | 0.374 elite | bad day |
| Alex Bregman (DH) | CHC | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 0 | -0.78 | 0.327 above average | bad day |
| Manny Machado (3B) | SD | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 0.78 | 0.328 above average | projection too low |
| Michael Busch (1B) | CHC | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | -0.47 | 0.331 above average | — |
| Pedro Ramirez (3B) | CHC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.284 below average | — |
| Nico Hoerner (2B) | CHC | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.322 above average | — |
| Carson Kelly (C) | CHC | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.311 average | — |
| Samad Taylor (LF) | SD | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.309 average | — |
| Austin Hays (DH) | SD | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.295 below average | — |
| Jackson Merrill (CF) | SD | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0.47 | 0.347 elite | — |
| Luis Campusano (C) | SD | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.327 above average | — |
| Ty France (1B) | SD | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.16 | 0.327 above average | — |
| Seiya Suzuki (RF) | CHC | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0 | 0.34 elite | — |
| Ian Happ (LF) | CHC | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 | 0.313 average | — |
| Dansby Swanson (SS) | CHC | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.301 below average | — |
| Jake Cronenworth (2B) | SD | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.275 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.235 | positive favors home; negative favors away |
| Recent form | 0.158 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.033 | positive favors home; negative favors away |
| Composite | 0.018 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.24-4.33 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.508 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.24-4.33 | 4-4 | -0.089 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 4-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| SD | Manny Machado | batter / 3B | worse | predicted_SO 2.089 |
| SD | Michael King | pitcher / Starter | neutral | predicted_SO 2 |
| SD | Ty France | batter / 1B | deboosted | predicted_H 1.96 |
| SD | Luis Campusano | batter / C | better | predicted_RBI 1.82 |
| SD | Xander Bogaerts | batter / SS | worse | predicted_RBI 1.62 |
| CHC | Seiya Suzuki | batter / RF | better | predicted_RBI 1.47 |
| CHC | Ian Happ | batter / LF | deboosted | predicted_SO -1.227 |
| SD | Austin Hays | batter / DH | worse | predicted_AB 1.222 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHC |
| info | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model pitcher projections differ from final simulation pitching box score (BB: current=2, sim=3). | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=7, sim=8; 2B: current=1, sim=0; HR: current=1, sim=2; R: current=5, sim=4; BB: current=4, sim=3; SO: current=7, sim=6). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Alex Bregman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Pete Crow-Armstrong: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Seiya Suzuki: AB current=4 box=3, HR current=0 box=1, RBI current=1 box=2; Michael Busch: H current=1 box=2, R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Pedro Ramirez: H current=1 box=0; Ian Happ: H current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0; Nico Hoerner: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=0 box=1; Carson Kelly: AB current=3 box=4, HR current=0 box=1, R current=0 box=1 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=9; 2B: current=1, sim=0; HR: current=1, sim=3; RBI: current=4, sim=5; SO: current=7, sim=10; HBP: current=0, sim=1). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Samad Taylor: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Ty France: AB current=4 box=3, H current=1 box=3, 2B current=1 box=0, RBI current=1 box=0; Manny Machado: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Fernando Tatis Jr.: AB current=4 box=5, HR current=0 box=1, SO current=0 box=1; Austin Hays: AB current=3 box=4, SO current=1 box=0; Jackson Merrill: RBI current=1 box=0, SO current=1 box=2; Jake Cronenworth: H current=1 box=0, SO current=1 box=2, HBP current=0 box=1; Xander Bogaerts: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=2 | SD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHW | Hagen Smith | 1 ER / 15 outs | 0 ER / 9 outs | -1 |
| HOU | AJ Blubaugh | 0 ER / 15 outs | 0 ER / 2 outs | 0 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Hagen Smith (CHW) at a projected 1.8 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 5 hits and 0 HR, against a projected 5 runs / 7 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
AJ Blubaugh (HOU) threw 2 outs, 0 ER = 0 ERA against a projected 0 ERA (0 ERA error)
Bullpen behind him: 1 ER over 10 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 1 HR, against a projected 5 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | AJ Blubaugh (Starter) | 2 / 15 | 0 / 0 | 0 / 0 | 0 / 2 | 0 / 0 | 3 / 0 | 1.41 | 0 / 4 | 6.28 | opp run factor 1 (average) · 64 prior appearances this season |
| HOU | Logan VanWey (Setup Man) | 1 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.13 | 0 / 1 | 0.9 | |
| HOU | Bryan Abreu (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 54 (-54.00) | 0 / 6 | 0 / 6 | 0 / 0 | 0 / 1 | 0.57 | 1 / 1 | 1.2 | |
| HOU | Josh Hader (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.43 | 1 / 1 | 1.03 | |
| HOU | Bennett Sousa (Middle Reliever (High Leverage)) | 3 / 2 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.49 | 1 / 0 | 1.11 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Colson Montgomery (SS) | CHW | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.294 below average | good day |
| Yordan Alvarez (DH) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.26 | 0.442 elite | bad day |
| Jose Altuve (2B) | HOU | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -1.11 | 0.271 weak | projection too high |
| Munetaka Murakami (1B) | CHW | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | 2 / 1 | -0.93 | 0.351 elite | bad day |
| Jeremy Peña (SS) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.326 above average | bad day |
| Miguel Vargas (3B) | CHW | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.378 elite | — |
| Chase Meidroth (2B) | CHW | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.301 below average | — |
| Yainer Diaz (C) | HOU | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.312 average | — |
| Cam Smith (RF) | HOU | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.47 | 0.316 average | — |
| Sam Antonacci (LF) | CHW | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.348 elite | — |
| Kyle Teel (C) | CHW | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.321 above average | — |
| Andrew Benintendi (DH) | CHW | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.307 average | — |
| Isaac Paredes (3B) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.323 above average | — |
| Tristan Peters (CF) | CHW | 4 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.314 average | — |
| Braden Montgomery (RF) | CHW | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 2 / 1 | 0.14 | 0.325 above average | — |
| Christian Walker (1B) | HOU | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | -0.14 | 0.305 average | — |
| Lucas Spence (CF) | HOU | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 2 / 2 | 0 | 0.305 average | — |
| Taylor Trammell (LF) | HOU | 0 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.283 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.45 | positive favors home; negative favors away |
| Recent form | -0.154 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.002 | positive favors home; negative favors away |
| Composite | -0.47 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.18-3.24 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.18-3.24 | 5-3 | 0.063 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 6-5 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | 6-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | 6-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | 6-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-5 | 6-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| HOU | Yainer Diaz | batter / C | better | predicted_AB -2.06 |
| HOU | Jeremy Peña | batter / SS | worse | predicted_AB -1.83 |
| CHW | Tristan Peters | batter / CF | worse | predicted_H 1.7 |
| CHW | Sam Antonacci | batter / LF | better | predicted_RBI 1.655 |
| CHW | Colson Montgomery | batter / SS | better | predicted_SO -1.484 |
| CHW | Andrew Benintendi | batter / DH | better | predicted_RBI 1.44 |
| HOU | Isaac Paredes | batter / 3B | worse | predicted_SO 1.429 |
| HOU | Jose Altuve | batter / 2B | deboosted | predicted_RBI 1.42 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHW |
| info | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model pitcher projections differ from final simulation pitching box score (HR: current=2, sim=3). | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=4, sim=1). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2, SO current=1 box=0; Munetaka Murakami: HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Miguel Vargas: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Braden Montgomery: H current=1 box=0; Tristan Peters: AB current=3 box=4, H current=1 box=2, 2B current=1 box=0, 3B current=0 box=1; Kyle Teel: BB current=1 box=0, SO current=1 box=2; Andrew Benintendi: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=1 box=2; Chase Meidroth: AB current=3 box=4, H current=1 box=0, R current=1 box=0 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; HR: current=2, sim=3; RBI: current=4, sim=5; BB: current=4, sim=2; SO: current=10, sim=9). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Jeremy Peña: RBI current=1 box=2, SO current=1 box=0; Jose Altuve: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Lucas Spence: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=2 box=1; Isaac Paredes: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=0 box=1; Yainer Diaz: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Christian Walker: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Cam Smith: R current=1 box=0, SO current=1 box=2 | HOU |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| PHI | Jesús Luzardo | 3 ER / 20 outs | 1 ER / 15 outs | -2 |
| ATL | Chris Sale | 2 ER / 19 outs | 3 ER / 19 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
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
Jesús Luzardo (PHI) threw 15 outs, 1 ER = 1.8 ERA against a projected 4.05 ERA (-2.25 ERA error)
Bullpen behind him: 3 ER over 6 outs.
The HOME lineup he faced produced 5 runs on 7 hits and 1 HR, against a projected 4 runs / 8 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Chris Sale (ATL) threw 19 outs, 3 ER = 4.26 ERA against a projected 2.84 ERA (1.42 ERA error)
Bullpen behind him: 0 ER over 8 outs.
The AWAY lineup he faced produced 3 runs on 5 hits and 0 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | Jesús Luzardo (Starter) | 15 / 20 | 1.8 / 4.05 | 1 / 3 | 3 / 8 | 0 / 0 | 1 / 0 | 1.72 | 6 / 7 | 8.54 | venue away: 1.76 vs 4.05 ERA (ok) · opp run factor 1 (strong) · 30 prior appearances this season |
| PHI | Jhoan Duran (Closer) | 6 / 4 | 13.5 / 0 (+13.50) | 3 / 0 | 2 / 4 | 1 / 0 | 0 / 0 | 0.18 | 1 / 0 | 1.52 | |
| ATL | Chris Sale (Starter) | 19 / 19 | 4.26 / 2.84 | 3 / 2 | 4 / 5 | 0 / 1 | 1 / 3 | 0.73 | 9 / 8 | 7.6 | venue home: 1.66 vs 2.74 ERA (ok) · opp run factor 0.95 (average) · 27 prior appearances this season |
| ATL | Dylan Lee (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.25 | 1 / 0 | 0.98 | |
| ATL | Raisel Iglesias (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0.2 | 0 / 0 | 1.14 | |
| ATL | Didier Fuentes (Middle Reliever (High Leverage)) | 2 / 2 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0.33 | 0 / 1 | 1.53 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Matt Olson (1B) | ATL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -1.4 | 0.351 elite | bad day |
| J.T. Realmuto (C) | PHI | 3 / 3 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1.09 | 0.317 average | no signal |
| Ozzie Albies (2B) | ATL | 2 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0.95 | 0.273 weak | good day |
| Michael Harris II (CF) | ATL | 3 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.342 elite | projection too low |
| Kyle Schwarber (DH) | PHI | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 2 | -0.93 | 0.364 elite | bad day |
| Austin Riley (3B) | ATL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.299 below average | good day |
| Bryce Harper (RF) | PHI | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.379 elite | bad day |
| Drake Baldwin (C) | ATL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.37 elite | bad day |
| Ronald Acuña Jr. (RF) | ATL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.366 elite | bad day |
| Trea Turner (SS) | PHI | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.293 below average | projection too high |
| Bryan De La Cruz (LF) | PHI | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.299 below average | — |
| Derek Hill (CF) | PHI | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.289 below average | — |
| Alec Bohm (1B) | PHI | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.327 above average | — |
| Edmundo Sosa (3B) | PHI | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.328 above average | — |
| Bryson Stott (2B) | PHI | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 2 / 1 | 0 | 0.33 above average | — |
| Mauricio Dubón (LF) | ATL | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.304 average | — |
| Mike Yastrzemski (DH) | ATL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.309 average | — |
| Ha-Seong Kim (SS) | ATL | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.222 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.559 | positive favors home; negative favors away |
| Recent form | 0.406 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.049 | positive favors home; negative favors away |
| Composite | 0.698 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.6-4.61 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 2-3 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 2-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 2-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 2-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 2-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.6-4.61 | 5-5 | -0.015 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 2-3 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 2-3 | 2-3 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 2-3 | 2-3 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 2-3 | 2-3 | 0 | Capped at max 12 realistic runs |
| simulation_result | 2-3 | 2-3 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| ATL | Chris Sale | pitcher / Starter | neutral | predicted_SO 5 |
| ATL | Ha-Seong Kim | batter / SS | worse | predicted_H 2.67 |
| PHI | Bryce Harper | batter / RF | worse | predicted_SO 2.075 |
| PHI | Jesús Luzardo | pitcher / Starter | neutral | predicted_SO 2 |
| ATL | Dylan Lee | pitcher / Setup Man | worse | predicted_SO -2 |
| ATL | Raisel Iglesias | pitcher / Closer | worse | predicted_SO -2 |
| PHI | J.T. Realmuto | batter / C | worse | predicted_2B 1.843 |
| PHI | Derek Hill | batter / CF | worse | predicted_H 1.75 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ATL |
| info | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=39; H: current=8, sim=15; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=2, sim=0; SO: current=9, sim=7). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: AB current=4 box=5, H current=1 box=3, 2B current=0 box=1, RBI current=1 box=0; Mauricio Dubón: H current=1 box=2, RBI current=0 box=2, R current=0 box=1; Ronald Acuña Jr.: AB current=4 box=5, H current=1 box=2, BB current=1 box=0; Matt Olson: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Mike Yastrzemski: AB current=3 box=4, H current=1 box=0; Michael Harris II: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Ozzie Albies: H current=1 box=0, SO current=1 box=2; Ha-Seong Kim: AB current=3 box=4, H current=0 box=3 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (H: current=12, sim=15). | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=31, sim=35; 2B: current=1, sim=2; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=2, sim=4; SO: current=10, sim=9). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Alec Bohm: AB current=4 box=3, HR current=0 box=1, R current=0 box=1, BB current=0 box=1; Bryan De La Cruz: AB current=3 box=4, H current=1 box=0; Kyle Schwarber: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Edmundo Sosa: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Derek Hill: H current=1 box=2, RBI current=1 box=0, BB current=0 box=1; Trea Turner: 2B current=1 box=0, RBI current=0 box=1, BB current=0 box=1, SO current=1 box=0; Bryson Stott: AB current=3 box=4, R current=1 box=0, SO current=1 box=0 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Each candidate fix, and exactly which games it would help versus hurt. A lever that repairs one game and breaks two is visible here before it is proposed.
Compared against packet 20260928. Last recorded change: v4.30.0 (2026-09-08) Hitter shrinkage is derived from the between-hitter spread rather than fitted to slate error, so an established extreme profile is no longer flattened toward the league.
| Metric | Prior | Current | Δ | Result |
|---|---|---|---|---|
| brier_score | 0.2462 | 0.2457 | -0.000532 | improved |
| accuracy | 0.5726 | 0.5897 | +0.0171 | improved |
| team_run_mae | 2.5684 | 2.5726 | +0.0042 | regressed |
| total_run_mae | 3.8034 | 3.7436 | -0.0598 | improved |
| calibration_error | 0.0862 | 0.0985 | +0.0123 | regressed |
| starter_er_mae | 1.7965 | 1.7735 | -0.023 | improved |
| starter_outs_mae | 4.0442 | 4.0684 | +0.0242 | regressed |
All seven manifest entries were checked:
| Source | Status | Purpose | Receipt finding |
|---|---|---|---|
prediction review — /app/output/reports/prediction_review_20260929.json | loaded | Official outcomes and scoring errors | Present, 102,938 bytes |
forensic deep audit — /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260929.json | loaded | Probability, provenance, starter, and decision contracts | Present, 75,641 bytes |
continuous learning — /app/output/learning/continuous_learning_daily_20260929.json | loaded | Stage quality, calibration, lineage, score distribution, starter comparisons | Present, 681,575 bytes |
detailed report — /app/output/reports/detailed_20260929.html | loaded | Full game and simulation rendering | Present, 96,839 bytes |
ultra detailed player audit — /app/output/reports/20260929_ultra_detailed_player_audit.html | loaded | Player-level prediction trace | Present, 8,510,517 bytes |
structural audit — /app/output/reports/audit_report_20260929.html | loaded | Invariant findings | Present, 518,619 bytes |
integrity revision audit — /app/output/reports/audit_report_20260929_integrity_revision.html | missing | Post-Luna remediation proof for immutable revision artifacts | Missing; byte count is null |
All four listed games were reviewed:
Coverage is internally complete for the game-level prediction audit:
games_reviewed: 4hits: 4misses: 0expected_games: 4canonical_artifacts_loaded: 4continuous_learning_games: 4forensic_deep_audit_games: 4games_with_starter_comparisons: 4structural_audits_completed: 4all_games_structurally_audited: truemarket_crosscheck.available is false because no source-labelled moneyline covers were available.misses: 0loss_primary_drivers: {}mean_team_run_error_on_losses: nullmean_total_run_bias_on_losses: nullConsequently, no game can be reconstructed as a winner miss.
0.5208, observed hit rate 1.0, and error -0.4792, correctly indicating underconfidence under the stated definition (“average published confidence minus observed hit rate”). Elsewhere, the self-assessment calls the slate “confidence_overconfident” and recommends lowering caps. That recommendation is not supported by this four-game bucket alone.top_confidence_pick.per_slate includes one entry with date: "" and result unknown. The aggregate loss_streak: 0 remains supported by the dated current entry, but the sequence is not clean enough to treat every historical position as fully auditable.---
Excellent on this slate, but weak evidence of broad model quality.
4/4 = 1.000accuracy: 1.0.0.570149, and its holdout winner accuracy is 0.600414.The correct winner was sometimes produced by a very small edge:
0.01580.0108Those should not be treated as strong directional forecasts.
Poorly measured on this slate and not suitable for a permanent recalibration from four observations.
The only reported confidence bucket is:
0.52081.000-0.47920.4792By the supplied definition, the negative signed error indicates underconfidence, not overconfidence. The four correct calls do not establish that the confidence system is generally too conservative; the observed hit rate is an unusually noisy four-game realization.
The high-severity single_slate_calibration_instability finding is therefore appropriate: the bucket is badly aligned on this slate, but the registered guardrail correctly says not to change calibration weights from a single four-game sample.
Materially weak. Correct winners did not imply accurate scores.
Published versus actual scores:
4.25-3.25, showing systematic underestimation of winning margins≤2≥81.255.509, 8, 3, 22, 1, 1, 1The score_margin_compression issue is correctly rated high. It is a material run-model risk, not a critical contract failure. The guardrail is also correct: one or two blowouts do not justify globally widening every score prediction.
The validated run signal is weak:
0.0021430.0309360.0024152,415The weak_run_model_signal finding is therefore a serious modeling concern, but its proposed remedy is feature/target and training work, not a small nightly parameter adjustment.
Mixed but not a slate-wide starter failure.
Across the games:
13 versus actual 0; ER error -32; no clear starter-driven winner failureCross-game evidence does not justify changing pitcher weights:
player.pitcher.v4 form weights / player.pitcher_prior_games helped CHC@SD but risked harming BOS@NYY and CHW@HOU.1 helped vs 2 hurt.6 of 11 slates, mean 0.291, z-score 0.43, status hold.Game-level structural integrity passed; one separate revision artifact is missing.
PASScritical: 0, error: 0, warning: 0, info: 31integrity_revision_audit prevents a complete immutable-revision receipt.pipeline_winner_instability — highhistorical_ml → variance_applied changed winner accuracy by -0.5000, losing two hits.SD → TIEATL → TIEThis is a real process/model risk even though enhanced prediction later restored both winners.
score_margin_compression — high1.25 versus actual 5.50.single_slate_calibration_instability — high0.4792 across four games.weak_run_model_signal — high0.0021/0.0309/0.0024.complete_slate_audit_coverage — infoprobability_publication_delta_explained — infosimulation_inert_on_slate — info on this slate, escalated across slates11 consecutive slates; this is now an established diagnostic/code failure pattern, not merely a one-slate observation.---
4, BOS 2; winner NYY9, BOS 0; winner NYYright_winner_wrong_score0.540+0.08 homelean0.211673 — predicted total 6, actual total 9-3This is explicitly a correct-winner/wrong-score game.
+0.3398+0.2300-0.0121+0.5778+0.4366+0.160.01.00340.991326, shrink factor 1.0no_change0.51750.51750.55540.540| Starter | Projected | Actual | Error |
|---|---|---|---|
| Payton Tolle, BOS | 2 ER, 17 outs, 3.18 ERA | 1 ER, 14 outs, 1.93 ERA | ER -1, outs -3, ERA -1.25 |
| Cam Schlittler, NYY | 0 ER, 18 outs, 0.00 ERA | 0 ER, 19 outs, 0.00 ERA | ER 0, outs +1, ERA 0 |
Starter identity matching passed.
The primary score miss was offensive, not directional:
2 above projection in the matchup breakdown, while the total NYY offense was reported as under-projected by 5 in the contributing-factor summary.4 below projection.1 ER; NYY bullpen allowed 0.4-for-5, 2 HR, 6 RBI1 H, 1 HR+2.320.378, classified elite+0.94 run impact+0.94-1.40-0.80Only seven of 27 material player deviations across the slate were supported by the hitter’s own contact-quality profile; Rice was one of the supported cases.
PASS0---
5, CHC 4; winner SD8, CHC 0; winner SDtoss_up_went_our_way0.507896, rounded diagnostic value 0.508+0.0158 home, reported as approximately 0.02toss_up0.24216671 — predicted total 9, actual total 8+1This is also a correct-winner/wrong-score game.
-0.2355+0.1580-0.0325+0.0185-0.2355-0.63580.98990.957422, shrink factor 1.0no_change0.5300.5300.51090.507896| Starter | Projected | Actual | Error |
|---|---|---|---|
| Matthew Boyd, CHC | 5 ER, 18 outs, 7.50 ERA | 4 ER, 12 outs, 9.00 ERA | ER -1, outs -6, ERA +1.50 |
| Michael King, SD | 3 ER, 17 outs, 4.76 ERA | 0 ER, 21 outs, 0.00 ERA | ER -3, outs +4, ERA -4.76 |
King’s start was a major starter projection miss. The forensic synthesis classifies it as variance: no credible venue, opponent-strength, or experience signal explained the performance.
4.3.-5+30, SD 0+1.73, actual 2-for-3, 1 HR versus projected 1 H+1.54+0.78-1.40-0.78The game illustrates why a near-even call can still have a poor score: the model’s directional edge was only approximately 1.6 percentage points, and SD’s 8–0 result was driven by both the King outlier and offensive deviations.
PASS0---
6, HOU 5; winner CHW6, HOU 3; winner CHWsolid_correct_call0.530; home probability 0.470-0.06 home, equivalent to a +0.06 away edgelean0.220922 — predicted total 11, actual total 9+2This was the best score-quality game of the slate, though it still missed the exact total by two runs.
-0.4495-0.1540-0.0020-0.4701-0.4495-0.5711.0000.998large_savant_run_environment_swing18, shrink factor 1.0no_change0.5300.5300.55130.5512880.530| Starter | Projected | Actual | Error |
|---|---|---|---|
| Hagen Smith, CHW | 1 ER, 15 outs, 1.80 ERA | 0 ER, 9 outs, 0.00 ERA | ER -1, outs -6, ERA -1.80 |
| AJ Blubaugh, HOU | 0 ER, 15 outs, 0.00 ERA | 0 ER, 2 outs, 0.00 ERA | ER 0, outs -13, ERA 0 |
The settled per-player feed lacks a pitching line for Hagen Smith, despite the game-level starter comparison containing projected and actual values. The report explicitly marks this as starter_line_missing for the player-level matchup breakdown. That is a data-coverage limitation, not a structural audit error.
The HOU starter’s short outing was also materially different in workload, although not in ER.
+1-31 ER+1.40-1.26-1.11; weak season contact-quality tier, xwOBA 0.271-0.93-0.93This was the game most supportive of the existing recent/season run-mean weighting: the team-run error was only two, and the away-side directional fundamentals were strongly favorable.
PASS0---
3, PHI 2; winner ATL5, PHI 3; winner ATLtoss_up_went_our_way0.505394, rounded diagnostic value 0.505+0.0108 home, approximately 0.01toss_up0.24463533 — predicted total 5, actual total 8-3This is a correct-winner/wrong-score game.
+0.5590+0.4060+0.0494+0.6976+0.679+0.336+0.23480.95071.000127, shrink factor 1.0no_change0.52640.52640.50750.505394| Starter | Projected | Actual | Error |
|---|---|---|---|
| Jesús Luzardo, PHI | 3 ER, 20 outs, 4.05 ERA | 1 ER, 15 outs, 1.80 ERA | ER -2, outs -5, ERA -2.25 |
| Chris Sale, ATL | 2 ER, 19 outs, 2.84 ERA | 3 ER, 19 outs, 4.26 ERA | ER +1, outs 0, ERA +1.42 |
The starter projection was imperfect on both sides but did not clearly drive the result.
-1+13 ER, including Jhoan Duran:0 ER, actual 3 ER2 H, 6 outs versus projected 4 outs0 ER+0.94, supported by elite season contact quality, xwOBA 0.342+0.95-1.40-0.93PASS0---
There were no published winner losses. All four games were winner hits, so there is no loss to reconstruct in the usual sense.
There were, however, score and intermediate-stage failures:
historical_ml → variance_applied moved two correct eventual winners toward a tie:A later recovery does not erase this intermediate winner-direction regression.
The earliest measured regression was:
historical_ml → variance_applied1.0 → 0.54 → 24.562 → 4.7502.281 → 2.375The next stage, variance_applied → enhanced_prediction, recovered both:
1.00.25, from 4.75 to 4.500.125, from 2.375 to 2.5Therefore the proper diagnosis is intermediate winner-direction instability, not “no problem because the final picks were correct.”
A home-away confidence edge of 0.12, if encountered in another slate, would be moderate—not a near coin flip. On this slate, the largest edge was only 0.08; CHC@SD and PHI@ATL were approximately 0.02 and 0.01.
| Category | Evidence on this slate | Assessment |
|---|---|---|
| Bad input | One settled player-level starter line missing for Hagen Smith; no structural errors | Limited data gap, not a demonstrated winner cause |
| Bad weighting | Variance stage regressed two winner directions; recent/season weighting helped two large score misses but could disturb CHW@HOU | Material process risk at variance stage; run-weight change not yet justified |
| Calibration | Four-game calibration error 0.4792; bucket is underconfident by stated definition | Unstable measurement, not enough evidence for permanent recalibration |
| Starter error | King was 3 ER better than projected; PHI/ATL starter errors; BOS starters broadly accurate | Some individual variance; pitcher lever net tension is unfavorable |
| Offense/bullpen miss | NYY offense exceeded projection; CHC offense underperformed and SD offense exceeded projection; PHI bullpen allowed 3 ER | Major source of score error |
| Run-environment miss | Predicted margins were compressed; total errors were -3,+1,+2,-3 | Material score-model issue |
| Irreducible variance | King’s outlier start and player-level deviations unsupported by stable profiles | Important explanation; do not tune directly to isolated performances |
The stored stages compare directly to official final scores:
| Stage | Winner accuracy | Team-run MAE | Total-run MAE | Margin MAE | Interpretation |
|---|---|---|---|---|---|
| historical_ml | 1.000 | 2.281 | 0.6485 | 4.562 | Baseline |
| variance_applied | 0.500 | 2.375 | 0.750 | 4.750 | Winner regression; score regression |
| enhanced_prediction | 1.000 | 2.500 | 2.000 | 4.500 | Recovers winners, but total/team score metrics worsen versus baseline |
| embedded_savant_run_environment | 1.000 | 2.375 | 2.250 | 4.250 | Margin improves; total MAE worsens versus enhanced |
| fundamental_edge_target_review | 1.000 | 2.375 | 2.250 | 4.250 | No additional change |
| capped_target | 1.000 | 2.375 | 2.250 | 4.250 | No additional change |
| simulation_result | 1.000 | 2.375 | 2.250 | 4.250 | No winner intervention |
| published_final | 1.000 | 2.375 | 2.250 | 4.250 | No change from simulation stage |
Transition audit:
historical_ml → variance_applied: regression in CHC@SD and PHI@ATL; no improvements.variance_applied → enhanced_prediction: both winner directions recovered; no winner regressions.enhanced_prediction → embedded_savant_run_environment: margin MAE improved by 0.25; no winner change.simulation_result → published_final: no change.The later recovery is useful, but it does not cancel the unstable variance-stage behavior.
---
0 helped vs 0 hurt entry means the counterfactual has not been demonstrated game by game.score_margin_compression finding specifically says to check several recent out-of-sample slates first.0 ER against 3 projected.1 helped vs 2 hurt; do not reweight this lever from the current slate.7.2; more aggressive reweighting could disturb an already good call.2 helped vs 1 hurt, but the evidence is about score realization, not winner accuracy. A broad weighting change is not yet justified.0.4792 absolute calibration error; under the stated definition the bucket is underconfident.7/27 material deviations were supported by the hitter’s own season contact quality.---
There are no game-level critical findings:
critical: 0critical: 0However, the missing integrity revision audit is a receipt gap that prevents complete artifact-proof verification. It is not classified by the supplied audit as a critical prediction defect.
There are no game-level error findings:
error: 0.PASS.There are no warning findings:
warning: 0.warning: 0.There are 31 informational findings in the structural summary. Per-game counts are:
These include the informational notes associated with clean artifact status, recorded transformations, and diagnostics. Informational status does not mean the model was accurate; it means the contract/audit did not identify a structural violation.
0.4420.4380.1290.0550.030+10.1%+31.6%+17.5%+18.5%+28.6%+50.0%The complete pick-side lineage is available for all four games:
raw_model_pick_probability 0.5973 → governor input 0.5175 → calibrated/governor output 0.5554 → score coherence 0.555379 → published 0.540
Transformation: score coherence followed by matchup-recency guardrail. No unexplained delta.
raw 0.5143 → governor input 0.5300 → calibrated/governed 0.5109 → score coherence 0.510929 → published 0.507896
Transformation: published value matches the calibrated/governed value. No unexplained delta.
raw 0.5898 → governor input 0.5300 → calibrated/governed 0.5513 → score coherence 0.551288 → published 0.530
Transformation: score coherence followed by matchup-recency guardrail. The material movement is recorded and explained; it is not a governor bypass.
raw 0.5079 → governor input 0.5264 → calibrated/governed 0.5075 → score coherence 0.507466 → published 0.505394
Transformation: published probability matches the calibrated/governed value. No unexplained delta.
Conclusion: no material lineage bypass is demonstrated. A bypass should be called only if a material movement lacks a recorded transformation; that condition is not present here.
---
A single slate is noisy, but several findings have multi-slate evidence.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
high_raw_probability_cluster | 0 | No | Historical incidence in 2 of 11 window slates, but not current |
pipeline_winner_instability | 1 | Yes | Current slate shows the issue; incidence 6 of 11, but only a one-slate current streak |
score_margin_compression | 1 | Yes | Current slate shows it; incidence 3 of 11 |
simulation_inert_on_slate | 11 | Yes | Established persistent failure, not single-slate noise |
single_slate_calibration_instability | 1 | Yes | Current slate shows it; incidence 7 of 11, but current streak is only one |
weak_run_model_signal | 1 | Yes | Current slate shows it; incidence 10 of 11, but the registered streak field is one |
The escalated_findings entry must be treated as established:
11 consecutive slates11/11simulation.allow_scoreteam_run_mae, total_run_maeThis is a code/diagnostic failure, not a reason to force a parameter move.
Current slate:
22, 3, 8, 941, 1, 1, 2-7-7-2-1The trend block labels margin bias regressing, with mean -1.9532.
The current slate confirms an intermediate winner-direction regression:
-2 winner hits+2 winner hits0.52081.0-0.47920.4792The trend labels weighted calibration error regressing, with mean 0.2201. This makes calibration a monitoring priority, but the current four-game direction is underconfidence by the stated definition.
0.6500There is no current high-raw-confidence cluster.
400The 11-slate streak shows that this is not an isolated no-op.
Each supplied metric trend is explicit:
-1.95325.308There are no current losses, so this trend is inherited from prior slates.
0.22010.6062The winner-accuracy improvement must not be used to dismiss score-model and pipeline risks.
0hitunknown, which is a data-quality defect in the streak receipt.---
Recommendations are ranked by persistence, scope, expected metric impact, and regression risk.
simulation_inert_on_slatesimulation.allow_scoreteam_run_mae and/or total_run_mae; restore measurable simulation contribution and winner-distribution diagnostics.param_actionable: false; target lever is a code control, not a demonstrated tuning knob.10/11 slates, although current consecutive streak field is 1team_run_mae and total_run_mae.score_margin_compressionscore.variance_multiplierUse score.variance_floor only as a secondary shadow arm, not simultaneously.
+5% multiplier increase in shadow mode; do not promote automatically.2, so widening may make that class of game less precise.confidence.base_cap, confidence.moderate_cap, confidence.empirical_max_weight0.08 BOS@NYY lean or the strong CHW@HOU away direction.player.pitcher.v4 form weights / player.pitcher_prior_gamesrecent.* / season.* run-mean weighting---
1,1,1,2 versus actual margins 2,3,8,9.0.002415.Run a non-promoting shadow diagnostic that verifies the simulation module is actually executing an independent, non-steered probability distribution, while preserving the current published pipeline.
This is safest because the failure has the strongest persistence evidence—11 consecutive slates—is registered as a code/diagnostic problem rather than a speculative parameter issue, and can be evaluated with rollback monitors on team-run MAE, total-run MAE, margin-tail coverage, and winner Brier score without changing today’s production picks.