Luna deep analysis — slate 20260906
Coverage receipt: COMPLETE · 9/8 sections; 15/15 games; 4/4 causes; 6/6 sources
1. Evidence receipt and gaps
Sources received
Six of seven manifest entries were loaded:
- Prediction review —
/app/output/reports/prediction_review_20260906.json, 377,236 bytes; official outcomes and scoring errors. - Forensic deep audit —
/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260906.json, 240,848 bytes; probability, provenance, starter, and decision contracts. - Continuous learning —
/app/output/learning/continuous_learning_daily_20260906.json, 2,489,405 bytes; pipeline quality, calibration, lineage, score distribution, and starter comparisons. - Detailed report —
/app/output/reports/detailed_20260906.html, 349,460 bytes. - Ultra-detailed player audit —
/app/output/reports/20260906_ultra_detailed_player_audit.html, 30,202,030 bytes. - Structural audit —
/app/output/reports/audit_report_20260906.html, 1,864,642 bytes. - Missing:
/app/output/reports/audit_report_20260906_integrity_revision.html, purpose “post-Luna remediation proof for immutable revision artifacts.” Its status is explicitlymissing.
Coverage
All 15 expected games were reviewed:
ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, and WAS@LAD.
Coverage counts are complete for the supplied artifacts:
- Canonical artifacts loaded: 15/15
- Continuous-learning games: 15/15
- Deep-audit games: 15/15
- Starter comparisons: 15/15
- Structural audits: 15/15
- All games structurally audited: true
Gaps and contradictions
- The integrity-revision audit is missing. This is a provenance/artifact gap, although the supplied per-game structural audits all passed.
- The player feed had no rows for slate 20260906. Therefore, player-level adjustments describe forecast changes, but actual player-level causal attribution is unavailable for every game.
- No source-labelled moneyline was available: market cross-check coverage was 0/15.
- No matchup-pattern breakdown was available.
- Probability-lineage text is internally inconsistent in four entries:
- ARI@HOU
- ATL@PHI
- LAA@PIT
- OAK@SEA Each says
"no recorded transformation explains the publication delta"while also reportingunexplained_material_delta: false. The deltas are small, but the wording and flag do not agree. - The causal register states that all eight material probability movements were explained by score-coherence and/or recency transformations. That is compatible with the four small deltas being below the materiality threshold, but the lineage text should explicitly say “below material threshold,” not “no recorded transformation.”
- The high-raw cluster threshold was 0.65, but the only listed calibrated probability was 0.5833. The row is not itself above that threshold; it appears to refer to a high raw model probability of 0.652. The cluster definition should distinguish raw from calibrated probabilities.
2. Executive diagnosis
Winner accuracy
The slate went 9–6, 60.0%, versus a walk-forward baseline of 56.0% and model-validation winner accuracy of 59.6244%. This is a positive result, but only modestly above baseline and not evidence that the score forecasts were reliable.
The winner model was correct in:
ARI@HOU, BOS@BAL, DET@CLE, LAA@PIT, MIN@CHW, OAK@SEA, SF@NYM, STL@COL, and WAS@LAD.
It missed:
ATL@PHI, CHC@MIA, MIL@CIN, NYY@SD, TB@TEX, and TOR@KC.
Calibration quality
Calibration was mixed and materially imperfect:
- Weighted absolute calibration error: 0.0937
- 0.50–0.55 bucket: average confidence 0.5325, observed hit rate 0.6364, calibration error −0.1039 — underconfident.
- 0.55–0.60 bucket: average confidence 0.5656, observed hit rate 0.5000, calibration error +0.0656 — overconfident.
- High-conviction miss rate: 0.5, with 2 misses among 4 high-conviction games.
The published confidence was therefore not uniformly conservative. The lower-confidence bucket was underconfident, but the higher-confidence bucket and high-conviction subset were too aggressive. This supports bounded confidence-cap work, not a blanket conclusion that every probability was overconfident.
Score accuracy
Score accuracy was the principal weakness:
- Holdout R²:
- Away runs: 0.018161
- Home runs: 0.007377
- Total runs: 0.014682
- Model-margin MAE: 2.667 runs
- Model-margin signed bias: −2.0, meaning actual margins exceeded predicted margins on average.
- All 15 predicted margins were 1 or 2 runs.
- Four actual margins were at least 4 runs: CHC@MIA, MIL@CIN, MIN@CHW, and TOR@KC, with actual margins of 7, 4, 9, and 5.
The registered weak_run_model_signal issue is therefore substantiated. The model beat average guessing, but its exact run estimates and tails were weak. The small positive R² must not be interpreted as reliable score prediction.
Starter accuracy
Starter projections were highly variable. Identity matching was successful for all listed starters, but actual earned runs often diverged materially from projection. Examples include:
- Clay Holmes: projected 2 ER, actual 8 ER.
- Cesar Perdomo: projected 6 ER, actual 0 ER.
- Bailey Ober: projected 5 ER, actual 1 ER.
- Justin Wrobleski: projected 1 ER, actual 4 ER.
- Kyle Leahy: projected 3 ER, actual 5 ER.
The lever-tension receipt records the pitcher-weighting lever as helping 10 games and hurting 2. That is useful directional evidence, but not a controlled causal result. Cross-slate evidence does not support changing context.opponent_strength_weight: starter ERA error has the same sign on only 4 of 7 measured slates, with z = 0.65.
Artifact integrity
Artifact integrity was strong for the delivered slate:
- Structural audit summary: 0 critical, 0 errors, 0 warnings, 114 informational findings
- Every per-game structural audit passed.
- All game artifacts passed critical/error gates and were eligible for learning.
- No winner probability reversion or overwrite was detected: 15/15 blend sides survived to publication, with zero blend flips and zero overwritten games.
- Simulation produced zero winner flips, but that is a persistent functional concern, not evidence that the simulation was useful.
The missing integrity-revision audit remains a documentation gap. It does not invalidate the supplied structural passes, but it prevents a fully closed artifact chain.
Causal issue register reconciliation
High: weak_run_model_signal
- Evidence: home/away/total R² = 0.0074/0.0182/0.0147.
- Affected games: all 15.
- Action: treat exact runs as low-confidence; investigate stronger features or a better target through isolated training backtests.
- Guardrail: a small positive R² only shows performance above average guessing; it does not make exact scores reliable.
- Assessment: confirmed and escalated across 10 consecutive slates. This is a material model-risk issue, not a contract failure.
Info: complete_slate_audit_coverage
- Evidence: 15/15 games structurally audited.
- Affected games: all 15.
- Action: retain per-game audit receipts.
- Guardrail: full coverage does not cancel substantive findings inside audited games.
- Assessment: confirmed as coverage, not as a clean-slate conclusion.
Info: probability_publication_delta_explained
- Evidence: eight material movements reportedly explained by score coherence and/or recency.
- Affected games: CHC@MIA, DET@CLE, MIL@CIN, MIN@CHW, SF@NYM, STL@COL, TOR@KC, WAS@LAD.
- Action: continue exposing each probability layer and transformation.
- Guardrail: a published probability above calibrated probability is not a governor bypass if a named transformation explains it.
- Assessment: generally supported, but lineage wording should be corrected for the four small unexplained-text deltas.
Info: simulation_inert_on_slate
- Evidence: zero flip candidates and zero published flips.
- Affected games: all 15.
- Action: measure simulation contribution over rolling slates and separate score realization from winner flipping.
- Guardrail: zero winner flips is not automatically a defect and does not prove no score work occurred.
- Assessment: escalated to a persistent, established failure over 10 consecutive slates because the supplied self-assessment identifies a likely early-exit/no-op mechanism.
3. Every game
Conventions: Published probability is the probability of the published side, while the raw field published_pick_probability is the home probability. “Edge” is home minus away. Team-run error is the absolute team-run error. Total bias is actual total minus predicted total; positive means the model underpredicted total runs.
All player actuals were unavailable because the slate player feed had no rows.
ARI@HOU — correct winner, wrong score
- Prediction: ARI 4, HOU 3; ARI winner.
- Actual: ARI 3, HOU 2; ARI winner.
- Published probability: ARI 0.5373; home probability 0.463.
- Confidence edge: home minus away −0.0746; lean, away side.
- Brier / team-run error / total bias: 0.214084 / 2 / +2.
- Starter lines:
- Eduardo Rodriguez: 2.0 projected ER, 18 outs; 1 ER, 18 outs; ER error −1.
- Peter Lambert: 2.0 projected ER, 16 outs; 3 ER, 21 outs; ER error +1.
- Edges: season −0.026, recent +0.420, pitcher +0.122, composite +0.180 for HOU; recent and pitcher factors partially offset the season edge.
- Controls: Savant adjustment applied; starter-experience shrinkage not applied; score volatility
no_change. - Score path: 4–3 historical/base direction, ultimately published 4–3. Confidence reached 0.544 before controls; publication was 0.463 home.
- Player adjustments: none available.
- Audit: structural PASS; 0 defects, 8 informational notes. Forecast artifact was not causal.
- Primary/secondary cause: none; correct call. This is a correct-winner/wrong-score game.
ATL@PHI — wrong winner
- Prediction: ATL 3, PHI 4; PHI winner.
- Actual: ATL 5, PHI 4; ATL winner.
- Published probability: PHI 0.550646; home probability 0.551.
- Confidence edge: +0.1013, moderate PHI edge.
- Brier / team-run error / total bias: 0.303211 / 2 / −2.
- Starters:
- Tyler Mahle: 2 projected ER, 17 outs; 0 ER, 18 outs; error −2.
- Aaron Nola: 3 projected ER, 16 outs; 1 ER, 21 outs; error −2.
- Edges: season −0.391, recent −0.010, pitcher −0.101, composite −0.260 for PHI; evidence actually leaned ATL.
- Controls: Savant applied; no starter-experience shrinkage; no score-volatility change.
- Score path: historical 4.44–4.49, variance 4–4, enhanced 3–4, then final 3–4.
- Player adjustments: 22 material changes, including Trea Turner projected RBI +2.55, Michael Harris II projected AB −1.89, and Brandon Marsh projected hits +1.70.
- Audit: PASS; 0 defects, 9 info.
- Causes: primary
wrong_conviction_side; secondary none. The model committed to PHI despite season and composite edges favoring ATL. The score was close, but the winner direction was wrong.
BOS@BAL — correct winner, wrong score
- Prediction: BOS 4, BAL 3; BOS winner.
- Actual: BOS 3, BAL 1; BOS winner.
- Published probability: BOS 0.54926; home probability 0.451.
- Confidence edge: −0.0985, lean BOS.
- Brier / team-run error / total bias: 0.203167 / 3 / +3.
- Starters:
- Payton Tolle: 0 projected ER, 18 outs; 1 ER, 18 outs; error +1.
- Kyle Bradish: 3 projected ER, 16 outs; 0 ER, 12 outs; error −3.
- Edges: season −0.555, recent −0.178, pitcher −0.066, composite −0.675 for BOS.
- Controls: starter quality moved score toward BOS; recency guardrail applied; no score-volatility change.
- Score path: 4–3 final from a 4–3-type low-margin path.
- Player adjustments: none available.
- Audit: PASS; 0 defects, 7 info.
- Causes: no winner cause; correct winner. Score miss was primarily run-environment/starter realization, especially Bradish allowing 0 rather than 3 ER. This is a correct-winner/wrong-score game.
CHC@MIA — wrong winner and major score miss
- Prediction: CHC 6, MIA 4; CHC winner.
- Actual: CHC 3, MIA 10; MIA winner.
- Published probability: MIA 0.420; CHC published-side probability 0.580.
- Confidence edge: −0.1600, moderate CHC edge. This is not a near coin flip; it is a moderate 0.16 edge.
- Brier / team-run error / total bias: 0.336400 / 9 / −3.
- Starters:
- Clay Holmes: 2 projected ER, 18 outs; 8 ER, 13 outs; error +6.
- Tyler Phillips: 4 projected ER, 15 outs; 3 ER, 15 outs; error −1.
- Edges: season −0.841, recent −0.858, pitcher −0.079, composite −1.211 for CHC.
- Controls: high-total environment lift and supported blowout expansion; recency guardrail; no starter-experience shrinkage.
- Score path: historical 4.17–3.69, variance 4–4, enhanced 6–4, then final 6–4. The model amplified the CHC side after recent-form and H2H processing.
- Player adjustments: 21 material changes, including Owen Caissie RBI +2.62 and Michael Busch RBI +2.44; no actual player feed to verify them.
- Audit: PASS; 0 defects, 8 info.
- Causes: primary
starter_projection; secondarywrong_conviction_side. Holmes’ six-ER projection miss was the earliest clear game-specific failure. The model also gave a strong CHC conviction despite MIA’s actual offensive breakout.
DET@CLE — correct winner, wrong score
- Prediction: DET 3, CLE 4; CLE winner.
- Actual: DET 2, CLE 3; CLE winner.
- Published probability: CLE 0.520296; home probability 0.520.
- Confidence edge: +0.0406, lean CLE.
- Brier / team-run error / total bias: 0.230116 / 2 / +2.
- Starters:
- Jackson Jobe: 1 projected ER, 15 outs; 2 ER, 15 outs; error +1.
- Gavin Williams: 2 projected ER, 16 outs; 2 ER, 18 outs; error 0.
- Edges: season −0.130, recent +0.434, pitcher +0.005, composite +0.229 for CLE.
- Controls: inexperienced-starter shrinkage from 0.545249 to 0.528092, shrink factor 0.6208; winner unchanged; no volatility change.
- Score path: 3–4 final.
- Player adjustments: none available.
- Audit: PASS; 0 defects, 7 info.
- Causes: no winner cause; correct call. Score error was small and consistent with run variance. Correct-winner/wrong-score.
LAA@PIT — correct winner, wrong score
- Prediction: LAA 3, PIT 5; PIT winner.
- Actual: LAA 0, PIT 1; PIT winner.
- Published probability: PIT 0.572315; home probability 0.572.
- Confidence edge: +0.1446, moderate PIT edge.
- Brier / team-run error / total bias: 0.182914 / 7 / +7.
- Starters:
- Walbert Ureña: 4 projected ER, 17 outs; 1 ER, 24 outs; error −3.
- Paul Skenes: 0 projected ER, 17 outs; 0 ER, 16 outs; error 0.
- Edges: season +0.719, recent +0.432, pitcher −0.131, composite +0.575 for PIT.
- Controls: Savant applied; no experience shrinkage; no volatility change.
- Score path: 3–5 from a PIT-favored score path, but both offenses were heavily overprojected.
- Player adjustments: none available.
- Audit: PASS; 0 defects, 8 info.
- Causes: winner correct; score miss was a run-environment and starter-outperformance issue, especially Ureña allowing only 1 rather than 4 ER. Correct-winner/wrong-score.
MIL@CIN — wrong winner and severe total miss
- Prediction: MIL 7, CIN 5; MIL winner.
- Actual: MIL 8, CIN 12; CIN winner.
- Published probability: MIL 0.530; home probability 0.470.
- Confidence edge: −0.0600, lean MIL.
- Brier / team-run error / total bias: 0.280900 / 8 / −8.
- Starters:
- Kyle Harrison: 2 projected ER, 15 outs; 4 ER, 11 outs; error +2.
- Brady Singer: 5 projected ER, 15 outs; 6 ER, 15 outs; error +1.
- Edges: season −1.480, recent −0.258, pitcher −0.023, composite −1.289 for MIL.
- Controls: supported blowout-margin expansion; recency guardrail; large Savant run-environment swing.
- Score path: historical 5–3, variance 5–3, enhanced 7–5, final 7–5. The model correctly raised total scoring somewhat but still missed by eight runs.
- Player adjustments: 21 material changes, including Dane Myers hits +2.40 and Elly De La Cruz hits +1.892 for CIN.
- Audit: PASS; 0 defects, 7 info.
- Causes: primary
run_environment_under. Both clubs scored materially above forecast, especially CIN, which was underprojected by 7. The winner error followed the run-tail failure.
MIN@CHW — correct winner, wrong score
- Prediction: MIN 4, CHW 6; CHW winner.
- Actual: MIN 1, CHW 10; CHW winner.
- Published probability: CHW 0.530; home probability 0.530.
- Confidence edge: +0.0600, lean CHW.
- Brier / team-run error / total bias: 0.220900 / 7 / −1.
- Starters:
- Bailey Ober: 5 projected ER, 16 outs; 1 ER, 13 outs; error −4.
- Bryan Hudson: 0 projected ER, 15 outs; 0 ER, 5 outs; error 0.
- Edges: season +0.372, recent −0.018, pitcher −0.011, composite +0.537 for CHW.
- Controls: recency guardrail; high-raw cluster row; no score-volatility change. Raw pick probability was 0.652, calibrated 0.5833, published 0.530.
- Score path: 4–6 final despite actual 1–10.
- Player adjustments: none available.
- Audit: PASS; 0 defects, 8 info.
- Causes: winner correct; score failure came from offense/run realization and Ober outperforming the 5-ER projection. Correct-winner/wrong-score.
NYY@SD — wrong winner
- Prediction: NYY 4, SD 3; NYY winner.
- Actual: NYY 3, SD 4; SD winner.
- Published probability: NYY 0.535664; home probability 0.464.
- Confidence edge: −0.0713, lean NYY.
- Brier / team-run error / total bias: 0.286936 / 2 / 0.
- Starters:
- Gerrit Cole: 3 projected ER, 19 outs; 4 ER, 21 outs; error +1.
- Michael King: 2 projected ER, 18 outs; 0 ER, 18 outs; error −2.
- Edges: season −0.776, recent −0.628, pitcher −0.026, composite −0.820 for NYY.
- Controls: recency guardrail; no volatility change.
- Score path: historical 4–4, enhanced 4–3, final 4–3; winner direction regressed toward NYY at the enhanced stage.
- Player adjustments: 23 material changes, including Gerrit Cole strikeout +3 and Michael King strikeout +2; no actual player-level validation.
- Audit: PASS; 0 defects, 7 info.
- Causes: primary
mixed. The model had strong season/recent NYY evidence, but King’s shutout performance and a one-run game produced the reversal. This is not principally a run-total miss; it is a close winner-direction miss.
OAK@SEA — correct winner, very wrong score
- Prediction: OAK 6, SEA 7; SEA winner.
- Actual: OAK 0, SEA 2; SEA winner.
- Published probability: SEA 0.5442; home probability 0.544.
- Confidence edge: +0.0884, lean SEA.
- Brier / team-run error / total bias: 0.207754 / 11 / +11.
- Starters:
- Gage Jump: 4 projected ER, 14 outs; 2 ER, 12 outs; error −2.
- Bryan Woo: 3 projected ER, 17 outs; 0 ER, 24 outs; error −3.
- Edges: season +0.352, recent −0.706, pitcher +0.011, composite +0.222 for SEA.
- Controls: no volatility change.
- Score path: 6–7 final; actual scoring was 0–2.
- Player adjustments: none available.
- Audit: PASS; 0 defects, 7 info.
- Causes: winner correct; extreme run-environment overprojection, especially both offenses and Woo’s dominance. Correct-winner/wrong-score.
SF@NYM — correct winner, wrong score
- Prediction: SF 4, NYM 6; NYM winner.
- Actual: SF 2, NYM 4; NYM winner.
- Published probability: NYM 0.516328; home probability 0.516.
- Confidence edge: +0.0327, toss-up.
- Brier / team-run error / total bias: 0.233939 / 4 / +4.
- Starters:
- Cesar Perdomo: 6 projected ER, 12 outs; 0 ER, 18 outs; error −6.
- Christian Scott: 3 projected ER, 15 outs; 2 ER, 14 outs; error −1.
- Edges: season +0.029, recent −0.106, pitcher +0.024, composite +0.402 for NYM.
- Controls: inexperienced-starter shrinkage from 0.547531 to 0.51921, factor 0.4042; winner unchanged; no volatility change.
- Score path: 4–6 final.
- Player adjustments: 23 material changes, including pitcher strikeout adjustments; no actual player feed.
- Audit: PASS; 0 defects, 9 info.
- Causes: winner correct in a toss-up; score error was driven chiefly by Perdomo’s six-ER projection miss. Correct-winner/wrong-score.
STL@COL — correct winner, wrong score
- Prediction: STL 5, COL 4; STL winner.
- Actual: STL 10, COL 8; STL winner.
- Published probability: STL 0.55935; home probability 0.441.
- Confidence edge: −0.1187, moderate STL edge. A 0.12 edge is moderate, not a near coin flip.
- Brier / team-run error / total bias: 0.194172 / 9 / −9.
- Starters:
- Kyle Leahy: 3 projected ER, 16 outs; 5 ER, 8 outs; error +2.
- Tanner Gordon: 2 projected ER, 15 outs; 5 ER, 14 outs; error +3.
- Edges: season −0.729, recent −0.186, pitcher −0.001, composite −0.628 for STL.
- Controls: recency guardrail; no volatility change.
- Score path: 5–4 final despite an 18-run actual total.
- Player adjustments: none available.
- Audit: PASS; 0 defects, 7 info.
- Causes: winner correct; both starters and both offenses exceeded the score environment. Correct-winner/wrong-score.
TB@TEX — wrong winner and total miss
- Prediction: TB 5, TEX 4; TB winner.
- Actual: TB 6, TEX 8; TEX winner.
- Published probability: TB 0.527394; home probability 0.473.
- Confidence edge: −0.0548, lean TB.
- Brier / team-run error / total bias: 0.278144 / 5 / −5.
- Starters:
- Ian Seymour: 3 projected ER, 16 outs; 3 ER, 9 outs; ER error 0.
- MacKenzie Gore: 2 projected ER, 16 outs; 5 ER, 9 outs; error +3.
- Edges: season −0.688, recent −0.634, pitcher −0.021, composite −0.763 for TB.
- Controls: recency guardrail; no volatility change.
- Score path: 5–4 throughout the final stages.
- Player adjustments: 24 material changes, including Wyatt Langford RBI deboost −3.72 and multiple lineup AB/RBI adjustments.
- Audit: PASS; 0 defects, 7 info.
- Causes: primary
run_environment_under; Gore’s projection was also materially wrong. The stronger TB evidence did not survive the actual run distribution.
TOR@KC — wrong winner and score
- Prediction: TOR 5, KC 4; TOR winner.
- Actual: TOR 1, KC 6; KC winner.
- Published probability: TOR 0.537096; home probability 0.463.
- Confidence edge: −0.0742, lean TOR.
- Brier / team-run error / total bias: 0.288472 / 6 / +2.
- Starters:
- Spencer Arrighetti: 4 projected ER, 15 outs; 6 ER, 14 outs; error +2.
- Randy Dobnak: 4 projected ER, 18 outs; 1 ER, 18 outs; error −3.
- Edges: season −0.604, recent −0.842, pitcher +0.060, composite −0.592 for TOR.
- Controls: starter-experience control applied but did not change the winner; supported blowout expansion; score path remained 5–4.
- Player adjustments: 22 material changes, including John Rave RBI +2.63 and Nathan Lukes RBI +2.48.
- Audit: PASS; 0 defects, 8 info.
- Causes: primary
lean_side_miss; small losing-side edge rather than high conviction. Secondary causal evidence is starter/run realization: KC’s Dobnak allowed only 1 versus 4 projected, while Arrighetti allowed 6.
WAS@LAD — correct winner, wrong score
- Prediction: WAS 4, LAD 5; LAD winner.
- Actual: WAS 5, LAD 7; LAD winner.
- Published probability: LAD 0.530; home probability 0.530.
- Confidence edge: +0.0600, lean LAD.
- Brier / team-run error / total bias: 0.220900 / 3 / −3.
- Starters:
- Andrew Alvarez: 2 projected ER, 15 outs; 3 ER, 13 outs; error +1.
- Justin Wrobleski: 1 projected ER, 16 outs; 4 ER, 9 outs; error +3.
- Edges: season +0.789, recent +0.414, pitcher −0.082, composite +0.537 for LAD.
- Controls: recency guardrail; no volatility change.
- Score path: 4–5 final.
- Player adjustments: none available.
- Audit: PASS; 0 defects, 7 info.
- Causes: winner correct; underpredicted total, with Wrobleski’s three-ER excess the main starter miss. Correct-winner/wrong-score.
4. Miss reconstruction
Earliest wrong-direction evidence for each loss
ATL@PHI
- Bad input: no structural or identity defect identified.
- Bad weighting: likely. Season, recent, pitcher, and composite edges all favored ATL, but the published side was PHI.
- Calibration: moderate 0.10 confidence was too strong for the evidence direction.
- Starter error: both starters outperformed ER projections, but this did not explain the side reversal.
- Offense/bullpen: actual ATL scored 5 versus projected 3; no bullpen-specific evidence supplied.
- Run environment: total was 9 versus projected 7, a modest miss.
- Earliest wrong-direction stage: the enhanced prediction changed from a 4–4 variance state to 3–4, committing to PHI despite a negative composite home edge. This is a winner-direction regression in evidence weighting, not merely irreducible variance.
CHC@MIA
- Bad input: no structural defect, but no player actuals.
- Bad weighting: the model gave dominant weight to CHC season/recent form and enhanced CHC’s score from 4 to 6.
- Calibration: published CHC probability 0.58 was materially more confident than raw 0.58? Here governor output was 0.6773 while published side was 0.58; the side remained moderately confident despite the extreme outcome risk.
- Starter error: earliest decisive game-specific failure. Holmes projected 2 ER and allowed 8.
- Offense/bullpen: MIA scored 10 versus projected 4; CHC scored 3 versus projected 6.
- Run environment: total 13 projected versus 10 actual, but the side-specific allocation was severely wrong.
- Earliest wrong-direction stage:
enhanced_predictionmoved CHC from 4 to 6 and retained CHC as leader. The later run-volatility logic expanded the wrong leader; it did not create the initial side choice.
MIL@CIN
- Bad input: no structural defect.
- Bad weighting: season and composite evidence strongly favored MIL, but the model did not represent CIN’s high-run tail adequately.
- Calibration: lean confidence was not excessive, but the score distribution was too narrow.
- Starter error: both starters allowed more than projected, especially Harrison by 2 ER and Singer by 1.
- Offense/bullpen: CIN was underprojected by 7 runs.
- Run environment: earliest and dominant failure. Total actual was 20 versus predicted 12.
- Earliest wrong-direction stage: the historical and enhanced stages already made MIL the leader.
supported_blowout_margin_expansionwidened the MIL-led score, so it reinforced the wrong winner rather than correcting it.
NYY@SD
- Bad input: no structural defect.
- Bad weighting: strong NYY season/recent evidence outweighed a close matchup in which the home side could win.
- Calibration: lean 0.07 edge was not extreme.
- Starter error: King allowed 0 versus 2 projected; Cole allowed 4 versus 3.
- Offense/bullpen: no specific bullpen evidence.
- Run environment: total was exactly 7 in both forecast and actual; not a total-run failure.
- Earliest wrong-direction stage:
enhanced_predictionchanged the path to NYY 4–3. This was a winner-direction regression from a near-even 4–4 baseline, and later stages did not recover it.
TB@TEX
- Bad input: no structural defect.
- Bad weighting: season/recent/composite evidence strongly favored TB, but it did not sufficiently account for the possibility of TEX offense breaking out.
- Calibration: lean 0.05 edge was appropriately modest.
- Starter error: Gore allowed 5 versus 2 projected; Seymour’s ER count was accurate but he lasted only 9 outs.
- Offense/bullpen: TEX scored 8 versus projected 4.
- Run environment: actual total 14 versus projected 9.
- Earliest wrong-direction stage: the baseline and enhanced stages retained TB 5–4. The miss was primarily a tail/run-environment failure, not a late publication artifact.
TOR@KC
- Bad input: no structural defect.
- Bad weighting: season/recent evidence favored TOR, but the model treated the recent matchup context and starter matchup insufficiently.
- Calibration: lean 0.07 edge, not high conviction.
- Starter error: Dobnak allowed 1 versus 4 projected; Arrighetti allowed 6 versus 4.
- Offense/bullpen: TOR scored 1 versus projected 5; KC scored 6 versus 4.
- Run environment: actual total 7 versus projected 9, so this was not principally a high-total miss.
- Earliest wrong-direction stage: the
variance_appliedand enhanced stages retained TOR as leader despite a negative composite home edge. Starter-quality controls reduced confidence but left the winner unchanged. This is a lean-side weighting/starter miss.
Pipeline-stage quality across all stages
| Stage | Winner accuracy | Team-run MAE | Total-run MAE | Margin MAE | Interpretation |
|---|---|---|---|---|---|
| historical_ml | 8/15 = 53.33% | 2.6762 | 4.6454 | 2.4455 | Baseline |
| variance_applied | 8/15 = 53.33% | 2.6667 | 4.8000 | 2.2667 | Margin improved; total error worsened |
| enhanced_prediction | 9/15 = 60.00% | 2.7000 | 4.2000 | 2.7333 | Winner accuracy improved, but margin error regressed versus baseline |
| embedded_savant_run_environment | 9/15 | 2.6667 | 4.1333 | 2.6667 | Small score recovery |
| fundamental_edge_target_review | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
| capped_target | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
| simulation_result | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
| published_final | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
Important transitions:
- historical_ml → variance_applied: five directions changed to ties; no winner gain; margin MAE improved by 0.1788.
- variance_applied → enhanced_prediction: five ties were resolved; WAS@LAD improved, while four other winner directions moved toward the eventual wrong side or otherwise did not improve. Winner accuracy increased by one game, but team-run MAE worsened by 0.0333 and margin MAE worsened by 0.4666 versus the prior stage.
- enhanced_prediction → Savant environment: no winner changes; team-run and total-run errors improved modestly.
- Savant through publication: no winner changes and no score changes.
A later recovery does not erase an intermediate winner-direction regression. In particular, enhanced prediction improved the aggregate hit count but still introduced or preserved wrong-direction states in ATL@PHI, CHC@MIA, NYY@SD, TOR@KC, and WAS@LAD transitions as documented by the transition receipt.
5. Cross-game counterfactuals
Lever: widen run distributions
Lever: score.variance_multiplier / score.variance_floor
- Helps: ATL@PHI and CHC@MIA according to the registered tension. Wider tails would reduce overconfidence and better represent the observed outcome range.
- Hurts: none listed in the lever-tension receipt.
- Net evidence: 2 helps, 0 hurts on this slate. However, this is not enough to justify a large adjustment because score R² is near zero and the cross-slate
lineup_run_deltabias is not persistent. - Guardrail: do not interpret the two-game result as proof that a broad variance increase improves all games. It could worsen already-close cases such as ARI@HOU, ATL@PHI’s score component, DET@CLE, or NYY@SD.
Lever: pitcher form weights / prior games
Lever: player.pitcher.v4 form weights / player.pitcher_prior_games
- Helps: BOS@BAL, CHC@MIA, LAA@PIT, MIN@CHW, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD.
- Hurts: ARI@HOU and DET@CLE, where starter projections were off by only 1 ER.
- Net evidence: 10 helps versus 2 hurts in the supplied tension.
- Cross-slate decision: no immediate parameter move. The cross-slate starter ERA error pattern is not persistent and is explicitly marked hold. A bounded diagnostic or shadow test is more appropriate than changing the weight live.
Lever: recent/season run-mean weighting
Lever: recent.* / season.* run-mean weighting
- Helps: CHC@MIA, LAA@PIT, MIL@CIN, MIN@CHW, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC.
- Hurts: ARI@HOU, ATL@PHI, DET@CLE, NYY@SD.
- Net evidence: 9 helps versus 4 hurts.
- Cross-slate decision: do not globally increase this lever from one slate. It helped some large-margin outcomes but hurt close games, and cross-slate lineup-run bias is explicitly nonpersistent.
Tempting fixes that must not be made
- Do not simply widen every score distribution substantially because of CHC@MIA, MIL@CIN, MIN@CHW, or OAK@SEA; that could degrade close, well-estimated games.
- Do not increase pitcher-form weighting globally solely because ten games are listed as helped; ARI@HOU and DET@CLE show the downside, and cross-slate persistence is absent.
- Do not reverse the recent/season weighting based on ATL@PHI, NYY@SD, or TOR@KC; that would sacrifice the nine games where the lever is credited with helping.
- Do not remove the starter-experience guardrail. It shrank confidence in DET@CLE, SF@NYM, and TOR@KC without changing the winner; it is not shown to be the cause of the misses.
- Do not treat the simulation’s zero flips as evidence that it should be forced to flip winners. The proper fix is diagnostic and independent-distribution construction, not manual winner intervention.
- Do not tune score tails as though that alone can solve the near-zero-R² feature problem.
6. Data and contract defects
Critical, error, warning, and info findings
Across the structural audit:
- Critical: 0
- Errors: 0
- Warnings: 0
- Informational findings: 114
Every per-game audit reported PASS, with zero defects and zero warnings. Thus, there were no supplied structural contract failures that explain the misses.
The major non-structural defects are:
- Missing integrity-revision audit artifact — presentation/provenance gap.
- Empty player feed — data-coverage gap affecting causal player attribution.
- Simulation functional inertness — likely code/process defect, established across 10 slates.
- Near-zero run-model signal — model/data/feature-contract defect, established across 10 slates.
- Probability-lineage wording inconsistency — artifact/presentation defect for four small deltas.
Model defects versus artifact bugs
Prediction-model/process defects
- Run models explain almost no holdout variance.
- Simulation distribution is likely built from target-search draws and exits after approximately two draws, making the reported win-rate signal statistically vacuous.
- Confidence is overaggressive in the higher-confidence subset and high-conviction misses.
Presentation/artifact defects
- Missing integrity-revision audit.
- Four lineage records say “no recorded transformation explains” while marking the delta as not materially unexplained.
- The high-raw cluster presentation mixes raw and calibrated thresholds without an explicit distinction.
These should not be conflated: clean structural artifacts do not imply a strong predictive model.
Probability-lineage audit
The required layers are raw model → calibrated → governor → score coherence/recency → published.
Examples:
- CHC@MIA: raw 0.5979 → governor input 0.58 → calibrated/governed 0.6773 → score coherence 0.671156 → published CHC 0.58. The large reduction from calibrated to published is recorded as score coherence plus matchup-recency guardrail.
- MIL@CIN: raw 0.6356 → governor input 0.53 → calibrated 0.6257 → score coherence 0.625697 → published MIL 0.53; named recency transformation.
- MIN@CHW: raw 0.652 → governor input 0.53 → calibrated 0.5833 → score coherence 0.583263 → published CHW 0.53; recency guardrail recorded.
- WAS@LAD: raw 0.5293 → governor input 0.53 → calibrated 0.5772 → score coherence 0.577206 → published LAD 0.53; recency guardrail recorded.
For the eight material movements identified in the causal register, a named transformation is present. No material governor bypass is demonstrated.
However, ARI@HOU, ATL@PHI, LAA@PIT, and OAK@SEA have small publication deltas and text stating that no transformation explains them. Because their unexplained_material_delta flags are false, the likely intended interpretation is that the deltas are below materiality. The lineage contract should record the exact transformation or explicitly mark them as nonmaterial rounding/serialization differences.
7. Cross-slate persistence
The raw structural and trend evidence contains both persistent signals and nonpersistent noise.
Finding streaks
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
| high_raw_probability_cluster | 0 | No | 3 incidences in 10 slates, not consecutive |
| pipeline_winner_instability | 0 | No | 4 incidences in 10 slates, not currently present |
| score_margin_compression | 0 | No | 3 incidences in 10 slates, not currently present |
| simulation_inert_on_slate | 10 | Yes | Established persistent failure |
| single_slate_calibration_instability | 0 | No | 5 incidences in 10 slates, but no current streak |
| weak_run_model_signal | 10 | Yes | Established persistent failure |
The two ten-slate findings must be treated as established failures, not single-slate noise.
Escalated findings
simulation_inert_on_slate
- Streak: 10 consecutive slates.
- Target lever:
simulation.allow_score, although the register says it is not parameter-actionable. - Metric harmed:
team_run_mae,total_run_mae; also winner-direction intervention is effectively absent. - Direction: confirm that the simulation runs and does not silently no-op.
- Correct action: code/diagnostic investigation, not a forced parameter move.
The self-assessment identifies the likely mechanism: target-realization draws are reused as the win-probability distribution, and the loop exits early after finding a play-by-play realization. A win rate based on approximately two selected draws is not a probability.
weak_run_model_signal
- Streak: 10 consecutive slates.
- Target levers listed:
training.xgb.n_estimators,training.xgb.max_depth,training.xgb.learning_rate. - Metric harmed: team-run MAE and total-run MAE.
- Direction: investigate features and target through an isolated training backtest.
- Correct action: add or improve feature contract components such as valid no-vig market probability, park/weather environment, bullpen fatigue, and platoon-adjusted lineup quality; retrain and compare same-fingerprint holdouts. Do not blindly tune nightly parameters.
The register marks this as not parameter-actionable despite listing training parameters. That means the listed parameters are candidate experiment controls, not a justified live change.
Metric-trend directions
All requested directions:
- Margin bias: improving. Series ends around −1.467 versus earlier values as low as −3.5.
- Mean team-run error on losses: improving. Current 5.333 is below several earlier values, though still large.
- Weighted calibration error: improving. Current 0.0937 is the best/latest value in the supplied series.
- Winner accuracy: improving. Current 0.600, above the nine-slate mean of 0.5688.
- Top-confidence-pick loss streak: 1. The latest top-confidence pick was a miss, but the preceding slate was a hit. This is not an extended streak.
Improving trend labels do not erase the persistent run-model and simulation failures.
8. Adjustments for today
Recommendations are ranked by persistence and scope.
1. Simulation code/diagnostic repair — strongest persistent action
- Registered target:
simulation.allow_score - Change: do not flip this parameter blindly. Perform the registered diagnostic/code action: verify that
allow_scoreinvokes an independent simulation distribution and that the draw loop cannot early-exit before a meaningful sample. - Bounded implementation: preserve the target-realization search for score rendering, but generate an independent 200–500 draw winner distribution, or use a closed-form Poisson/Skellam difference based on expected runs and variance. Make the draw count registered.
- Expected metric: improve simulation contribution, reduce
team_run_maeandtotal_run_mae, and restore meaningful winner-probability intervention. - Helps: games with extreme or nonlinear score paths, especially CHC@MIA, MIL@CIN, MIN@CHW, OAK@SEA, and STL@COL.
- Hurts/regression risk: independent simulations may alter close-game probabilities such as ARI@HOU, DET@CLE, NYY@SD, and TOR@KC. Use a shadow gate and rollback monitor.
- Reason for rank: 10-slate persistence and a concrete identified code mechanism.
2. Run-model feature/target backtest — persistent model failure
- Registered target: the shared feature contract in
historical_game_features.pyand training inhistorical_game_analyzer.py; candidate XGB parameters aretraining.xgb.n_estimators,training.xgb.max_depth, andtraining.xgb.learning_rate. - Change: do not live-tune one XGB parameter. Run an isolated same-fingerprint backtest after adding validated park/weather, bullpen-rest, platoon-lineup, and source-labelled no-vig market features where available. Bump the model schema version if semantics change.
- Expected metric: improve home, away, and total-run R² and reduce team-run and total-run MAE.
- Helps: all games, with greatest expected value in high-total and blowout cases: CHC@MIA, MIL@CIN, MIN@CHW, OAK@SEA, STL@COL, and TB@TEX.
- Hurts/regression risk: feature additions can overfit or degrade close low-total games such as ARI@HOU, DET@CLE, and NYY@SD. Require holdout and rollback gates.
- Reason for rank: 10-slate persistence and near-zero holdout R².
3. Bounded confidence/variance shadow experiment — strongest single-slate driver
- Registered parameters:
confidence.base_cap,confidence.moderate_cap,score.variance_multiplier, andscore.variance_floor. - Change: apply a small downward adjustment to confidence caps and a small upward adjustment to the variance multiplier/floor in shadow mode only. The exact production magnitude is not justified by the supplied evidence; the change should remain small and reversible.
- Expected metrics: lower Brier score and calibration error in overconfident moderate/high-conviction games; potentially reduce margin and total-run underdispersion.
- Helps: ATL@PHI and CHC@MIA directly according to the lever tension; also potentially MIL@CIN, TB@TEX, STL@COL, and other tail misses.
- Hurts/regression risk: may widen or dilute correct close calls such as ARI@HOU, DET@CLE, NYY@SD, and TOR@KC. It could also worsen score estimates where the model already tracks runs closely.
- Reason for rank: current-slate evidence supports it, but it is weaker than the two persistent findings because calibration is mixed and the cross-slate variance bias is not persistent.
Changes explicitly not recommended today
- Do not change
context.opponent_strength_weight; cross-slate starter bias is not persistent. - Do not change
score.variance_flooraggressively based only on the two-game help count; the cross-slate lineup-run bias is nonpersistent. - Do not force the simulation to flip winners without repairing its sampling logic.
- Do not promote any player-level adjustment based on actual player attribution because the actual player feed is empty.
9. Bottom line
Known:
- The system went 9–6, or 60%, slightly above the 56% walk-forward baseline.
- Six losses occurred, including two large wrong-side or tail failures: CHC@MIA and MIL@CIN.
- Exact score quality was poor: all predicted margins were only 1–2 runs, while four actual margins were at least 4.
- The run models have near-zero holdout R² and this failure has persisted for 10 slates.
- Simulation winner intervention has been inert for 10 consecutive slates.
- Structural artifact checks passed with zero critical, error, or warning findings.
- The winner probability lineage is mostly documented, but four small deltas have inconsistent explanatory text.
- Starter identity matching was clean, but actual starter performance was often far from projections.
Uncertain:
- Player-level causal attribution is unavailable because the slate player feed had no rows.
- No market benchmark is available.
- The cross-game lever counts are observational, not controlled experiments.
- The exact production magnitude for confidence-cap or variance changes is not established.
- The missing integrity-revision audit prevents complete provenance closure.
Safest next action: repair and instrument the simulation distribution in shadow mode, using an independent sufficiently large draw batch and a rollback monitor. This addresses the strongest persistent process failure without forcing an unvalidated live parameter change, while preserving the ability to measure whether the simulation actually improves probability calibration, winner accuracy, and run-error metrics on the next slate.