Deep slate report — 20261001

Generated 2026-10-02T05:09:19.519111-04:00 · schema deep_slate_diagnosis_v3 · fuses prediction review + forensic deep audit + official starter lines, with a Luna post-mortem.

Process, end to end

1. Settle review
complete
1 games vs official finals
2. Forensic deep audit
incomplete
per-game probability + pitcher impact
3. Deep diagnosis
built
0 losses attributed to a root cause
4. Luna post-mortem
received
9/8 sections; 1/1 games; 5/5 causes; 6/6 sources
5. Adjustment
skipped_open_rollback_monitor
6. Gating
shadow, manual + gated
production champion unchanged

Slate summary

Games
1
Hits
1
Misses
0
Winner accuracy
100%
Mean Brier (losses)
n/a
Mean total-run bias (losses)
n/a

Source coverage receipt

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

SourceStatusEvidence suppliedPathBytes
prediction reviewloadedofficial outcomes and scoring errors/app/output/reports/prediction_review_20261001.json101990
forensic deep auditloadedprobability, provenance, starter and decision contracts/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20261001.json75617
continuous learningloadedpipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons/app/output/learning/continuous_learning_daily_20261001.json454850
detailed reportloadedfull game and simulation rendering/app/output/reports/detailed_20261001.html98628
ultra detailed player auditloadedplayer-level prediction trace/app/output/reports/20261001_ultra_detailed_player_audit.html8732780
structural auditloadedall invariant findings/app/output/reports/audit_report_20261001.html520200
integrity revision auditmissingpost-Luna remediation proof for immutable revision artifacts/app/output/reports/audit_report_20261001_integrity_revision.htmln/a

High-level causal issue register

Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).

SeverityDomainFinding and evidenceAffectedAction & guardrail
HIGHscore_distributionPublished margins are compressed relative to realized margins
1/1 predictions were ≤2 runs; 1/1 actual margins were ≥4; mean predicted margin 1.00 vs actual 4.00
PHI@ATL
Do thisCheck whether predicted margins are too narrow across several recent out-of-sample slates (measuring tail coverage and margin MAE) before widening the score spread.
Don't concludeA single blowout game is not a reason to widen every score prediction.
HIGHcalibrationPublished confidence buckets were poorly aligned on this slate
weighted absolute calibration error 0.4832 across 1 games
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.
HIGHmodel_validationValidated run models explain very little holdout variance
home/away/total R² = 0.0021/0.0309/0.0024
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.
INFOcoverageEvery settled game received structural QA
4/1 games structurally audited
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.
INFOsimulationSimulation produced no winner-direction intervention on this slate
flip candidates 0; published flips 0
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.

Cross-slate trends (persistent-pattern memory)

Window: 20260921, 20260922, 20260923, 20260924, 20260925, 20260926, 20260927, , 20260929, 20260930, 20261001 (10 prior slates loaded). Highest-confidence pick loss streak: 0 slate(s). Actionable pattern detected.

Escalated persistent patterns

A finding that has repeated at or beyond the escalation streak is no longer single-slate noise. It carries its target registered lever and an action-oriented guardrail.

FindingPersistenceTarget lever(s)DirectionGuardrail
score_margin_compression3 consecutive · 5 in windowscore.variance_multiplier, score.variance_floorwiden run distributionsscore_margin_compression has persisted 3 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and propose a bounded shadow experiment against a target lever.
simulation_inert_on_slate11 consecutive · 11 in windowsimulation.allow_scoreconfirm the simulation module is running, not silently no-opingsimulation_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.
single_slate_calibration_instability3 consecutive · 7 in windowconfidence.empirical_max_weight, confidence.base_cap, confidence.moderate_capincrease empirical shrinkagesingle_slate_calibration_instability has persisted 3 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and propose a bounded shadow experiment against a target lever.
weak_run_model_signal3 consecutive · 10 in windowtraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rateinvestigate features/target via isolated training backtest (manual)weak_run_model_signal has persisted 3 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move.

