Nightly self-improvement · slate 2026-10-08
Generated 2026-10-09T05:00:00.005735-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-08
status completed
Winners
1/1
Brier 0.2450
Learned or changed
3
of 12 stages
Blocked
1
wanted to act and could not
Release
v15.28.3
consistent
AuditDetailedKPI LearningKPI FailuresLuna KPI ReviewKPI ExecutiveOdds ImpactOdds IntelligenceDeep Slate ReviewLuna Post-mortemDaily LearningAdaptive Status
What each learning stage did
| Stage | Outcome | Detail |
|---|---|---|
| KPI settlement | learned | 2 club totals scored stage by stage; layer moved toward the result on 0 of 2. |
| Hitter matchup calibration | learned | New per-metric scales for SO 0.45, BB 0.25, HR 1.75. Next slate's player effects read them. |
| KPI model refit | changed | New model 20261008T091425Z_3ccbc4c8. |
| KPI model rollback | nothing to learn | Kept 20261008T091425Z_3ccbc4c8: 2 settled club totals of its own, needs 30. |
| Bullpen usage model | nothing to learn | 2 club-games settled, recall 0.77. Refit: challenger did not beat the current model. |
| 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 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: complete; 0 prospective games over 0 dates; decision pending. |
| 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 |
|---|---|---|---|---|---|---|
| CLE@CHW | 5-4 | 9-5 | 0.495 | hit | Parker Messick: 15 proj / 7 real outs; Hagen Smith: 8 proj / 2 real outs |
Day over day
Rolling evidence window against the prior night. Associations, not causal proof.
| Metric | Prior | Current | Change | Result |
|---|---|---|---|---|
| brier_score | 0.2461 | 0.2453 | -0.0008 | improved |
| accuracy | 0.5965 | 0.6106 | 0.0141 | improved |
| team_run_mae | 2.3860 | 2.3982 | 0.0122 | regressed |
| total_run_mae | 3.5614 | 3.5929 | 0.0315 | regressed |
| calibration_error | 0.1090 | 0.1238 | 0.0148 | regressed |
| starter_er_mae | 1.6736 | 1.6402 | -0.0334 | improved |
| starter_outs_mae | 4.2066 | 4.2383 | 0.0317 | 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.449 | 0.085 | 1818 | learned: the interval excludes 1.0 |
| BB | 0.250 | -0.260 | 1818 | learned: the interval excludes 1.0 |
| HR | 1.750 | 2.361 | 1818 | 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.0003, 0.0001] | |
| luna_pitcher_barrel_rate_vs_rhh_righthanded_starters | shadow | HR | 20260923 | 330/400 | 5/5 | [-0.0005, 0.0058] | |
| 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.0030, 0.0022] | |
| luna_pitcher_contact_xwoba_allowed_vs_righthanded_starters_for_strikeouts | shadow | SO | 20260924 | 122/400 | 4/5 | [-0.0000, 0.0001] | |
| 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.0015, 0.0079] | |
| 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 (51)
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 +2.1 outs over 210 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 210 hitter-games in 11 days, mean gain -0.0347, interval (-0.05984, -0.00582) | 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 234 hitter-games in 11 days, mean gain -0.0148, interval (-0.01867, -0.01212) | 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 922 hitter-games in 13 days, mean gain -0.0095, interval (-0.01697, -0.00262) | 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 271 hitter-games in 8 days, mean gain -0.0054, interval (-0.0069, -0.00353) | 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 822 hitter-games in 13 days, mean gain -0.0032, interval (-0.00605, -1e-05) | 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 880 hitter-games in 13 days, mean gain -0.0007, interval (-0.00159, -3e-05) | 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 11 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 | HOU: KPI blend worse than the baseline over 8 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 | MIA: KPI blend worse than the baseline over 8 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 8 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 | COL: KPI blend worse than the baseline over 7 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 8 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 | LAD: KPI blend worse than the baseline over 10 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 | WAS: KPI blend worse than the baseline over 6 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 | STL: KPI blend worse than the baseline over 7 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 model | BOS: KPI blend worse than the baseline over 7 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 recipe | pitcher_home_run_rate_allowed on HR (pitcher): harm survives leaving 1 worst players out, gain -0.0130, interval (-0.01672, -0.011) | the KPI itself misleads; Luna replacement candidates are scored in shadow |
| low | KPI model recipe | away_off_discipline pushed the KPI forecast away from the result in 69% of 61 scored club totals, net -8.1 runs | candidate for removal or rework in the next kpi_model version |
| low | KPI model recipe | home_platoon_barrel pushed the KPI forecast away from the result in 62% of 69 scored club totals, net -5.8 runs | candidate for removal or rework in the next kpi_model version |
| 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 5 games, bias -0.29) | 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.61 over 8 games, bias +0.34) | 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.58 over 8 games, bias +0.91), BB (gain -0.17 over 8 games, bias -0.25) | 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 | 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 H (gain -0.13 over 5 games, bias -0.20), SO (gain -0.55 over 5 games, bias +0.20), BB (gain -0.05 over 5 games, bias -0.27) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Manny Machado (SD): KPI adjustments hurt SO (gain -0.53 over 11 games, bias +0.14), H (gain -0.13 over 10 games, bias -0.10) | 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 | George Lombard Jr. (NYY): KPI adjustments hurt SO (gain -0.48 over 8 games, bias -0.02), H (gain -0.17 over 7 games, bias -0.40) | 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.48 over 7 games, bias -0.20) | 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.42 over 8 games, bias +0.52) | 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 | Mike Trout (LAA): KPI adjustments hurt SO (gain -0.42 over 7 games, bias +0.34), BB (gain -0.25 over 7 games, bias -0.55), HR (gain -0.01 over 7 games, bias +0.03) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Jac Caglianone (KC): KPI adjustments hurt SO (gain -0.41 over 6 games, bias +0.40), H (gain -0.13 over 5 games, bias -0.91) | 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 | 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 | Yandy Díaz (TB): KPI adjustments hurt H (gain -0.21 over 5 games, bias -0.52), SO (gain -0.38 over 5 games, bias +0.88) | 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.36 over 11 games, bias -0.34), BB (gain -0.19 over 11 games, bias -0.06) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Cam Smith (HOU): KPI adjustments hurt SO (gain -0.35 over 8 games, bias -0.16), HR (gain -0.04 over 8 games, bias +0.06), H (gain -0.08 over 7 games, bias +0.05) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Anthony Volpe (NYY): KPI adjustments hurt SO (gain -0.34 over 6 games, bias +0.14), H (gain -0.02 over 5 games, bias -0.17) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Bryce Harper (PHI): KPI adjustments hurt SO (gain -0.33 over 8 games, bias +0.05) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Kyle Isbel (KC): KPI adjustments hurt SO (gain -0.33 over 5 games, bias -0.24) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Adrian Morejon (SD): KPI adjustments hurt SO (gain -0.32 over 5 games, bias +0.83), HR (gain -0.03 over 5 games, bias -0.09) | his KPI reading or its opponent pairing misleads; watch whether it persists before any change |
| low | KPI readings | Luke Keaschall (MIN): KPI adjustments hurt SO (gain -0.31 over 7 games, bias +0.31) | 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 **All seven `source_manifest` entries are present and marked `loaded`:** | Source | Bytes | Purpose | |---|---:|---| | prediction review — `/app/output/reports/prediction_review_20261008.json` | 17,218 | Official outcomes and scoring errors | | forensic deep audit — `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20261008.json` | 45,923 | Probability, provenance, starter and decision contracts | | continuous learning — `/app/output/learning/continuous_learning_daily_20261008.json` | 245,469 | Pipeline stages, calibration, probability lineage, score distribution and starter comparisons | | detailed report — `/app/output/reports/detailed_20261008.html` | 58,372 | Game and simulation rendering | | ultra detailed player audit — `/app/output/reports/20261008_ultra_detailed_player_audit.html` | 3,404,020 | Player-level prediction trace | | structural audit — `/app/output/reports/audit_report_20261008.html` | 244,042 | Invariant findings | | integrity revision audit — `/app/output/reports/audit_report_20261008_integrity_revision.html` | 126,889 | Structural audit of post-start revisions | **Game-level review:** one game is supplied in `games[]`: **CLE@CHW**. Its official result is CLE 9, CHW 5. The game record says `games_reviewed: 1`, `hits: 1`, `misses: 0`; the continuous-learning summary says one settled game, also one hit and zero misses. Thus the available game-level result is internally consistent. **Coverage-count contradiction:** the sam