{
 "meta": {
  "model_version": "v0.5",
  "run_date": "2026-07-10",
  "checkpoint_date": "2026-10-08",
  "report_type": "90-day calibration checkpoint",
  "window": "2026-07-10 to 2026-10-08",
  "description": "Largest cohort to date. Sixty-five players scored on July 10, all resolved as binary outcomes when the window closed October 8. This checkpoint takes the published record to 107 graded outcomes and clears the 50-outcome training gate set for v1.0.",
  "data_fidelity_note": "One row (Harry Ford) was mis-scored at run date. Ford had already appeared in eight major league games for Seattle in September 2025 and was optioned to Triple-A Rochester to start 2026, so he was not a first-call-up candidate. The row is graded as written, because closed runs are never edited. Prior major league service is not currently a model feature; adding it is the first v0.6 candidate.",
  "window_note": "The 2026 regular season ended September 27. A 90-day window opened July 10 therefore contained about 79 days of actual baseball, not 90. Every future cohort locked after mid-July has the same compression and the methodology does not currently account for it."
 },
 "headline_metrics": {
  "scored_players": 65,
  "resolved_1": 6,
  "resolved_0": 59,
  "observed_base_rate": 0.0923,
  "mean_prediction": 0.1862,
  "brier_score": 0.0746,
  "naive_constant_brier": 0.0838,
  "beat_naive": true,
  "skill_vs_naive_pct": 11.0,
  "auc": 0.874,
  "calibration_gap_pts": 9.3,
  "brier_note": "The model beat a constant prediction of the observed base rate for the first time in three checkpoints. The bucket ordering was also monotonic for the first time since June. Both of those are real results. The section below explains why neither one means the model is working."
 },
 "calibration_buckets": [
  {
   "bucket": "45%+",
   "n": 1,
   "predicted_avg_pct": 45.0,
   "observed_rate_pct": 100.0,
   "hits": 1,
   "verdict": "One player, Angel Genao, debuted August 5. A single row proves nothing either way."
  },
  {
   "bucket": "30-44%",
   "n": 6,
   "predicted_avg_pct": 35.5,
   "observed_rate_pct": 33.3,
   "hits": 2,
   "verdict": "The best-calibrated band in the cohort. Predicted 35.5 percent, observed 33.3 percent."
  },
  {
   "bucket": "20-29%",
   "n": 21,
   "predicted_avg_pct": 23.1,
   "observed_rate_pct": 14.3,
   "hits": 3,
   "verdict": "Overpredicted by nine points. All three hits were Triple-A players."
  },
  {
   "bucket": "<20%",
   "n": 37,
   "predicted_avg_pct": 12.5,
   "observed_rate_pct": 0.0,
   "hits": 0,
   "verdict": "Zero of thirty-seven. The model expected about 4.6 call-ups from this band and got none. Every player in it was below Triple-A."
  }
 ],
 "key_finding": "All six call-ups came from Triple-A. Six of eleven Triple-A players were promoted, 54.5 percent. Zero of the other fifty-four players at Double-A and below were promoted, across nineteen Double-A, twenty-three High-A, eight Single-A and four complex-level rows. A one-feature model that knows only whether a player is at Triple-A scores a Brier of 0.0420 on this cohort against the thirteen-feature model's 0.0746. The simple model is 44 percent better. Worse, inside Triple-A, where call-ups actually happen, the model's ranking carries no information: across all eighteen Triple-A predictions v0.5 has made, the top half of our own ranking went five for nine and the bottom half also went five for nine, and the within-Triple-A AUC is 0.433 on this cohort and 0.356 across both v0.5 cohorts, both below the 0.500 of a coin flip. The headline AUC of 0.874 is produced entirely by the model sorting Triple-A players above teenagers in the complex leagues, which requires no model.",
 "honest_summary": "This checkpoint passes the test we set and fails the test that matters. v0.5 beat the naive baseline by 11 percent, restored monotonic bucket ordering, and posted its best Brier score ever at 0.0746. All of that is an artifact of cohort composition: fifty-seven of sixty-five players were below Triple-A, where nobody gets called up, so predicting low for them was free. The thirteen features, four multipliers and refit probability mapping add nothing over a single binary check of whether a player is one level away, and subtract value among the only players in real contention.",
 "level_breakdown": [
  {
   "level": "AAA",
   "n": 11,
   "called_up": 6,
   "rate_pct": 54.5,
   "model_avg_predicted_pct": 32.5
  },
  {
   "level": "AA",
   "n": 19,
   "called_up": 0,
   "rate_pct": 0.0,
   "model_avg_predicted_pct": 21.3
  },
  {
   "level": "A+",
   "n": 23,
   "called_up": 0,
   "rate_pct": 0.0,
   "model_avg_predicted_pct": 13.0
  },
  {
   "level": "A",
   "n": 8,
   "called_up": 0,
   "rate_pct": 0.0,
   "model_avg_predicted_pct": 12.0
  },
  {
   "level": "ROK",
   "n": 4,
   "called_up": 0,
   "rate_pct": 0.0,
   "model_avg_predicted_pct": 12.0
  }
 ],
 "benchmarks": {
  "mkdc_v05_brier": 0.0746,
  "level_only_brier": 0.042,
  "naive_constant_brier": 0.0838,
  "level_only_definition": "Predict 54.5 percent for every Triple-A player and 0.0 percent for everyone else, using this cohort's own observed rates.",
  "note": "The level-only figure is fit on the same data it is scored against, so it flatters itself. It is a ceiling, not a fair out-of-sample rival. It is reported because the gap is far too large to be explained by that advantage, and because the within-Triple-A result does not depend on it at all."
 },
 "within_triple_a": {
  "n_cohort_c": 11,
  "auc_cohort_c": 0.433,
  "n_v05_all": 18,
  "auc_v05_all": 0.356,
  "top_half_hits": "5 of 9",
  "bottom_half_hits": "5 of 9",
  "caveat": "Eighteen rows is a small sample and an AUC below 0.500 on eighteen rows is not proof that the ranking is actively backwards. It is, however, three cohorts of consistent evidence that the ranking is not forwards, which is the claim the model is built on.",
  "ranked_rows": [
   {
    "rank": 1,
    "cup": 62,
    "outcome": 0,
    "player": "Thomas White",
    "org": "MIA",
    "cohort": "B"
   },
   {
    "rank": 2,
    "cup": 48,
    "outcome": 0,
    "player": "Charlie Condon",
    "org": "COL",
    "cohort": "B"
   },
   {
    "rank": 3,
    "cup": 45,
    "outcome": 1,
    "player": "Hagen Smith",
    "org": "CWS",
    "cohort": "B"
   },
   {
    "rank": 4,
    "cup": 45,
    "outcome": 1,
    "player": "Angel Genao",
    "org": "CLE",
    "cohort": "C"
   },
   {
    "rank": 5,
    "cup": 44,
    "outcome": 1,
    "player": "Lazaro Montes",
    "org": "SEA",
    "cohort": "C"
   },
   {
    "rank": 6,
    "cup": 38,
    "outcome": 0,
    "player": "Carlos Lagrange",
    "org": "NYY",
    "cohort": "C"
   },
   {
    "rank": 7,
    "cup": 33,
    "outcome": 1,
    "player": "Owen Caissie",
    "org": "MIA",
    "cohort": "B"
   },
   {
    "rank": 8,
    "cup": 33,
    "outcome": 0,
    "player": "Emmanuel Rodriguez",
    "org": "MIN",
    "cohort": "B"
   },
   {
    "rank": 9,
    "cup": 33,
    "outcome": 1,
    "player": "Kaelen Culpepper",
    "org": "MIN",
    "cohort": "B"
   },
   {
    "rank": 10,
    "cup": 33,
    "outcome": 0,
    "player": "Jett Williams",
    "org": "MIL",
    "cohort": "C"
   },
   {
    "rank": 11,
    "cup": 33,
    "outcome": 1,
    "player": "Max Clark",
    "org": "DET",
    "cohort": "C"
   },
   {
    "rank": 12,
    "cup": 33,
    "outcome": 0,
    "player": "Ralphy Velazquez",
    "org": "CLE",
    "cohort": "C"
   },
   {
    "rank": 13,
    "cup": 32,
    "outcome": 0,
    "player": "Karson Milbrandt",
    "org": "MIA",
    "cohort": "C"
   },
   {
    "rank": 14,
    "cup": 29,
    "outcome": 0,
    "player": "James Tibbs III",
    "org": "LAD",
    "cohort": "C"
   },
   {
    "rank": 15,
    "cup": 28,
    "outcome": 1,
    "player": "Harry Ford",
    "org": "WSH",
    "cohort": "C"
   },
   {
    "rank": 16,
    "cup": 23,
    "outcome": 1,
    "player": "Walker Jenkins",
    "org": "MIN",
    "cohort": "B"
   },
   {
    "rank": 17,
    "cup": 22,
    "outcome": 1,
    "player": "Joshua Baez",
    "org": "STL",
    "cohort": "C"
   },
   {
    "rank": 18,
    "cup": 21,
    "outcome": 1,
    "player": "Michael Arroyo",
    "org": "SEA",
    "cohort": "C"
   }
  ]
 },
 "resolved_outcomes": [
  {
   "player": "Angel Genao",
   "org": "CLE",
   "level": "AAA",
   "cup": 45,
   "outcome": 1,
   "resolution_date": "2026-08-05"
  },
  {
   "player": "Lazaro Montes",
   "org": "SEA",
   "level": "AAA",
   "cup": 44,
   "outcome": 1,
   "resolution_date": "2026-09-01"
  },
  {
   "player": "Carlos Lagrange",
   "org": "NYY",
   "level": "AAA",
   "cup": 38,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Jett Williams",
   "org": "MIL",
   "level": "AAA",
   "cup": 33,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Max Clark",
   "org": "DET",
   "level": "AAA",
   "cup": 33,
   "outcome": 1,
   "resolution_date": "2026-08-01"
  },
  {
   "player": "Ralphy Velazquez",
   "org": "CLE",
   "level": "AAA",
   "cup": 33,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Karson Milbrandt",
   "org": "MIA",
   "level": "AAA",
   "cup": 32,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "James Tibbs III",
   "org": "LAD",
   "level": "AAA",
   "cup": 29,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Alfredo Duno",
   "org": "CIN",
   "level": "AA",
   "cup": 28,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Harry Ford",
   "org": "WSH",
   "level": "AAA",
   "cup": 28,
   "outcome": 1,
   "resolution_date": "2026-07-17"
  },
  {
   "player": "Theo Gillen",
   "org": "TB",
   "level": "AA",
   "cup": 28,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Anthony Eyanson",
   "org": "BOS",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Braylon Doughty",
   "org": "CLE",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Caleb Bonemer",
   "org": "CWS",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Devin Fitz-Gerald",
   "org": "WSH",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Edward Florentino",
   "org": "PIT",
   "level": "A+",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Eli Willits",
   "org": "WSH",
   "level": "A+",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Gage Wood",
   "org": "PHI",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Jamie Arnold",
   "org": "ATH",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Jefferson Rojas",
   "org": "CHC",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Jesus Made",
   "org": "MIL",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Josh Adamczewski",
   "org": "MIL",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Joshua Baez",
   "org": "STL",
   "level": "AAA",
   "cup": 22,
   "outcome": 1,
   "resolution_date": "2026-08-15"
  },
  {
   "player": "Leo De Vries",
   "org": "ATH",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Liam Doyle",
   "org": "STL",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Luis Pe\u00f1a",
   "org": "MIL",
   "level": "A+",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Nolan Perry",
   "org": "TOR",
   "level": "AA",
   "cup": 22,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Michael Arroyo",
   "org": "SEA",
   "level": "AAA",
   "cup": 21,
   "outcome": 1,
   "resolution_date": "2026-09-06"
  },
  {
   "player": "Christian Zazueta",
   "org": "LAD",
   "level": "AA",
   "cup": 19,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Mike Sirota",
   "org": "LAD",
   "level": "AA",
   "cup": 19,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Rainiel Rodriguez",
   "org": "STL",
   "level": "AA",
   "cup": 19,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Zyhir Hope",
   "org": "DET",
   "level": "AA",
   "cup": 19,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Billy Carlson",
   "org": "CWS",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Bryce Rainer",
   "org": "DET",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Caden Scarborough",
   "org": "TEX",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Cam Caminiti",
   "org": "ATL",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Dax Kilby",
   "org": "NYY",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Eric Hartman",
   "org": "ATL",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Felnin Celesten",
   "org": "SEA",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Francisco Renteria",
   "org": "PHI",
   "level": "ROK",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Ike Irish",
   "org": "BAL",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Jaxon Wiggins",
   "org": "CHC",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Jhonny Level",
   "org": "SF",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "JoJo Parker",
   "org": "TOR",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Jonny Farmelo",
   "org": "SEA",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Josh Hammond",
   "org": "KC",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Josiah Hartshorn",
   "org": "CHC",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Josuar Gonzalez",
   "org": "SF",
   "level": "ROK",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Josue Brice\u00f1o",
   "org": "DET",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Justin Gonzales",
   "org": "BOS",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Kayson Cunningham",
   "org": "ARI",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Kendry Chourio",
   "org": "KC",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Kevin Alvarez",
   "org": "HOU",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Luis Hernandez",
   "org": "SF",
   "level": "ROK",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Roldy Brito",
   "org": "COL",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Ronny Cruz",
   "org": "WSH",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Seth Hernandez",
   "org": "PIT",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Steele Hall",
   "org": "CIN",
   "level": "ROK",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Tyler Bremner",
   "org": "LAA",
   "level": "A+",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Xavier Neyens",
   "org": "HOU",
   "level": "A",
   "cup": 12,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Charles Davalan",
   "org": "LAD",
   "level": "A+",
   "cup": 11,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Eduardo Quintero",
   "org": "LAD",
   "level": "A+",
   "cup": 11,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Emil Morales",
   "org": "LAD",
   "level": "A+",
   "cup": 11,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Caden Bodine",
   "org": "TB",
   "level": "AA",
   "cup": 9,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  },
  {
   "player": "Nathan Flewelling",
   "org": "TB",
   "level": "A+",
   "cup": 9,
   "outcome": 0,
   "resolution_date": "2026-10-08"
  }
 ],
 "miss_log": [
  {
   "player": "Carlos Lagrange",
   "type": "injury-status blind spot",
   "cup": 38,
   "detail": "Highest number in the cohort after Genao. Lagrange was placed on the injured list with a right shoulder capsular sprain in early July, days before the July 10 lock, and the model did not know. He returned at the end of the minor league season with no time to be an option for New York. Third consecutive checkpoint in which the top miss was a player whose injury predated the run date."
  },
  {
   "player": "Ralphy Velazquez",
   "type": "performance features do not predict promotion",
   "cup": 33,
   "detail": "Hit .293/.381/.555 with 29 home runs at Triple-A Columbus and was named the Guardians' Minor League Player of the Year. Never called up. The model's performance block read this season as strong evidence of a promotion. Cleveland read it as a reason to protect a 2027 roster spot."
  },
  {
   "player": "James Tibbs III",
   "type": "performance features do not predict promotion",
   "cup": 29,
   "detail": "Thirty home runs, 108 walks, .941 OPS, led the Pacific Coast League in extra-base hits, total bases and walks, and the Dodgers passed on him in September anyway. Los Angeles already carries the lowest org coefficient in the model at 0.88 and it was still not low enough."
  },
  {
   "player": "Jett Williams",
   "type": "injury-status blind spot",
   "cup": 33,
   "detail": "Wrist injury at Triple-A Nashville in late July, hit .234/.341/.385 on the season, never added to the 40-man roster."
  },
  {
   "player": "Harry Ford",
   "type": "eligibility error",
   "cup": 28,
   "detail": "Graded yes on an appearance July 17, but he should not have been in the cohort. Ford debuted in September 2025 and had eight games of major league service before this run. A player with prior service who is optioned to Triple-A is a far better bet to appear than a true first-time candidate, and the model has no feature for it. Second eligibility error in two checkpoints after Owen Caissie in September."
  },
  {
   "player": "the <20% band",
   "type": "systematic overprediction below Triple-A",
   "cup": 12,
   "detail": "Thirty-seven players averaging 12.5 percent, zero call-ups. The model should be predicting close to zero for High-A and below, not twelve percent. This band alone accounts for 0.0058 of the Brier score that a correctly floored model would not have paid."
  }
 ],
 "v06_candidates": [
  {
   "priority": 1,
   "item": "Rebuild around level and opportunity, not performance",
   "detail": "Three cohorts now say level proximity carries nearly all the signal and minor league performance carries almost none. v0.6 should start from level and roster opportunity and require every other feature to prove incremental value against a level-only baseline before it ships."
  },
  {
   "priority": 2,
   "item": "Injury eligibility gate",
   "detail": "Carried from June and September, still not built, and it produced the top miss for the third time. Any player on the injured list at run date is either excluded or scored through an explicit injury state."
  },
  {
   "priority": 3,
   "item": "Prior major league service feature",
   "detail": "From the Ford row. Players with prior service optioned to Triple-A are a different population and need either a feature or their own exclusion rule."
  },
  {
   "priority": 4,
   "item": "Hard floor below Triple-A",
   "detail": "Zero of fifty-four below Triple-A in this cohort, one of fifty-seven across both v0.5 cohorts. Nothing below Double-A should be scored above about three percent on a 90-day horizon."
  },
  {
   "priority": 5,
   "item": "Season-length aware window",
   "detail": "A 90-day window that runs past the end of the regular season is not a 90-day window. Either shorten late-season cohorts or count games remaining instead of days."
  }
 ],
 "running_record": {
  "cohorts": [
   {
    "cohort": "A",
    "run_date": "2026-03-20",
    "model_version": "v0.4",
    "n": 28,
    "yes": 14,
    "base_rate_pct": 50.0,
    "brier": 0.2696,
    "naive": 0.25,
    "beat_naive": false
   },
   {
    "cohort": "B",
    "run_date": "2026-06-11",
    "model_version": "v0.5",
    "n": 14,
    "yes": 5,
    "base_rate_pct": 35.7,
    "brier": 0.2375,
    "naive": 0.2296,
    "beat_naive": false
   },
   {
    "cohort": "C",
    "run_date": "2026-07-10",
    "model_version": "v0.5",
    "n": 65,
    "yes": 6,
    "base_rate_pct": 9.2,
    "brier": 0.0746,
    "naive": 0.0838,
    "beat_naive": true
   }
  ],
  "v05_out_of_sample": {
   "n": 79,
   "yes": 11,
   "base_rate_pct": 13.9,
   "mean_prediction_pct": 20.4,
   "brier": 0.1034,
   "naive": 0.1199,
   "skill_vs_naive_pct": 13.7,
   "auc": 0.868,
   "level_only_brier": 0.0687,
   "within_aaa_auc": 0.356
  },
  "all_time": {
   "n": 107,
   "yes": 25,
   "base_rate_pct": 23.4,
   "mean_prediction_pct": 20.7,
   "brier": 0.1469,
   "naive": 0.1791,
   "skill_vs_naive_pct": 17.9,
   "auc": 0.84,
   "version_note": "Mixes v0.4 (cohort A) and v0.5 (cohorts B and C) scoring. It is a record of what was published, not a single model's evaluation. The v0.5 evaluation set is the 79 outcomes in cohorts B and C."
  },
  "training_gate": {
   "required": 50,
   "achieved": 107,
   "status": "cleared",
   "note": "The gate for starting work on a trained v1.0 classifier was 50 resolved outcomes. That is cleared. The gate was a sample-size condition, not a quality condition, and the findings above change what v1.0 should be trained to do."
  }
 },
 "discipline_note": "Sixty-five numbers were locked and published on July 10 and all sixty-five were graded on the same definition they were written under. Nothing was edited, excluded or rescored after the fact, including the Harry Ford row that should never have been in the cohort and the thirty-seven low-band rows that made the headline Brier look good. The result that matters in this report is the one that makes the model look worst.",
 "board_hygiene_audit": {
  "summary": "The checkpoint also swept the live board, and six of the thirteen remaining rows should not have been on it. None carried a CUP prediction, so no published score is affected, but all six were public on the PIX board as unpromoted prospects.",
  "findings": [
   {
    "player": "JR Ritchie",
    "org": "ATL",
    "issue": "unlogged debut",
    "detail": "Debuted April 23, 2026. Sat on the prospect board for 172 days as a major leaguer. Logged October 12."
   },
   {
    "player": "Ethan Salas",
    "org": "SD",
    "issue": "unlogged debut",
    "detail": "Debuted September 2, 2026. Logged October 12, 40 days late."
   },
   {
    "player": "River Ryan",
    "org": "DET",
    "issue": "prior major league service",
    "detail": "Debuted July 22, 2024 with Los Angeles. Never a call-up candidate. Retired from the board."
   },
   {
    "player": "Logan Henderson",
    "org": "MIL",
    "issue": "prior major league service",
    "detail": "Debuted April 15, 2025 with Milwaukee. Retired from the board."
   },
   {
    "player": "Jonah Tong",
    "org": "NYM",
    "issue": "prior major league service",
    "detail": "Debuted for New York in 2025, on the roster and at Triple-A Syracuse in 2026. Retired from the board."
   },
   {
    "player": "Elmer Rodriguez",
    "org": "NYY",
    "issue": "active major leaguer",
    "detail": "Four separate stints with New York during the 2026 season. Retired from the board."
   },
   {
    "player": "Aidan Miller",
    "org": "PHI",
    "issue": "ungraded closed window",
    "detail": "Sub-Batch A row at 22 percent whose window closed June 18. The board row stayed open for 116 days after grading. The published Sub-Batch A record already counted it as a miss, so this is a bookkeeping reconciliation and changes no published number. Miller had a back procedure June 5 and finished the season rehabbing at Single-A."
   }
  ],
  "root_cause": "The same gap as the Harry Ford scoring error: nothing in the pipeline checks prior major league service, and nothing checks whether a tracked player has stopped being a prospect. Four of the six rows were players the model should never have been able to see.",
  "fix_shipped": {
   "tool": "_pix_tools/pix_audit.py",
   "detail": "A staleness and eligibility audit now runs automatically at the top of every daily and weekly run. It flags any active row with no ledger event in 30 days, escalates Triple-A rows to high severity because a stale Triple-A row is usually an unlogged debut, flags rows that have never had any event at all, and flags any CUP prediction whose 90-day window has closed while the row is still open, which is how the Aidan Miller row survived four months. This was proposed in June, in August and again in September and was not built until it had cost six rows.",
   "first_run": "Flagged one high finding, Seaver King at Triple-A with no event in 53 days. Checked against the debut record: no debut, legitimately quiet."
  }
 }
}