Nightly self-improvement · slate 2026-09-03

Generated 2026-09-04T02:00:00.004140-04:00 ET from official finals (mlb-api). Every learning stage is listed with what it did. "Blocked" means it wanted to act and a safety rule stopped it; "nothing to learn" means it had no eligible evidence.

Slate
2026-09-03
status completed
Winners
5/9
Brier 0.2598
Learned or changed
0
of 5 stages
Blocked
0
wanted to act and could not
Release
v4.17.0
consistent
AuditDetailedDeep Slate ReviewLuna Post-mortemDaily LearningAdaptive Status

What each learning stage did

StageOutcomeDetail
KPI settlementfaileddid not run
Bullpen usage modelnothing to learnNo pregame bullpen forecasts to settle. Refit: not attempted.
Adaptive parameter proposal (Luna)nothing to learncandidate_registered:
Auto-applynothing to learnno_promotable_candidate
Code agentnothing to learndisabled_by_config: code changes are made on the development host, never in the container.

Games

GamePredictedActualHome win probResultMain driverStarters
BOS@BAL5-46-50.470hitJake Bennett: 17 proj / 18 real outs; Brandon Young: 17 proj / 20 real outs
CHW@HOU4-52-60.559hitLuis Castillo: 14 proj / 12 real outs; Hunter Brown: 17 proj / 18 real outs
MIA@KC5-43-70.452missSmall edge on the losing sideSandy Alcantara: 19 proj / 18 real outs; Michael Wacha: 19 proj / 18 real outs
MIL@CHC7-61-20.466missStarting-pitcher projection was wrongLogan Henderson: 18 proj / 21 real outs; Kevin Gausman: 17 proj / 21 real outs
OAK@SEA4-67-40.637missBacked the wrong side with real convictionJack Perkins: 12 proj / 9 real outs; Kade Anderson: 13 proj / 15 real outs
SF@PIT5-62-50.530hitBlade Tidwell: 15 proj / 15 real outs; Lake Bachar: 15 proj / 7 real outs
STL@LAD4-52-30.530hitQuinn Mathews: 14 proj / 15 real outs; Tarik Skubal: 18 proj / 17 real outs
TB@TEX5-40-60.466missSmall edge on the losing sideShane McClanahan: 16 proj / 15 real outs; Cal Quantrill: 17 proj / 21 real outs
TOR@CLE4-36-30.453hitJosé Soriano: 18 proj / 14 real outs; Tanner Bibee: 18 proj / 12 real outs

Day over day

Rolling evidence window against the prior night. Associations, not causal proof.

MetricPriorCurrentChangeResult
brier_score0.25350.2520-0.0015improved
accuracy0.52500.55000.0250improved
team_run_mae2.75422.76670.0125regressed
total_run_mae3.87503.8500-0.0250improved
calibration_error0.10090.0989-0.0020improved
starter_er_mae1.94631.9192-0.0271improved
starter_outs_mae3.05373.0192-0.0345improved

Calibration produced for the next slate

MetricScale usedMeasuredRowsStatus
No calibration produced.

Luna KPI candidates and their promotion gate

Promotion needs 400+ prospective rows over 5+ slates after the proposal, with a gain interval above zero. Only verified pregame forecasts count; local replays never do.

KPIStatusTargetProposedRowsSlatesGain intervalProgress
luna_pitcher_release_speed_vs_righthanded_startersshadowSO20260923330/4005/5[-0.0007, 0.0007]
luna_pitcher_barrel_rate_vs_rhh_righthanded_startersshadowHR20260923330/4005/5[-0.0004, 0.0049]
luna_batter_contact_rate_vs_breaking_righthanded_startersshadowH20260923330/4005/5[-0.0045, 0.0044]
luna_batter_contact_rate_vs_breaking_left_handed_starters_for_strikeoutsshadowSO20260924122/4004/5[-0.0027, 0.0021]
luna_pitcher_contact_xwoba_allowed_vs_righthanded_starters_for_strikeoutsshadowSO20260924122/4004/5[-0.0001, 0.0000]
luna_pitcher_whiff_rate_breaking_vs_left_handed_hitters_for_hitsshadowH20260924122/4004/5[-0.0056, -0.0011]
luna_pitcher_home_run_rate_vs_righthanded_startersshadowHR20260925122/4004/5[-0.0010, 0.0056]
luna_batter_ground_ball_rate_vs_fastball_vs_lhp_for_home_runsshadowHR2026092686/4003/5[-0.0001, -0.0000]
luna_pitcher_whiff_rate_vs_right_handed_starters_for_batter_strikeoutsshadowSO2026092951/4002/5[–, –]
luna_batter_whiff_rate_vs_breaking_right_handed_starters_for_hitsshadowH2026092951/4002/5[–, –]
luna_batter_walk_rate_vs_righthanded_pitchers_for_home_runsretiredHR202609240/4000/5[–, –]

Operator actions the cycle asked for (0)

Changes to code or a model recipe are never made by the nightly cycle. These are the measured findings that need one.

PriorityOwnerFindingAction
No operator actions requested.

Luna post-mortem

Luna (gpt-5.6-luna) post-mortem, status received. Full analysis.

# 1. Evidence receipt and gaps

## Sources received

All six available source-manifest artifacts were marked loaded:

1. **Prediction review** — `/app/output/reports/prediction_review_20260903.json`, 225,604 bytes; official outcomes and scoring errors.
2. **Forensic deep audit** — `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260903.json`, 151,096 bytes; probability, provenance, starter, and decision contracts.
3. **Continuous learning** — `/app/output/learning/continuous_learning_daily_20260903.json`, 1,175,839 bytes; pipeline-stage quality, calibration, probability lineage, score distributions, and official starter comparisons.
4. **Detailed report** — `/app/output/reports/detailed_20260903.html`, 215,805 bytes; game and simulation rendering.
5. **Ultra-detailed player audit** — `/app/output/reports/20260903_ultra_detailed_player_audit.html`, 18,544,069 bytes; player-level prediction trace.
6. **Structural audit** — `/app/output/reports/audit_report_20260903.html`, 1,125,883 bytes; invariant findings.

One manifest entry was missing:

- **Integrity revision audit** — `/app/output/reports/audit_report_20260903_integrity_revision.html`; intended to provide post-remediation proof for immutable revision artifacts. Bytes were null and status was `missing`.

That missing artifact is a receipt gap. It does not establish that the predictions were wrong, but it prevents a complete independent verification of revision immutability and post-Luna remediation claims.

## Slate cov