Nightly self-improvement · slate 2026-09-21

Generated 2026-09-22T05:00:00.006806-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-21
status completed
Winners
1/3
Brier 0.2643
Learned or changed
0
of 5 stages
Blocked
1
wanted to act and could not
Release
v4.31.0
DRIFT
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)blockedquarantined_invalid_artifact: slate quarantined from new parameter proposals until critical/error artifact findings are corrected
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
MIN@SF5-42-50.432missStarting-pitcher projection was wrongZebby Matthews: 17 proj / 15 real outs; Blade Tidwell: 16 proj / 10 real outs
TOR@BAL5-43-40.495missGenuine toss-up that flippedTrey Yesavage: 15 proj / 6 real outs; Shane Baz: 17 proj / 20 real outs
WAS@DET4-52-90.536hitDJ Herz: 7 proj / 12 real outs; River Ryan: 2 proj / 9 real outs

Day over day

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

MetricPriorCurrentChangeResult
brier_score0.23930.24090.0016regressed
accuracy0.60000.5833-0.0167regressed
team_run_mae2.50422.4917-0.0125improved
total_run_mae3.35833.2833-0.0750improved
calibration_error0.08850.08870.0002regressed
starter_er_mae1.68551.69690.0114regressed
starter_outs_mae3.48393.52760.0437regressed

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 manifest entries were checked against the supplied evidence:

| Source | Status | Purpose |
|---|---:|---|
| `prediction review` — `/app/output/reports/prediction_review_20260921.json` | Loaded, 79,110 bytes | Official outcomes and scoring errors |
| `forensic deep audit` — `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260921.json` | Loaded, 60,154 bytes | Probability, provenance, starter, and decision contracts |
| `continuous learning` — `/app/output/learning/continuous_learning_daily_20260921.json` | Loaded, 473,280 bytes | Stage quality, calibration, lineage, score distribution, and starter comparisons |
| `detailed report` — `/app/output/reports/detailed_20260921.html` | Loaded, 76,436 bytes | Full game and simulation rendering |
| `ultra detailed player audit` — `/app/output/reports/20260921_ultra_detailed_player_audit.html` | Loaded, 6,405,727 bytes | Player-level prediction trace |
| `structural audit` — `/app/output/reports/audit_report_20260921.html` | Loaded, 362,566 bytes | Invariant findings |
| `integrity revision audit` — `/app/output/reports/audit_report_20260921_integrity_revision.html` | **Missing** | Post-Luna remediation proof for immutable revision artifacts |

The missing integrity-revision audit is a material evidence gap for remediation verification. It does not prevent review of the game outcomes or the supplied structural findings, but it prevents confirming that a corrected immutable art