Nightly self-improvement · slate 2026-09-30
Generated 2026-10-01T05:00:00.006512-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-30
status completed
Winners
3/4
Brier 0.2387
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 |
|---|---|---|---|---|---|---|
| BOS@NYY | 3-4 | 2-9 | 0.540 | hit | Sonny Gray: 18 proj / 14 real outs; Max Fried: 18 proj / 18 real outs | |
| CHC@SD | 4-5 | 1-4 | 0.515 | hit | Kevin Gausman: 17 proj / 10 real outs; Nick Pivetta: 15 proj / 10 real outs | |
| CHW@HOU | 6-5 | 7-3 | 0.495 | hit | Sean Burke: 15 proj / 12 real outs; Hunter Brown: 17 proj / 2 real outs | |
| PHI@ATL | 3-4 | 4-3 | 0.513 | miss | Genuine toss-up that flipped | Cristopher Sánchez: 19 proj / 20 real outs; Tyler Mahle: 18 proj / 21 real outs |
Day over day
Rolling evidence window against the prior night. Associations, not causal proof.
| Metric | Prior | Current | Change | Result |
|---|---|---|---|---|
| brier_score | 0.2457 | 0.2444 | -0.0013 | improved |
| accuracy | 0.5897 | 0.5897 | 0.0000 | flat |
| team_run_mae | 2.5726 | 2.5385 | -0.0341 | improved |
| total_run_mae | 3.7436 | 3.6923 | -0.0513 | improved |
| calibration_error | 0.0985 | 0.0889 | -0.0096 | improved |
| starter_er_mae | 1.7735 | 1.7438 | -0.0297 | improved |
| starter_outs_mae | 4.0684 | 4.0909 | 0.0225 | 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 ## Source manifest All seven manifest entries were reviewed: | Source | Status | Purpose | Assessment | |---|---:|---|---| | `prediction_review_20260930.json` | Loaded | Official outcomes and scoring errors | Received | | `PREDICTION_SYSTEM_DEEP_AUDIT_20260930.json` | Loaded | Probability, provenance, starter, and decision contracts | Received | | `continuous_learning_daily_20260930.json` | Loaded | Stage quality, calibration, probability lineage, score distribution, starter comparisons | Received | | `detailed_20260930.html` | Loaded | Full game and simulation rendering | Received | | `20260930_ultra_detailed_player_audit.html` | Loaded | Player-level prediction trace | Received | | `audit_report_20260930.html` | Loaded | Invariant findings | Received | | `audit_report_20260930_integrity_revision.html` | **Missing** | Post-Luna remediation proof for immutable revision artifacts | **Gap** | The missing integrity-revision audit is an artifact-verification gap, not evidence that the prediction artifacts themselves were corrupted. The game-level forecast files were reported clean, and all four structural audits passed. ## Games reviewed All four expected and settled games were reviewed: 1. BOS @ NYY 2. CHC @ SD 3. CHW @ HOU 4. PHI @ ATL Coverage reconciles as follows: - Expected games: 4 - Canonical artifacts loaded: 4 - Continuous-learning games: 4 - Forensic deep-audit games: 4 - Structural audits completed: 4 - Games with starter compar