Finding streaks across the window

FindingConsecutive slatesIncidencePresent nowFix type
high_raw_probability_cluster01/11noparam
pipeline_winner_instability05/11nocode/diagnostic
score_margin_compression35/11yesparam
simulation_inert_on_slate1111/11yescode/diagnostic
single_slate_calibration_instability37/11yesparam
weak_run_model_signal310/11yescode/diagnostic

Metric direction across the window

MetricDirectionSeries (old → new)
winner_accuracyimproving[0.3333, 0.4, 0.5, 0.6667, 0.6471, 0.5385, 0.6429, None, 1.0, 0.75, 1.0]
weighted_calibration_errorregressing[0.2028, 0.1881, 0.1108, 0.1701, 0.1302, 0.1524, 0.1031, None, 0.4792, 0.2317, 0.4832]
margin_biasregressing[-2.667, -1.867, -1.188, -1.083, -1.706, -3.0, -1.571, None, -4.25, -2.75, -3.0]
team_run_error_on_lossesimproving[3.0, 6.222, 5.75, 3.5, 5.333, 6.167, 4.8, None, None, 2.0, None]

Pipeline stage regression

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

StageWinner hitsAccuracyTeam-run MAETotal-run MAEMargin MAE
historical_ml1/1100%1.6751.0463.351
variance_applied1/1100%1.513
enhanced_prediction1/1100%1.513
embedded_savant_run_environment1/1100%1.513
fundamental_edge_target_review1/1100%1.513
capped_target1/1100%1.513
simulation_result1/1100%1.513
published_final1/1100%1.513
TransitionΔ accuracyΔ hitsΔ team-run MAEΔ margin MAEGames whose winner/tie changed
historical_ml → variance_applied00-0.1753-0.3506
variance_applied → enhanced_prediction0000CHW@HOU: HOU → CHW
enhanced_prediction → embedded_savant_run_environment0000
embedded_savant_run_environment → fundamental_edge_target_review0000
fundamental_edge_target_review → capped_target0000
capped_target → simulation_result0000
simulation_result → published_final0000

Probability lineage and calibration

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

GameOutcomeRaw modelCalibratedGovernorScore coherencePublishedExplanation
PHI@ATLhit0.54530.52780.52780.52780.5168score coherence followed by matchup-recency guardrail
Pitcher versus batter: patterns across the whole slate

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

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

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 1 games with an applied blend, the blend's side and the published side agree.

Blend side survived on 1 of 1 games; the blend flagged a winner change on 0.

Repeated bias across slates, and the lever that moves it

A bias on one slate is noise. The same sign across slates, large relative to how much it moves between them, is a model defect. Only the ones that pass both tests are turned into a named parameter change; the rest are held deliberately.

starter ERA error (actual minus projected)

Mean -0.02 over 11 slates (sign shared by 0.55 of them, z = -0.05).

starters beat their projection: the run model credits opposing offenses with more than they produced.

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

6 of 11 slates share the sign, mean -0.02 +/- 0.36 standard error: not separable from noise

lineup runs actual minus projected

Mean -0.32 over 11 slates (sign shared by 0.73 of them, z = -1.84).

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

8 of 11 slates share the sign, mean -0.32 +/- 0.17 standard error: not separable from noise

SlateGamesWinner accMean starter ERA errorMean lineup runs vs projSides broke on pitchingSides broke on offense
2026093040.7500.780.001
2026092941.000-0.76-0.503
20260928———
20260927140.643-2.16-0.0625
20260926130.5380.550.6934
20260925170.6471.130.50810
20260924120.6671.68-0.67411
20260923160.500-0.49-0.91411
20260922150.400-0.32-0.97311
2026092130.333-1.08-0.50
20260920150.600-0.89-1.00210
20260919150.7331.36-0.1087

Score distribution and margin compression

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

Predicted margins ≤2: 1 · Actual margins ≥4: 1
GamePred marginActual marginPred − actual
PHI@ATL14-3

Per-game evidence coverage

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

