Nightly self-improvement · slate 2026-10-05
Generated 2026-10-06T09:56:28.266269-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-10-05
status completed
Winners
0/2
Brier 0.2800
Learned or changed
2
of 13 stages
Blocked
3
wanted to act and could not
Release
v15.25.3
consistent
AuditDetailedKPI LearningKPI FailuresLuna KPI ReviewKPI ExecutiveStage SettlementDeep Slate ReviewLuna Post-mortemDaily LearningAdaptive Status
What each learning stage did
| Stage | Outcome | Detail |
|---|---|---|
| KPI settlement | nothing to learn | 2 games settled, but the KPI layer applied to 0 of 4 club totals (layer_refused 4). Forecasts made before the layer was live cannot teach it anything. |
| Hitter matchup calibration | learned | New per-metric scales for SO 0.43, BB 0.25, HR 1.75. Next slate's player effects read them. |
| KPI model refit | blocked | Wanted (weekly cadence; away_runs: settled evidence implies weight 0.35 against the model's 0.69) but not run: today's slate has already started generating. |
| KPI model rollback | nothing to learn | Kept 20261005T125039Z_f5114dc0: 0 settled club totals of its own, needs 30. |
| Bullpen usage model | nothing to learn | No pregame bullpen forecasts to settle. Refit: the next slate has started generating. |
| Luna KPI review | blocked | Luna was not asked (skipped no pregame evidence): 3176 rows were local replays and none were verified pregame forecasts. |
| Luna KPI promotion | nothing to learn | 10 candidates in shadow; none has enough prospective evidence yet (see below). |
| KPI scorecard (weekly) | learned | 40 KPIs scored on 1139 archives; measurable lift: pitcher_whiff_rate_vs_lhh. |
| KPI winner-flip gate | nothing to learn | 0/0 qualified flips over 0 slates; needs 30 flips over 10 slates with an interval above 0.5 |
| Matchup Luna policy | nothing to learn | Settlement: no_matchup_forecasts; 0 prospective games over 0 dates; decision pending. |
| Adaptive parameter proposal (Luna) | blocked | quarantined_invalid_artifact: slate quarantined from new parameter proposals until critical/error artifact findings are corrected |
| 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 |
|---|---|---|---|---|---|---|
| CHW@CLE | 4-5 | 4-3 | 0.518 | miss | Genuine toss-up that flipped | Anthony Kay: 14 proj / 1 real outs; Gavin Williams: 17 proj / 15 real outs |
| NYY@TB | 4-2 | 2-5 | 0.460 | miss | Small edge on the losing side | Cam Schlittler: 18 proj / 13 real outs; Freddy Peralta: 16 proj / 14 real outs |
Day over day
Rolling evidence window against the prior night. Associations, not causal proof.
| Metric | Prior | Current | Change | Result |
|---|---|---|---|---|
| brier_score | 0.2445 | 0.2459 | 0.0015 | regressed |
| accuracy | 0.5877 | 0.5789 | -0.0088 | regressed |
| team_run_mae | 2.5263 | 2.4956 | -0.0307 | improved |
| total_run_mae | 3.7193 | 3.6930 | -0.0263 | improved |
| calibration_error | 0.0915 | 0.0899 | -0.0016 | improved |
| starter_er_mae | 1.6947 | 1.6870 | -0.0077 | improved |
| starter_outs_mae | 4.2522 | 4.2739 | 0.0217 | regressed |
Calibration produced for the next slate
| Metric | Scale used | Measured | Rows | Status |
|---|---|---|---|---|
| H | 1.000 | 1.372 | 1662 | measured scale confirmed: the interval includes 1.0 |
| SO | 0.427 | 0.091 | 2044 | learned: the interval excludes 1.0 |
| BB | 0.250 | -0.257 | 2044 | learned: the interval excludes 1.0 |
| HR | 1.750 | 2.245 | 2044 | learned: the interval excludes 1.0 |
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 (57)
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 |
|---|---|---|---|
| medium | model | starter length biased by +1.9 outs over 239 starts | recalibrate the starter workload projection toward real outs per start |
| medium | KPI model recipe | away_x_fastball was beyond ±3 standard deviations of its training range in 7 club totals | the live feature is built differently from the training rows; align the two constructions and retrain |
| medium | KPI model recipe | home_x_fastball was beyond ±3 standard deviations of its training range in 6 club totals | the live feature is built differently from the training rows; align the two constructions and retrain |
| medium | KPI model recipe | away_x_suppress was beyond ±3 standard deviations of its training range in 8 club totals | the live feature is built differently from the training rows; align the two constructions and retrain |
| medium | KPI model recipe | away_off_power_spread was beyond ±3 standard deviations of its training range in 8 club totals | the live feature is built differently from the training rows; align the two constructions and retrain |
| medium | KPI model recipe | away_x_ground was beyond ±3 standard deviations of its training range in 6 club totals | the live feature is built differently from the training rows; align the two constructions and retrain |
| medium | KPI model recipe | away_x_breaking was beyond ±3 standard deviations of its training range in 6 club totals | the live feature is built differently from the training rows; align the two constructions and retrain |
| medium | KPI recipe | pitcher_strikeout_rate (elite) on SO: adjustments made SO worse over 226 hitter-games in 12 days, mean gain -0.0401, interval (-0.06725, -0.01307) | review this KPI's weight in the matchup multiplier; it is an operator change to the recipe |
| medium | KPI recipe | pitcher_home_run_rate_allowed (poor) on HR: adjustments made HR worse over 259 hitter-games in 12 days, mean gain -0.0142, interval (-0.01776, -0.01148) | review this KPI's weight in the matchup multiplier; it is an operator change to the recipe |
| medium | KPI recipe | pitcher_walk_rate (weak) on BB: adjustments made BB worse over 162 hitter-games in 7 days, mean gain -0.0106, interval (-0.01953, -0.00226) | review this KPI's weight in the matchup multiplier; it is an operator change to the recipe |
| medium | KPI recipe | batter_strikeout_rate (average) on SO: adjustments made SO worse over 1032 hitter-games in 14 days, mean gain -0.0101, interval (-0.01746, -0.00353) | review this KPI's weight in the matchup multiplier; it is an operator change to the recipe |
| medium | KPI recipe | pitcher_home_run_rate_allowed (weak) on HR: adjustments made HR worse over 331 hitter-games in 9 days, mean gain -0.0049, interval (-0.00669, -0.00313) | review this KPI's weight in the matchup multiplier; it is an operator change to the recipe |
| medium | KPI recipe | pitcher_strikeout_rate (average) on SO: adjustments made SO worse over 910 hitter-games in 14 days, mean gain -0.0038, interval (-0.00645, -0.00097) | review this KPI's weight in the matchup multiplier; it is an operator change to the recipe |
| medium | KPI recipe | pitcher_walk_rate (average) on BB: adjustments made BB worse over 957 hitter-games in 14 days, mean gain -0.0009, interval (-0.00174, -0.0002) | review this KPI's weight in the matchup multiplier; it is an operator change to the recipe |
| medium | KPI model | ATL: KPI blend worse than the baseline over 12 games (MAE 2.462 vs 2.455, bias +0.299) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | BAL: KPI blend worse than the baseline over 6 games (MAE 2.227 vs 2.2, bias -0.397) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | BOS: KPI blend worse than the baseline over 8 games (MAE 2.185 vs 1.714, bias +2.185) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | DET: KPI blend worse than the baseline over 6 games (MAE 2.099 vs 2.0, bias +0.464) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | HOU: KPI blend worse than the baseline over 9 games (MAE 2.902 vs 1.875, bias -2.073) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | LAD: KPI blend worse than the baseline over 11 games (MAE 2.776 vs 2.3, bias +1.513) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | MIA: KPI blend worse than the baseline over 9 games (MAE 1.74 vs 1.5, bias +0.134) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | ARI: KPI blend worse than the baseline over 9 games (MAE 3.175 vs 3.125, bias -1.975) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | WAS: KPI blend worse than the baseline over 7 games (MAE 2.081 vs 2.0, bias -0.588) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | COL: KPI blend worse than the baseline over 8 games (MAE 3.165 vs 2.857, bias +0.775) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | SF: KPI blend worse than the baseline over 9 games (MAE 1.861 vs 1.75, bias +1.054) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI model | STL: KPI blend worse than the baseline over 8 games (MAE 1.834 vs 1.571, bias +0.569) | check the wrong-way features listed for this club and its data coverage |
| medium | KPI recipe | pitcher_home_run_rate_allowed on HR (pitcher): harm survives leaving 1 worst players out, gain -0.0124, interval (-0.01547, -0.01038) | the KPI itself misleads; Luna replacement candidates are scored in shadow |
| medium | KPI recipe | batter_strikeout_rate on SO (batter): harm survives leaving 3 worst players out, gain -0.0117, interval (-0.02087, -0.00364) | the KPI itself misleads; Luna replacement candidates are scored in shadow |
| medium | KPI recipe | batter_strikeout_rate on SO (batter): harm survives leaving 3 worst players out, gain -0.0074, interval (-0.01356, -0.00136) | the KPI itself misleads; Luna replacement candidates are scored in shadow |
| medium | KPI recipe | pitcher_home_run_rate_allowed on HR (pitcher): harm survives leaving 2 worst players out, gain -0.0037, interval (-0.00539, -0.00188) | the KPI itself misleads; Luna replacement candidates are scored in shadow |
| low | KPI model recipe | home_platoon_barrel pushed the KPI forecast away from the result in 68% of 62 scored club totals, net -8.3 runs | candidate for removal or rework in the next kpi_model version |
| low | KPI model recipe | away_off_discipline pushed the KPI forecast away from the result in 68% of 57 scored club totals, net -7.3 runs | candidate for removal or rework in the next kpi_model version |
| low | KPI readings | Rafael Flores Jr. (PIT): KPI adjustments hurt SO (gain -0.79 over 6 games, bias +0.57), BB (gain -0.01 over 6 games, bias -0.02) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Yuki Matsui (SD): KPI adjustments hurt BB (gain -0.72 over 7 games, bias +0.57), HR (gain -0.01 over 7 games, bias +0.16), H (gain -0.12 over 6 games, bias +0.44) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Jeremiah Jackson (BAL): KPI adjustments hurt SO (gain -0.69 over 6 games, bias -0.42) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Mike Trout (LAA): KPI adjustments hurt SO (gain -0.60 over 8 games, bias +0.35), BB (gain -0.31 over 8 games, bias -0.56), HR (gain -0.03 over 8 games, bias +0.04) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Shay Whitcomb (SF): KPI adjustments hurt SO (gain -0.57 over 6 games, bias +0.19) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Trea Turner (PHI): KPI adjustments hurt SO (gain -0.56 over 9 games, bias +0.38) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Jonny DeLuca (TB): KPI adjustments hurt SO (gain -0.55 over 6 games, bias +0.06) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Coby Mayo (BAL): KPI adjustments hurt SO (gain -0.55 over 6 games, bias +0.26), BB (gain -0.02 over 6 games, bias -0.16), H (gain -0.13 over 5 games, bias -0.20) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Calvin Faucher (MIA): KPI adjustments hurt BB (gain -0.54 over 5 games, bias +0.48), HR (gain -0.01 over 5 games, bias +0.02) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Cade Smith (CLE): KPI adjustments hurt SO (gain -0.53 over 5 games, bias +0.82), HR (gain -0.03 over 5 games, bias +0.08) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Kyle Schwarber (PHI): KPI adjustments hurt SO (gain -0.52 over 9 games, bias +0.93), BB (gain -0.05 over 9 games, bias -0.26) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Ty France (SD): KPI adjustments hurt SO (gain -0.52 over 11 games, bias +0.14) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Jordan Walker (STL): KPI adjustments hurt SO (gain -0.51 over 8 games, bias -0.22) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Christian Walker (HOU): KPI adjustments hurt SO (gain -0.46 over 9 games, bias +0.32) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Erik Sabrowski (CLE): KPI adjustments hurt SO (gain -0.45 over 5 games, bias -0.04), HR (gain -0.05 over 5 games, bias +0.12) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Christian Moore (LAA): KPI adjustments hurt SO (gain -0.45 over 8 games, bias +0.09), HR (gain -0.03 over 8 games, bias -0.02) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Ryan O'Hearn (PIT): KPI adjustments hurt SO (gain -0.44 over 7 games, bias -0.23), BB (gain -0.02 over 7 games, bias -0.02), H (gain -0.01 over 5 games, bias -0.23) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Drake Baldwin (ATL): KPI adjustments hurt SO (gain -0.43 over 11 games, bias +0.44) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Tim Tawa (ARI): KPI adjustments hurt H (gain -0.42 over 7 games, bias +0.10) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Vaughn Grissom (LAA): KPI adjustments hurt SO (gain -0.41 over 9 games, bias +0.52), HR (gain -0.04 over 9 games, bias -0.07) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Ketel Marte (ARI): KPI adjustments hurt H (gain -0.41 over 7 games, bias +0.05) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Ozzie Albies (ATL): KPI adjustments hurt SO (gain -0.40 over 12 games, bias -0.26), BB (gain -0.15 over 12 games, bias -0.03) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Colson Montgomery (CHW): KPI adjustments hurt H (gain -0.28 over 6 games, bias +0.64), SO (gain -0.40 over 6 games, bias -0.66) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Trevor Megill (MIL): KPI adjustments hurt SO (gain -0.40 over 5 games, bias +1.21), BB (gain -0.04 over 5 games, bias +0.46) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Trevor Story (BOS): KPI adjustments hurt SO (gain -0.39 over 5 games, bias +0.13) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
Luna post-mortem
Luna (gpt-6-luna) post-mortem, status received. Full analysis.
## 1. Evidence receipt and gaps **Slate reviewed:** 2026-10-05. The diagnosis reports **2 games reviewed**, and both are represented in the game-level evidence: CHW@CLE and NYY@TB. **Source manifest — every entry accounted for:** | Source | Status | Stated purpose | Receipt note | |---|---|---|---| | `prediction review` — `/app/output/reports/prediction_review_20261005.json` | Loaded; 53,717 bytes | Official outcomes and scoring errors | Present in manifest. | | `forensic deep audit` — `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20261005.json` | Loaded; 45,957 bytes | Probability, provenance, starter and decision contracts | Present in manifest. | | `continuous learning` — `/app/output/learning/continuous_learning_daily_20261005.json` | Loaded; 347,038 bytes | Pipeline-stage quality, calibration, probability lineage, score distribution, official starter comparisons | Present in manifest. | | `detailed report` — `/app/output/reports/detailed_20261005.html` | Loaded; 57,457 bytes | Full game and simulation rendering | Present in manifest. | | `ultra detailed player audit` — `/app/output/reports/20261005_ultra_detailed_player_audit.html` | Loaded; 4,406,303 bytes | Player-level prediction trace | Present in manifest. | | `structural audit` — `/app/output/reports/audit_report_20261005.html` | Loaded; 253,323 bytes | All invariant findings | Present in manifest. | | `integrity revision audit` — `/app/output/reports/audit_report_20261005_integrity_revision.html` | **Missin