Nightly self-improvement · slate 2026-09-12
Generated 2026-09-13T05:00:00.007133-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-12
status completed
Winners
8/15
Brier 0.2561
Learned or changed
0
of 5 stages
Blocked
0
wanted to act and could not
Release
v4.31.0
DRIFT
What each learning stage did
| Stage | Outcome | Detail |
|---|---|---|
| KPI settlement | failed | did not run |
| Bullpen usage model | nothing to learn | No pregame bullpen forecasts to settle. Refit: not attempted. |
| Adaptive parameter proposal (Luna) | nothing to learn | skipped_open_rollback_monitor: |
| Auto-apply | nothing to learn | no_promotable_candidate |
| Code agent | nothing to learn | disabled_by_config: code changes are made on the development host, never in the container. |
Games
| Game | Predicted | Actual | Home win prob | Result | Main driver | Starters |
|---|---|---|---|---|---|---|
| BAL@TOR | 3-4 | 3-7 | 0.530 | hit | Kyle Bradish: 16 proj / 9 real outs; Spencer Miles: 15 proj / 6 real outs | |
| CHW@STL | 3-4 | 6-5 | 0.591 | miss | Backed the wrong side with real conviction | Sean Newcomb: 15 proj / 4 real outs; Kyle Leahy: 15 proj / 9 real outs |
| CIN@MIL | 6-10 | 9-13 | 0.540 | hit | Brady Singer: 15 proj / 12 real outs; Shane Drohan: 15 proj / 11 real outs | |
| CLE@MIN | 6-4 | 3-4 | 0.459 | miss | Several errors of similar size | Daniel Espino: 9 proj / 6 real outs; Connor Prielipp: 15 proj / 16 real outs |
| COL@DET | 4-7 | 7-11 | 0.599 | hit | Tanner Gordon: 15 proj / 12 real outs; Andrew Sears: 12 proj / 13 real outs | |
| HOU@TB | 4-5 | 2-3 | 0.532 | hit | Peter Lambert: 16 proj / 18 real outs; Ian Seymour: 15 proj / 18 real outs | |
| KC@BOS | 4-6 | 1-5 | 0.530 | hit | Randy Dobnak: 18 proj / 17 real outs; Ranger Suarez: 16 proj / 21 real outs | |
| LAA@WAS | 4-3 | 5-6 | 0.494 | miss | Genuine toss-up that flipped | Walbert Ureña: 18 proj / 18 real outs; Andrew Alvarez: 15 proj / 21 real outs |
| LAD@MIA | 7-4 | 3-4 | 0.400 | miss | Starting-pitcher projection was wrong | Tyler Glasnow: 18 proj / 12 real outs; Tyler Phillips: 15 proj / 11 real outs |
| NYM@NYY | 5-7 | 12-2 | 0.539 | miss | Small edge on the losing side | Zac Thornton: 16 proj / 21 real outs; Gerrit Cole: 18 proj / 13 real outs |
| PHI@ATL | 4-3 | 2-12 | 0.495 | miss | Run environment far higher than projected (under-dispersed) | Tim Mayza: 15 proj / 9 real outs; Tyler Mahle: 17 proj / 21 real outs |
| PIT@CHC | 4-5 | 3-4 | 0.530 | hit | Paul Skenes: 16 proj / 21 real outs; Clay Holmes: 17 proj / 17 real outs | |
| SD@SF | 5-4 | 7-6 | 0.495 | hit | Michael King: 18 proj / 21 real outs; Cesar Perdomo: 15 proj / 14 real outs | |
| SEA@OAK | 6-5 | 19-1 | 0.475 | hit | Bryan Woo: 17 proj / 18 real outs; Gage Jump: 13 proj / 6 real outs | |
| TEX@ARI | 4-5 | 6-2 | 0.559 | miss | Starting-pitcher projection was wrong | Kumar Rocker: 14 proj / 12 real outs; Brandon Pfaadt: 19 proj / 20 real outs |
Day over day
Rolling evidence window against the prior night. Associations, not causal proof.
| Metric | Prior | Current | Change | Result |
|---|---|---|---|---|
| brier_score | 0.2421 | 0.2417 | -0.0005 | improved |
| accuracy | 0.6000 | 0.6083 | 0.0083 | improved |
| team_run_mae | 2.4417 | 2.5042 | 0.0625 | regressed |
| total_run_mae | 3.7167 | 3.8417 | 0.1250 | regressed |
| calibration_error | 0.0872 | 0.0961 | 0.0089 | regressed |
| starter_er_mae | 1.8716 | 1.8661 | -0.0055 | improved |
| starter_outs_mae | 3.1284 | 3.2134 | 0.0850 | regressed |
Calibration produced for the next slate
| Metric | Scale used | Measured | Rows | Status |
|---|---|---|---|---|
| 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.
| KPI | Status | Target | Proposed | Rows | Slates | Gain interval | Progress |
|---|---|---|---|---|---|---|---|
| luna_pitcher_release_speed_vs_righthanded_starters | shadow | SO | 20260923 | 330/400 | 5/5 | [-0.0007, 0.0007] | |
| luna_pitcher_barrel_rate_vs_rhh_righthanded_starters | shadow | HR | 20260923 | 330/400 | 5/5 | [-0.0004, 0.0049] | |
| luna_batter_contact_rate_vs_breaking_righthanded_starters | shadow | H | 20260923 | 330/400 | 5/5 | [-0.0045, 0.0044] | |
| luna_batter_contact_rate_vs_breaking_left_handed_starters_for_strikeouts | shadow | SO | 20260924 | 122/400 | 4/5 | [-0.0027, 0.0021] | |
| luna_pitcher_contact_xwoba_allowed_vs_righthanded_starters_for_strikeouts | shadow | SO | 20260924 | 122/400 | 4/5 | [-0.0001, 0.0000] | |
| luna_pitcher_whiff_rate_breaking_vs_left_handed_hitters_for_hits | shadow | H | 20260924 | 122/400 | 4/5 | [-0.0056, -0.0011] | |
| luna_pitcher_home_run_rate_vs_righthanded_starters | shadow | HR | 20260925 | 122/400 | 4/5 | [-0.0010, 0.0056] | |
| luna_batter_ground_ball_rate_vs_fastball_vs_lhp_for_home_runs | shadow | HR | 20260926 | 86/400 | 3/5 | [-0.0001, -0.0000] | |
| luna_pitcher_whiff_rate_vs_right_handed_starters_for_batter_strikeouts | shadow | SO | 20260929 | 51/400 | 2/5 | [–, –] | |
| luna_batter_whiff_rate_vs_breaking_right_handed_starters_for_hits | shadow | H | 20260929 | 51/400 | 2/5 | [–, –] | |
| luna_batter_walk_rate_vs_righthanded_pitchers_for_home_runs | retired | HR | 20260924 | 0/400 | 0/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.
| Priority | Owner | Finding | Action |
|---|---|---|---|
| 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 Six of seven manifest entries were loaded: 1. **Prediction review** — `/app/output/reports/prediction_review_20260912.json`, 377,165 bytes; official outcomes and scoring errors. 2. **Forensic deep audit** — `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260912.json`, 240,873 bytes; probability, provenance, starter, and decision contracts. 3. **Continuous learning** — `/app/output/learning/continuous_learning_daily_20260912.json`, 2,581,062 bytes; pipeline-stage quality, calibration, probability lineage, score distribution, and starter comparisons. 4. **Detailed report** — `/app/output/reports/detailed_20260912.html`, 354,592 bytes; full game and simulation rendering. 5. **Ultra-detailed player audit** — `/app/output/reports/20260912_ultra_detailed_player_audit.html`, 34,118,143 bytes; player-level prediction trace. 6. **Structural audit** — `/app/output/reports/audit_report_20260912.html`, 1,868,598 bytes; invariant findings. The following manifest item is **missing**: 7. **Integrity revision audit** — `/app/output/reports/audit_report_20260912_integrity_revision.html`; intended purpose: post-Luna remediation proof for immutable revision artifacts. This missing artifact is a receipt gap, but it is not itself evidence that the forecasts were altered. The game-level integrity audits report zero critical and error findings. ## Coverage confirmation All 15 expected games were reviewed: `BAL@TOR, CHW@STL, CIN@MIL, CL