Every game, in depth (1)

PHI@ATLHIT

Predicted: ATL 3-4 (conf +0.03, toss_up)Actual: ATL 2-6Brier 0.233total bias -1
Root cause: Toss-up that went our way
Evidence-backed diagnosis
Quantified contributing factors

No large single-factor errors.

TeamStarterProjectedActualER err
PHIAaron Nola2 ER / 16 outs3 ER / 5 outs1
ATLRay Kerr0 ER / 14 outs0 ER / 10 outs0
Decision internals: run factors home×1.044 / away×0.994; savant lineup adjustment applied

Player-level breakdown (projected vs actual)

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

Top deviations that drove the game:

Pitcher versus batter: what actually broke this game

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

AWAY pitching

No settled pitching line for this club. The forecast named Aaron Nola (PHI) at a projected 3.38 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.

Bullpen behind him: 0 ER over 0 outs.

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

Who did the damage to him:

  • Ozzie Albies: 1-for-3, 1 HR, 2 RBI [+1.26 runs vs projection] season xwOBA 0.273, weak - a good day, not a model error
  • Michael Harris II: 1-for-3, 1 HR, 3 RBI [+0.62 runs vs projection] season xwOBA 0.342, elite - real projection error
  • Dominic Smith: 2-for-3, 0 HR, 0 RBI [+0.47 runs vs projection] season xwOBA 0.301, below average - a good day, not a model error

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

HOME pitching

Ray Kerr (ATL) threw 10 outs, 0 ER = 0 ERA against a projected 0 ERA (0 ERA error) only 9 prior appearances in the covered season - the projection had little of his own record to stand on

Bullpen behind him: 0 ER over 3 outs.

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

No individual hitter beat his projection by a meaningful margin.

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

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

PitcherTeamOutsERAERHHRBBexp BBSOexp SOContext (as-of)
ATLRay Kerr (Starter)10 / 140 / 00 / 01 / 00 / 01 / 01.362 / 50opp run factor 0.99 (average) · 9 prior appearances this season
ATLDidier Fuentes (Setup Man)3 / 40 / 00 / 00 / 10 / 00 / 10.280 / 11.45

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

BatterTeamABH2B3BHRRBIRBBSORun impactSeason xwOBASignal
Ozzie Albies (2B)ATL3 / 31 / 10 / 00 / 01 / 02 / 01 / 11 / 01 / 11.260.273 weakgood day
Drake Baldwin (C)ATL4 / 40 / 10 / 00 / 00 / 00 / 10 / 10 / 10 / 1-0.80.37 elitebad day
Michael Harris II (CF)ATL3 / 41 / 10 / 10 / 01 / 03 / 11 / 10 / 01 / 10.620.342 eliteprojection too low
Mauricio Dubón (SS)ATL4 / 40 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 0-0.470.304 average—
Dominic Smith (DH)ATL3 / 32 / 10 / 00 / 00 / 00 / 00 / 00 / 01 / 10.470.301 below average—
Mike Yastrzemski (LF)ATL4 / 30 / 10 / 00 / 00 / 00 / 00 / 00 / 02 / 1-0.470.309 average—
Ronald Acuña Jr. (RF)ATL3 / 41 / 10 / 10 / 00 / 00 / 11 / 11 / 10 / 1-0.310.366 elite—
Austin Riley (3B)ATL2 / 30 / 10 / 00 / 00 / 00 / 01 / 02 / 00 / 10.190.299 below average—
Matt Olson (1B)ATL3 / 41 / 10 / 00 / 01 / 11 / 12 / 11 / 10 / 100.351 elite—
Full model trace, player evidence, and audit findings

Fundamental evidence entering the pick

SignalHome-away edgeMeaning
Season quality0.559positive favors home; negative favors away
Recent form0.406positive favors home; negative favors away
Starting-pitcher matchup0.05positive favors home; negative favors away
Composite0.699positive favors home; negative favors away

Score and confidence evolution

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

Official postgame stage attribution

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

Largest player-level adjustments from the ultra-detailed trace

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

TeamPlayerRoleNet effectLargest change
ATLRonald Acuña Jr.batter / RFbetterpredicted_SO 2.037
ATLDrake Baldwinbatter / Cworsepredicted_AB -1.71
ATLMauricio Dubónbatter / SSworsepredicted_SO 1.513
ATLDominic Smithbatter / DHworsepredicted_SO 1.51
PHIAlec Bohmbatter / 1Bbetterpredicted_RBI 1.422
ATLMichael Harris IIbatter / CFworsepredicted_RBI 1.4
PHIBryson Stottbatter / 2Bworsepredicted_SO 1.353
PHIEdmundo Sosabatter / 3Bworsepredicted_SO 1.345

Structural audit findings

SeverityRuleFindingSubject
infoCURRENT_PITCHER_DUPLICATIONATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.ATL
infoCURRENT_PITCHER_DUPLICATIONPHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit.PHI
infoCURRENT_FINALIZED_MATCH_BOXATL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=9, sim=11; 2B: current=2, sim=3; HR: current=1, sim=2; R: current=5, sim=4; BB: current=3, sim=2; SO: current=8, sim=12; SF: current=0, sim=1).ATL
infoCURRENT_PLAYER_MATCH_BOXATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: H current=1 box=3, 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Mauricio Dubón: H current=1 box=0, SO current=0 box=2; Ronald Acuña Jr.: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Matt Olson: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Michael Harris II: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Dominic Smith: AB current=3 box=4, SO current=1 box=2; Austin Riley: AB current=3 box=4, SO current=1 box=0; Mike Yastrzemski: BB current=0 box=1ATL
infoCURRENT_FINALIZED_MATCH_BOXPHI model-prediction batting totals differ from final simulation box score (H: current=8, sim=5; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2).PHI
infoCURRENT_PLAYER_MATCH_BOXPHI current finalized hitter lines are model predictions and differ from the simulation box score: Alec Bohm: 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Bryce Harper: AB current=4 box=3, RBI current=1 box=0; Bryan De La Cruz: H current=1 box=0, BB current=0 box=1; Edmundo Sosa: AB current=3 box=4, RBI current=1 box=0, SO current=1 box=2; Kyle Schwarber: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Trea Turner: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, SO current=1 box=0; Bryson Stott: RBI current=0 box=1, BB current=1 box=0, SO current=1 box=2; J.T. Realmuto: SO current=1 box=0PHI
infoRECONCILIATION_PROPAGATIONNo score_target_reconciliation step was used for this game.

Cross-game lever tension

Each candidate fix, and exactly which games it would help versus hurt. A lever that repairs one game and breaks two is visible here before it is proposed.

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

Targets: brier_score, calibration_error · 0 helped vs 0 hurt
Would help
  • none
Would hurt / risk
  • none

player.pitcher.v4 form weights / player.pitcher_prior_games

Targets: starter_er_mae, starter_outs_mae · 0 helped vs 1 hurt
Would help
  • none
Would hurt / risk
  • PHI@ATL (hit): starter projection was accurate (ER off 1); reweight risks disturbing it

recent.* / season.* run-mean weighting

Targets: team_run_mae, total_run_mae, accuracy · 0 helped vs 0 hurt
Would help
  • none
Would hurt / risk
  • none

Day over day: did it improve or worsen

Compared against packet 20260930. 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.

MetricPriorCurrentΔResult
brier_score0.24440.2435-0.000902improved
accuracy0.58970.5877-0.002regressed
team_run_mae2.53852.5351-0.0034improved
total_run_mae3.69233.6316-0.0607improved
calibration_error0.08890.0896+0.0007regressed
starter_er_mae1.74381.7243-0.0195improved
starter_outs_mae4.09094.2103+0.1194regressed

The adjustment the system made in response

Status: skipped open rollback monitor.

Luna deep post-mortem (full)

1. Evidence receipt and gaps

Source manifest

All six listed source artifacts marked loaded were received and represented in the evidence:

  1. Prediction review — /app/output/reports/prediction_review_20261001.json, 101,990 bytes

Purpose: official outcomes and scoring errors.

  1. Forensic deep audit — /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20261001.json, 75,617 bytes

Purpose: probability, provenance, starter, and decision contracts.

  1. Continuous learning — /app/output/learning/continuous_learning_daily_20261001.json, 454,850 bytes

Purpose: pipeline-stage quality, calibration, probability lineage, score distribution, and starter comparisons.

  1. Detailed report — /app/output/reports/detailed_20261001.html, 98,628 bytes

Purpose: full game and simulation rendering.

  1. Ultra-detailed player audit — /app/output/reports/20261001_ultra_detailed_player_audit.html, 8,732,780 bytes

Purpose: player-level prediction trace.

  1. Structural audit — /app/output/reports/audit_report_20261001.html, 520,200 bytes

Purpose: invariant findings.

One manifest entry is explicitly missing:

  1. Integrity revision audit — /app/output/reports/audit_report_20261001_integrity_revision.html

Status: missing; byte count null

Purpose: post-Luna remediation proof for immutable revision artifacts.

The missing integrity-revision audit is an evidence gap and an artifact-contract limitation. It is not, by itself, evidence that the prediction artifact was corrupted.

Games and coverage

The settled game reviewed in the detailed game section is:

The payload reports:

This is internally inconsistent. The game-level record and expected_games identify one settled game, but several coverage counters claim four games. The structural audit also reports 4/1 games structurally audited in the causal issue register. Therefore:

Other gaps and contradictions

---

2. Executive diagnosis

Overall diagnosis

This was a correct-winner, materially wrong-score prediction with clean structural QA for the represented game, but with important cross-slate process risks.

The system:

A correct winner is not equivalent to a good full prediction. The score forecast was compressed and missed the actual run distribution even though the side was correct.

Separate quality dimensions

Winner accuracy

The one-game winner result was correct and beat the cited baseline, but the sample is too small to establish improved winner skill. Cross-slate winner accuracy is labelled improving, with mean 0.6479 in the trend block, but that conclusion remains subject to the metadata inconsistencies noted above.

Calibration quality

Current-slate calibration is poor as an estimate, but not evidence of overconfidence:

The rolling trend labels weighted calibration error as regressing, with mean 0.2252. The persistent finding has occurred on three consecutive slates and seven times in the 11-slate window. The appropriate diagnosis is unstable or poorly aligned confidence, not “this single game was overconfident.”

Score accuracy

Score accuracy was the principal current-slate weakness:

The causal register’s score_margin_compression finding is high severity, with evidence that one of one predictions had margin ≤2 while the actual margin was ≥4. It correctly includes the guardrail that one blowout does not justify widening every score prediction. Cross-slate evidence, however, escalates this from a single-slate observation to a three-consecutive-slate pattern.

The run model is also weak at validation level:

This supports treating exact scores as low-confidence outputs, not merely adjusting one game’s variance.

Starter accuracy

The starter picture is mixed:

Starter projection error contributed to score uncertainty, especially Nola’s short outing and three earned runs, but the evidence does not justify identifying starter weighting as the main causal defect. The lever-tension record says changing pitcher form/prior weights would have hurt this game because the starter projection was judged sufficiently accurate overall, especially for Kerr’s zero ER result.

Artifact integrity

For the represented game:

Artifact integrity is therefore good for the supplied prediction artifact, subject to the missing integrity-revision audit and the inconsistent four-game coverage metadata. The missing audit is a contract/coverage gap, not evidence of a bad forecast.

Causal issue register reconciliation

score_margin_compression — high
single_slate_calibration_instability — high
weak_run_model_signal — high
complete_slate_audit_coverage — info
simulation_inert_on_slate — info, escalated cross-slate

---

3. Every game

PHI @ ATL

Prediction and result
FieldPredictionActual
PHI runs32
ATL runs46
WinnerATLATL
MarginATL by 1ATL by 4
Total78

This is explicitly a correct-winner/wrong-score game.

Probability, confidence, and conviction
Errors
Starter lines
PHI — Aaron Nola
ATL — Ray Kerr
Edge inputs
Confidence and recency controls
Score path

Pipeline stages, all compared with the actual final score:

StageWinnerTeam-run MAETotal-run MAEMargin MAE
historical_ml1.0001.67531.04623.3506
variance_applied1.0001.50001.00003.0000
enhanced_prediction1.0001.50001.00003.0000
embedded_savant_run_environment1.0001.50001.00003.0000
fundamental_edge_target_review1.0001.50001.00003.0000
capped_target1.0001.50001.00003.0000
simulation_result1.0001.50001.00003.0000
published_final1.0001.50001.00003.0000

Variance application improved the score metrics relative to historical ML, but the resulting margin remained too narrow. No later stage changed the final score.

Player-level adjustments and deviations

Material deviations included:

Three player deviations were large enough to move the game; only one was supported by the hitter’s own season contact-quality profile. The audit therefore classifies:

Slate-level player metrics also show:

These facts support weak player/run signal, but they do not establish that every individual hitter projection should be widened.

Audit findings
Causes

---

4. Miss reconstruction

There was no losing game: misses: 0. Therefore, no loss-specific winner reconstruction is applicable. The game was a score miss, not a winner miss.

Earliest wrong-direction score evidence

For the score objective, the earliest measurable issue is the underlying score model’s narrow margin:

The score evidence moved toward the wrong result at the base score-generation stage through insufficient margin dispersion. This is best classified as:

A 0.12 home-away confidence edge would be moderate, not a near coin flip. This game’s published edge was much smaller, 0.0336, and was appropriately bucketed as a toss-up.

Pipeline-stage quality across all stages

Every listed stage must be retained in the audit:

  1. historical_ml
  2. variance_applied
  3. enhanced_prediction
  4. embedded_savant_run_environment
  5. fundamental_edge_target_review
  6. capped_target
  7. simulation_result
  8. published_final

The transition record shows:

A later unchanged or successful final outcome does not erase the CHW@HOU intermediate direction change. Conversely, it should not be attributed to PHI@ATL without the missing game record.

The simulation’s lack of change is especially important because it has persisted for 11 slates and is diagnosed as potentially using target-seeking draws that terminate too early. Its apparent inertness is not proof that the simulation mathematically had no useful information; it is evidence that the current implementation may not be generating an independent probability distribution.

---

5. Cross-game counterfactuals

The lever_tension block contains three entries.

1. score.variance_multiplier / score.variance_floor

2. player.pitcher.v4 form weights / player.pitcher_prior_games

3. recent.* / season.* run-mean weighting

Tempting one-game fixes that should not be made

  1. Do not widen every score prediction because ATL won by four. The causal register explicitly prohibits that inference.
  2. Do not reweight pitcher form or prior games because Nola underperformed. The same game’s ATL starter projection was accurate in ER terms, and the lever tension records one hurt game.
  3. Do not lower all published confidence solely because this game’s score was wrong. The winner probability was modest and the realized winner was correct; the one-game calibration result is underconfident, not overconfident.
  4. Do not tune individual hitter projections to Albies or Harris alone. Only one of three material player deviations was supported by underlying contact quality; the other two are likely noise.
  5. Do not treat zero simulation flips on one slate as proof that simulation is useless. The persistent 11-slate diagnostic does justify code inspection, not a blind parameter adjustment.
  6. Do not tune the run model through nightly variance alone. Holdout R² near zero indicates a feature/target problem that requires isolated training work.

---

6. Data and contract defects

Critical, error, warning, and informational findings

The supplied structural audit reports:

The seven informational notes are counted but not individually enumerated in the payload. Therefore, the exact seven structural-audit information titles cannot be independently listed from the supplied evidence. The payload does provide several informational/diagnostic items:

  1. Every represented settled game received structural QA.
  2. Simulation produced no winner-direction intervention.
  3. Forecast-file integrity was clean.
  4. No source-labelled market cross-check was available.
  5. The starter feed had a missing settled pitching line for Aaron Nola.
  6. Ray Kerr had thin seasonal feed history and triggered confidence shrinkage.
  7. Player-level deviations were mostly variance rather than supported learnable signal.

Items 1–3 are causal/diagnostic notes; items 4–7 are evidence limitations or game-level informational findings. They should not be assumed to be the exact seven HTML audit labels.

Prediction-model defects versus artifact/presentation defects

Prediction-model/process defects
Artifact/presentation/contract defects

These are not all prediction defects. Missing labels, inconsistent counts, and absent audit artifacts are contract/presentation defects; near-zero R², compressed margins, and inert simulation are model/process defects.

Coverage reconciliation

The slate cannot be called fully clean because:

The correct conservative interpretation is:

Complete probability lineage

For PHI@ATL, the recorded pick-side lineage is:

  1. Raw model: 0.5453 in the lineage record; 0.53 in the confidence path.
  2. Calibration: 0.5278, based on sample size 815 and empirical hit rate 0.562.
  3. Governor: input 0.53, output 0.5278.
  4. Score coherence: 0.527795.
  5. Recency/starter controls: starter-experience shrinkage to 0.523278; recency guardrail applied.
  6. Published: 0.516818.

The lineage records:

There is no recorded material bypass. The raw-probability discrepancy (0.5453 versus 0.53) is a field-consistency defect, but not an unrecorded published bypass because the subsequent transformations are documented and the final delta is explained.

---

7. Cross-slate persistence

A single slate is noise; the following patterns have explicit multi-slate escalation and must be treated as established failures or actionable patterns.

Finding streaks

FindingConsecutive-slate countPresent now?Interpretation
high_raw_probability_cluster0NoNot currently present; one occurrence in the 11-slate window.
pipeline_winner_instability0NoNot currently present; five occurrences in the window but no current streak.
score_margin_compression3YesEstablished persistent compression pattern.
simulation_inert_on_slate11YesEstablished failure, not single-slate noise.
single_slate_calibration_instability3YesEstablished persistent calibration instability.
weak_run_model_signal3YesEstablished weak run-model signal.

Escalated findings

Score-margin compression
Simulation inertness

The self-assessment identifies the likely root cause: the same draws are used both for target realization and win-probability estimation, with early exit at a default draw count of approximately two. The recommended code target is _build_simulation_distribution and the draw-loop early exits in routers/team_router.py, with an independent 200–500 draw batch or a closed-form run-difference distribution.

Calibration instability
Weak run-model signal

Metric trends

The required directions are:

These directions must be read together: winner selection is improving, while score-margin and calibration quality are regressing.

Top-confidence-pick loss streak

Other cross-slate evidence

The two explicitly held cross-slate biases should remain held:

Thus, persistent escalated findings should be acted on; the two cross_slate_bias items remain no-change findings.

---

8. Adjustments for today

Recommendations are ranked by persistence, scope, expected metric impact, affected games, and regression risk.

1. Run a bounded shadow experiment for persistent margin compression

This is the strongest actionable change for the current slate because the score-margin problem is both directly observed and persistent.

2. Apply a bounded calibration-shrinkage shadow test

3. Do not make a nightly parameter move for simulation inertness; perform the registered code diagnostic

4. Investigate the weak run model through an isolated training backtest

5. Hold pitcher-form and recent/season run-mean weights

---

9. Bottom line

Known

Uncertain

Single safest next action

Run a control-versus-shadow experiment that modestly widens score.variance_multiplier and/or score.variance_floor, while keeping the current production path unchanged and monitoring margin tail coverage, team-run MAE, total-run MAE, and calibration.

This is the safest immediate improvement because it addresses the directly observed and cross-slate-persistent margin-compression problem without reacting to the one game by changing starter weights, hitter projections, or winner probabilities.