20260923_ARI@COL
20260923_ARI@COL.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | ARI | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | COL | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=5, sim=8; R: current=4, sim=8; BB: current=3, sim=5; SO: current=6, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2; Gabriel Moreno: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Pavin Smith: H current=1 box=0, R current=0 box=1, BB current=0 box=1; Geraldo Perdomo: AB current=4 box=5, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Ketel Marte: H current=1 box=2, 2B current=1 box=0, HR current=0 box=2, RBI current=1 box=3; Tim Tawa: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Nolan Arenado: HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Corbin Carroll: H current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=39; H: current=9, sim=13; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=7, sim=5; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, H current=1 box=4, RBI current=1 box=2, SO current=1 box=0; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Adael Amador: AB current=4 box=5, HR current=0 box=1, RBI current=1 box=2, SO current=0 box=1; Mickey Moniak: RBI current=1 box=0, BB current=0 box=1; Hunter Goodman: H current=1 box=0, HR current=1 box=0, SF current=0 box=1; Kyle Karros: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; TJ Rumfield: H current=1 box=0, SO current=0 box=1; Zac Veen: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | ARI | BATTING_REALISM | current:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | ARI | BATTING_TOTALS_SUM | current:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | ARI | BATTING_TOTALS_SUM | simulation:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match COL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match COL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match COL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=40 matches COL BF=40. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match ARI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match ARI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match ARI pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match ARI pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=43 matches ARI BF=43. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.722 -> 0.647 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.722452, 'sample_size': 404, 'empirical_hit_rate': 0.5718, 'empirical_weight': 0.5, 'blended_confidence': 0.647126, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | ARI | CURRENT_LINEUP_SHAPE | ARI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | ARI | CURRENT_MODEL_ZERO_FALLBACK | ARI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | ARI | CURRENT_NAMES_PRESENT | ARI current hitter names are populated. | |||
| PASS | current_payload | current | ARI | CURRENT_PREDICTIONS_MATCH_FINALIZED | ARI hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | COL | CURRENT_LINEUP_SHAPE | COL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | COL | CURRENT_MODEL_ZERO_FALLBACK | COL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | COL | CURRENT_NAMES_PRESENT | COL current hitter names are populated. | |||
| PASS | current_payload | current | COL | CURRENT_PREDICTIONS_MATCH_FINALIZED | COL hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 14 is reasonably close to low-score expected_total_runs 14.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.490/0.674. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ARI 8, COL 13. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 8 - COL 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ARI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ARI; cap=0.56, reasons=recent head-to-head is split and volatile; local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'ARI', 'opponent_team': 'COL', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'ARI'}, {'date': '2026-08-12', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'COL'}, {'date': '2026-08-11', 'predicted_team_runs': 2, 'opponent_runs': 3, 'margin_for_predicted_team': -1, 'winner': 'COL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'ARI', 'home': 'COL', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'ARI', 'actual_margin': 5, 'raw_pick_probability': 0.56, 'artifact': '20260922_ARI@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260812', 'away': 'COL', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'COL', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260812_COL@ARI.json', 'verification': 'pregame_official_final'}, {'date': '20260811', 'away': 'COL', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'COL', 'actual_margin': 1, 'raw_pick_probability': 0.66, 'artifact': '20260811_COL@ARI.json', 'verification': 'pregame_official_final'}, {'date': '20260810', 'away': 'COL', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'ARI', 'actual_margin': 9, 'raw_pick_probability': 0.5693, 'artifact': '20260810_COL@ARI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'ARI', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'ARI', 'output_opponent_team': 'COL', 'simulation_score_winner': 'ARI', 'final_score_winner': 'ARI', 'pre_simulation_winner': 'ARI', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0699, 'recent_form_edge_home_minus_away': -0.762, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 6, 'winner': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ARI', 'published_winner_draw_share': 0.8, 'draw_majority_team': 'ARI', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 6}, 'simulation_score': {'away_runs': 8, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1737, 'winner': 'ARI', 'score_reviewed': {'away_runs': 8, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_ARI@COL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ARI@COL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -19.0, 'absolute_net_margin': 19.0, 'home_average_margin': -3.8, 'home_run_delta': -0.1096, 'away_run_delta': 0.1096, 'evidence': [{'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -9.0}, {'game_id': None, 'home_margin': -8.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 8, 'probability': 0.011876227288395186}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.01181141618102686}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.011669517029546652}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.011605833984184471}, {'home_runs': 6, 'away_runs': 9, 'probability': 0.011231529654019846}], 'home_distribution': {'0': 0.03133078058064224, '1': 0.047895916008792484, '2': 0.06749714789133111, '3': 0.08768635762751262, '4': 0.10501184984535128, '5': 0.11593224804297034, '6': 0.11798583645979839, '7': 0.11069172724362424, '8': 0.0957326592215859, '9': 0.07632463765434222, '10': 0.056095632556326505, '11': 0.03800607474519219, '12': 0.0237375917623808, '13': 0.013667213070291367, '14': 0.007254090067968854, '15': 0.00354932356115918, '16': 0.0016009136607305395}, 'away_distribution': {'0': 0.01732148090983171, '1': 0.0267469578074641, '2': 0.03884611978513611, '3': 0.0530645855626612, '4': 0.06817824029166457, '5': 0.08238927439435863, '6': 0.09364389032151396, '7': 0.10010876335187396, '8': 0.10065807595848, '9': 0.09519388081676051, '10': 0.084674632243266, '11': 0.07084047837104991, '12': 0.055743409782368136, '13': 0.041256222003809594, '14': 0.028718996415014884, '15': 0.018803250973204073, '16': 0.011579251994234223, '17': 0.0067067473655147425, '18': 0.00365365274803657, '19': 0.0018720889037568476}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.4331, 'recent_quality_edge': -0.692, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.1737} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0699, 'recent_form_edge_home_minus_away': -0.762, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 6, 'winner': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ARI', 'published_winner_draw_share': 0.8, 'draw_majority_team': 'ARI', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 6}, 'simulation_score': {'away_runs': 8, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1737, 'winner': 'ARI', 'score_reviewed': {'away_runs': 8, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 177. | |||||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_PITCHER_MATCH | ARI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_TOTAL_MATCH | ARI pitch_count_summary total, row sum, and pitching total all match: 168. | |||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_PITCHER_MATCH | COL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_TOTAL_MATCH | COL pitch_count_summary total, row sum, and pitching total all match: 177. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 11 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | ARI | PITCHING_REALISM | current:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ARI | STARTER_PRESENT | current:ARI includes a starter/opener role. | |||
| PASS | pitching | current | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | ARI | PITCHING_REALISM | simulation:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | ARI | STARTER_PRESENT | simulation:ARI includes a starter/opener role. | |||
| PASS | pitching | simulation | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ARI 8 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 8 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 8-6. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=ARI, simulation=ARI, published=ARI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): ARI wins 8-6. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI wins 8-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 8-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 8-6, final 8-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 14. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ARI wins 8-6. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ARI | RECENT_FORM_RANGE | ARI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ARI | TEAM_RECENT_RECORD | ARI wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | COL | RECENT_FORM_RANGE | COL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | COL | TEAM_RECENT_RECORD | COL wins and win_pct agree: 2/10 = 0.200. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | ARI | BATTING_REALISM | current:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | ARI | BATTING_TOTALS_SUM | current:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | ARI | BATTING_TOTALS_SUM | simulation:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match COL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match COL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match COL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=40 matches COL BF=40. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match ARI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match ARI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match ARI pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match ARI pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=43 matches ARI BF=43. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.722 -> 0.647 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.722452, 'sample_size': 404, 'empirical_hit_rate': 0.5718, 'empirical_weight': 0.5, 'blended_confidence': 0.647126, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | ARI | CURRENT_LINEUP_SHAPE | ARI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | ARI | CURRENT_MODEL_ZERO_FALLBACK | ARI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | ARI | CURRENT_NAMES_PRESENT | ARI current hitter names are populated. | |||
| PASS | current_payload | current | ARI | CURRENT_PREDICTIONS_MATCH_FINALIZED | ARI hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | COL | CURRENT_LINEUP_SHAPE | COL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | COL | CURRENT_MODEL_ZERO_FALLBACK | COL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | COL | CURRENT_NAMES_PRESENT | COL current hitter names are populated. | |||
| PASS | current_payload | current | COL | CURRENT_PREDICTIONS_MATCH_FINALIZED | COL hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 14 is reasonably close to low-score expected_total_runs 14.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.490/0.674. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ARI 8, COL 13. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 8 - COL 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ARI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ARI; cap=0.56, reasons=recent head-to-head is split and volatile; local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'ARI', 'opponent_team': 'COL', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'ARI'}, {'date': '2026-08-12', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'COL'}, {'date': '2026-08-11', 'predicted_team_runs': 2, 'opponent_runs': 3, 'margin_for_predicted_team': -1, 'winner': 'COL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'ARI', 'home': 'COL', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'ARI', 'actual_margin': 5, 'raw_pick_probability': 0.56, 'artifact': '20260922_ARI@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260812', 'away': 'COL', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'COL', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260812_COL@ARI.json', 'verification': 'pregame_official_final'}, {'date': '20260811', 'away': 'COL', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'COL', 'actual_margin': 1, 'raw_pick_probability': 0.66, 'artifact': '20260811_COL@ARI.json', 'verification': 'pregame_official_final'}, {'date': '20260810', 'away': 'COL', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'ARI', 'actual_margin': 9, 'raw_pick_probability': 0.5693, 'artifact': '20260810_COL@ARI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'ARI', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'ARI', 'output_opponent_team': 'COL', 'simulation_score_winner': 'ARI', 'final_score_winner': 'ARI', 'pre_simulation_winner': 'ARI', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0699, 'recent_form_edge_home_minus_away': -0.762, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 6, 'winner': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ARI', 'published_winner_draw_share': 0.8, 'draw_majority_team': 'ARI', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 6}, 'simulation_score': {'away_runs': 8, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1737, 'winner': 'ARI', 'score_reviewed': {'away_runs': 8, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_ARI@COL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ARI@COL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -19.0, 'absolute_net_margin': 19.0, 'home_average_margin': -3.8, 'home_run_delta': -0.1096, 'away_run_delta': 0.1096, 'evidence': [{'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -9.0}, {'game_id': None, 'home_margin': -8.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 8, 'probability': 0.011876227288395186}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.01181141618102686}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.011669517029546652}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.011605833984184471}, {'home_runs': 6, 'away_runs': 9, 'probability': 0.011231529654019846}], 'home_distribution': {'0': 0.03133078058064224, '1': 0.047895916008792484, '2': 0.06749714789133111, '3': 0.08768635762751262, '4': 0.10501184984535128, '5': 0.11593224804297034, '6': 0.11798583645979839, '7': 0.11069172724362424, '8': 0.0957326592215859, '9': 0.07632463765434222, '10': 0.056095632556326505, '11': 0.03800607474519219, '12': 0.0237375917623808, '13': 0.013667213070291367, '14': 0.007254090067968854, '15': 0.00354932356115918, '16': 0.0016009136607305395}, 'away_distribution': {'0': 0.01732148090983171, '1': 0.0267469578074641, '2': 0.03884611978513611, '3': 0.0530645855626612, '4': 0.06817824029166457, '5': 0.08238927439435863, '6': 0.09364389032151396, '7': 0.10010876335187396, '8': 0.10065807595848, '9': 0.09519388081676051, '10': 0.084674632243266, '11': 0.07084047837104991, '12': 0.055743409782368136, '13': 0.041256222003809594, '14': 0.028718996415014884, '15': 0.018803250973204073, '16': 0.011579251994234223, '17': 0.0067067473655147425, '18': 0.00365365274803657, '19': 0.0018720889037568476}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.4331, 'recent_quality_edge': -0.692, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.1737} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 6, 'score_text': 'ARI 8 - 6 COL', 'winner': 'ARI'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0699, 'recent_form_edge_home_minus_away': -0.762, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 6, 'winner': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ARI', 'published_winner_draw_share': 0.8, 'draw_majority_team': 'ARI', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 6}, 'simulation_score': {'away_runs': 8, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.1737, 'winner': 'ARI', 'score_reviewed': {'away_runs': 8, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 177. | |||||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_PITCHER_MATCH | ARI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_TOTAL_MATCH | ARI pitch_count_summary total, row sum, and pitching total all match: 168. | |||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_PITCHER_MATCH | COL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | COL | PITCH_COUNT_TOTAL_MATCH | COL pitch_count_summary total, row sum, and pitching total all match: 177. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 11 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | ARI | PITCHING_REALISM | current:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ARI | STARTER_PRESENT | current:ARI includes a starter/opener role. | |||
| PASS | pitching | current | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | ARI | PITCHING_REALISM | simulation:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | ARI | STARTER_PRESENT | simulation:ARI includes a starter/opener role. | |||
| PASS | pitching | simulation | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ARI 8 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 8 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 8-6. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=ARI, simulation=ARI, published=ARI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): ARI wins 8-6. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI wins 8-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 8-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 8-6, final 8-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 14. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ARI wins 8-6. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ARI | RECENT_FORM_RANGE | ARI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ARI | TEAM_RECENT_RECORD | ARI wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | COL | RECENT_FORM_RANGE | COL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | COL | TEAM_RECENT_RECORD | COL wins and win_pct agree: 2/10 = 0.200. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | ARI | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | COL | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=5, sim=8; R: current=4, sim=8; BB: current=3, sim=5; SO: current=6, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2; Gabriel Moreno: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Pavin Smith: H current=1 box=0, R current=0 box=1, BB current=0 box=1; Geraldo Perdomo: AB current=4 box=5, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Ketel Marte: H current=1 box=2, 2B current=1 box=0, HR current=0 box=2, RBI current=1 box=3; Tim Tawa: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Nolan Arenado: HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Corbin Carroll: H current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=39; H: current=9, sim=13; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=7, sim=5; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, H current=1 box=4, RBI current=1 box=2, SO current=1 box=0; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Adael Amador: AB current=4 box=5, HR current=0 box=1, RBI current=1 box=2, SO current=0 box=1; Mickey Moniak: RBI current=1 box=0, BB current=0 box=1; Hunter Goodman: H current=1 box=0, HR current=1 box=0, SF current=0 box=1; Kyle Karros: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; TJ Rumfield: H current=1 box=0, SO current=0 box=1; Zac Veen: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.409622421285718 | 5.115400944938096 | Base ML historical model prediction | |
| variance_applied | 5 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 8 | 6 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8 | 6 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 8 | 6 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 8 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 8 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ARI | 2 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 1 | 8 | 8 |
| COL | 1 | 2 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 6 | 13 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | batting | 33 | 9 | 2 | 0 | 1 | 5 | 4 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | ARI | pitching | 13 | 1 | 6 | 3 | 5 | 9.0 | 6 | 0 | 0 | |||||||||
| current | COL | batting | 34 | 9 | 2 | 0 | 1 | 5 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | COL | pitching | 8 | 3 | 8 | 5 | 8 | 9.0 | 7 | 0 | 0 | |||||||||
| simulation | ARI | batting | 35 | 8 | 1 | 0 | 3 | 8 | 8 | 5 | 8 | 0 | 0 | |||||||
| simulation | ARI | pitching | 13 | 1 | 6 | 3 | 5 | 9.0 | 6 | 43 | 168 | |||||||||
| simulation | COL | batting | 39 | 13 | 2 | 0 | 1 | 6 | 6 | 3 | 5 | 1 | 0 | |||||||
| simulation | COL | pitching | 8 | 3 | 8 | 5 | 8 | 9.0 | 8 | 40 | 177 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | LF | Lars Nootbaar | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | ARI | C | Gabriel Moreno | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | ARI | 1B | Pavin Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ARI | SS | Geraldo Perdomo | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 | |
| current | ARI | 2B | Ketel Marte | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | ARI | CF | Tim Tawa | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | ARI | 3B | Nolan Arenado | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ARI | RF | Corbin Carroll | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ARI | DH | Jesús Sánchez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | COL | DH | Jake McCarthy | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | CF | Cole Carrigg | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | COL | 2B | Adael Amador | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | COL | RF | Mickey Moniak | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | C | Hunter Goodman | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | 3B | Kyle Karros | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | COL | 1B | TJ Rumfield | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 | |
| current | COL | LF | Zac Veen | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | COL | SS | Ezequiel Tovar | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | ARI | 1 | LF | Lars Nootbaar | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 |
| simulation | ARI | 2 | 2B | Ketel Marte | 5 | 4 | 2 | 0 | 0 | 2 | 1 | 3 | 1 | 1 | 0 | 0.500 |
| simulation | ARI | 3 | C | Gabriel Moreno | 5 | 5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | ARI | 4 | SS | Geraldo Perdomo | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ARI | 5 | 1B | Pavin Smith | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | ARI | 6 | 3B | Nolan Arenado | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | ARI | 7 | RF | Corbin Carroll | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | ARI | 8 | DH | Jesús Sánchez | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 0 | 0.333 |
| simulation | ARI | 9 | CF | Tim Tawa | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | COL | 1 | DH | Jake McCarthy | 5 | 5 | 4 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.800 |
| simulation | COL | 2 | CF | Cole Carrigg | 5 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | COL | 3 | C | Hunter Goodman | 5 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.000 |
| simulation | COL | 4 | 1B | TJ Rumfield | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | COL | 5 | 3B | Kyle Karros | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | COL | 6 | 2B | Adael Amador | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.200 |
| simulation | COL | 7 | RF | Mickey Moniak | 5 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | COL | 8 | LF | Zac Veen | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | COL | 9 | SS | Ezequiel Tovar | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | 1 | Merrill Kelly | Starter | 5.1 | 9 | 5 | 5 | 3 | 3 | 1 | 0 | 0 | 8.44 | 5.00 | 1.47 |
| current | ARI | 2 | Brandyn Garcia | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.74 | 0.68 |
| current | ARI | 3 | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 2.80 | 1.11 |
| current | ARI | 4 | Juan Morillo | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.54 | 0.98 |
| current | ARI | 5 | Kevin Ginkel | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.04 | 1.12 |
| current | COL | 1 | Mason Adams | Starter | 4.1 | 6 | 6 | 5 | 4 | 4 | 2 | 0 | 0 | 10.38 | 5.09 | 1.65 |
| current | COL | 2 | Jimmy Herget | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 5.65 | 1.47 |
| current | COL | 3 | Brennan Bernardino | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 2.45 | 1.09 |
| current | COL | 4 | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.30 | 1.41 |
| current | COL | 5 | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 4.26 | 1.26 |
| current | COL | 6 | Juan Mejia | Middle Reliever | 0.1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 27.00 | 5.16 | 1.68 |
| simulation | ARI | 1 | Merrill Kelly | Starter | 5.1 | 9 | 5 | 5 | 3 | 3 | 1 | 28 | 109 | 8.44 | 5.00 | 1.47 |
| simulation | ARI | 2 | Brandyn Garcia | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 1.74 | 0.68 |
| simulation | ARI | 3 | Juan Morillo | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.54 | 0.98 |
| simulation | ARI | 4 | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 3 | 1 | 1 | 0 | 0 | 0 | 6 | 22 | 9.00 | 2.80 | 1.11 |
| simulation | ARI | 5 | Kevin Ginkel | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 8 | 0.00 | 3.04 | 1.12 |
| simulation | COL | 1 | Mason Adams | Starter | 4.1 | 6 | 6 | 6 | 4 | 4 | 2 | 23 | 101 | 12.46 | 5.09 | 1.65 |
| simulation | COL | 2 | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 4.26 | 1.26 |
| simulation | COL | 3 | Brennan Bernardino | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 4 | 16 | 9.00 | 2.45 | 1.09 |
| simulation | COL | 4 | Jimmy Herget | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 23 | 0.00 | 5.65 | 1.47 |
| simulation | COL | 5 | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 4.30 | 1.41 |
| simulation | COL | 6 | Juan Mejia | Middle Reliever | 0.1 | 1 | 1 | 1 | 0 | 0 | 1 | 2 | 7 | 27.00 | 5.16 | 1.68 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| ARI | Merrill Kelly | Starter | 5.1 | 5 | 9 | 3 | 3 | 28 | 109 |
| ARI | Brandyn Garcia | Closer | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| ARI | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 1 | 3 | 0 | 0 | 6 | 22 |
| ARI | Juan Morillo | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| ARI | Kevin Ginkel | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 1 | 2 | 8 |
| COL | Mason Adams | Starter | 4.1 | 6 | 6 | 4 | 4 | 23 | 101 |
| COL | Jimmy Herget | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 4 | 23 |
| COL | Brennan Bernardino | Setup Man | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| COL | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| COL | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| COL | Juan Mejia | Middle Reliever | 0.1 | 1 | 1 | 0 | 0 | 2 | 7 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_CHW@KC
20260923_CHW@KC.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CHW | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | KC | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=36; H: current=8, sim=9; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=4, sim=7; R: current=5, sim=7; BB: current=4, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0; Munetaka Murakami: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Kyle Teel: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, R current=0 box=1; Miguel Vargas: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Andrew Benintendi: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=1 box=4; Braden Montgomery: AB current=3 box=4, BB current=1 box=0, SO current=1 box=2; Tristan Peters: AB current=3 box=4, RBI current=0 box=3, R current=0 box=1, BB current=0 box=1; Chase Meidroth: H current=1 box=0, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (H: current=9, sim=7; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=7; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Bobby Witt Jr.: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Maikel Garcia: 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Carter Jensen: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jac Caglianone: RBI current=1 box=2, BB current=0 box=1, SO current=1 box=0; John Rave: AB current=3 box=1, H current=1 box=0, BB current=0 box=3; Michael Massey: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Vinnie Pasquantino: RBI current=1 box=0, BB current=0 box=1; Salvador Perez: H current=1 box=2, R current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CHW | BATTING_TOTALS_SUM | current:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHW | BATTING_TOTALS_SUM | simulation:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match KC pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match KC pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match KC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match KC pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=42 matches KC BF=42. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match CHW pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match CHW pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=41 matches CHW BF=41. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.765 -> 0.668 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.764902, 'sample_size': 126, 'empirical_hit_rate': 0.5714, 'empirical_weight': 0.5, 'blended_confidence': 0.668151, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CHW | CURRENT_LINEUP_SHAPE | CHW current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHW | CURRENT_MODEL_ZERO_FALLBACK | CHW current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHW | CURRENT_NAMES_PRESENT | CHW current hitter names are populated. | |||
| PASS | current_payload | current | CHW | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHW hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | KC | CURRENT_LINEUP_SHAPE | KC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | KC | CURRENT_MODEL_ZERO_FALLBACK | KC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | KC | CURRENT_NAMES_PRESENT | KC current hitter names are populated. | |||
| PASS | current_payload | current | KC | CURRENT_PREDICTIONS_MATCH_FINALIZED | KC hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 12 is reasonably close to low-score expected_total_runs 12.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.582/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CHW 9, KC 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CHW 7 - KC 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CHW. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for CHW; cap=0.56, reasons=recent head-to-head is split and volatile; local prediction memory shows 3 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'CHW', 'opponent_team': 'KC', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 14, 'opponent_runs': 11, 'margin_for_predicted_team': 3, 'winner': 'CHW'}, {'date': '2026-06-28', 'predicted_team_runs': 4, 'opponent_runs': 5, 'margin_for_predicted_team': -1, 'winner': 'KC'}, {'date': '2026-06-27', 'predicted_team_runs': 2, 'opponent_runs': 1, 'margin_for_predicted_team': 1, 'winner': 'CHW'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'CHW', 'home': 'KC', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 3, 'raw_pick_probability': 0.5052570000000001, 'artifact': '20260922_CHW@KC.json', 'verification': 'pregame_official_final'}, {'date': '20260628', 'away': 'KC', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'KC', 'actual_margin': 1, 'raw_pick_probability': 0.545, 'artifact': '20260628_KC@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'KC', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260627_KC@CHW.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CHW', 'guardrail_opponent_team': 'KC', 'output_pre_simulation_winner': 'CHW', 'output_opponent_team': 'KC', 'simulation_score_winner': 'CHW', 'final_score_winner': 'CHW', 'pre_simulation_winner': 'CHW', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.039, 'recent_form_edge_home_minus_away': -1.018, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 7, 'home_runs': 5, 'winner': 'CHW', 'model_winner': 'CHW', 'simulation_winner': 'CHW', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHW', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 7, 'home_runs': 5}, 'simulation_score': {'away_runs': 7, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9908, 'winner': 'CHW', 'score_reviewed': {'away_runs': 7, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_CHW@KC. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CHW@KC. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -28.0, 'absolute_net_margin': 28.0, 'home_average_margin': -5.6, 'home_run_delta': -0.1615, 'away_run_delta': 0.1615, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -21.0}, {'game_id': None, 'home_margin': -4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 6, 'probability': 0.014623176521049525}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014541144216070228}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.014424947272671566}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.014344026983411657}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.013678310791373428}], 'home_distribution': {'0': 0.045350592442246505, '1': 0.06867439606633506, '2': 0.09406664049656167, '3': 0.11654813274634858, '4': 0.1306182638967934, '5': 0.13241323477517913, '6': 0.12141931668994559, '7': 0.10071011102584146, '8': 0.07555918521019622, '9': 0.05127791503994807, '10': 0.031477653605286836, '11': 0.017478463275965073, '12': 0.008778757286678622, '13': 0.003988335998930155, '14': 0.0016390014437435974}, 'away_distribution': {'0': 0.02496139514822111, '1': 0.038330112224489093, '2': 0.05474682405637539, '3': 0.0727319737847022, '4': 0.08987510707924219, '5': 0.10330017852518643, '6': 0.11043591334263393, '7': 0.10981639592718391, '8': 0.10157144935809512, '9': 0.08738234930386402, '10': 0.06992353688302537, '11': 0.0520439993459087, '12': 0.036030106156880744, '13': 0.023201070546832396, '14': 0.013896265769510351, '15': 0.007741690453538015, '16': 0.004011632094310968}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.0892, 'recent_quality_edge': -0.808, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.9908} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.039, 'recent_form_edge_home_minus_away': -1.018, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 7, 'home_runs': 5, 'winner': 'CHW', 'model_winner': 'CHW', 'simulation_winner': 'CHW', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHW', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 7, 'home_runs': 5}, 'simulation_score': {'away_runs': 7, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9908, 'winner': 'CHW', 'score_reviewed': {'away_runs': 7, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_PITCHER_MATCH | CHW pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_TOTAL_MATCH | CHW pitch_count_summary total, row sum, and pitching total all match: 173. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_PITCHER_MATCH | KC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_TOTAL_MATCH | KC pitch_count_summary total, row sum, and pitching total all match: 168. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | current | KC | PITCHING_REALISM | current:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | KC | STARTER_PRESENT | current:KC includes a starter/opener role. | |||
| PASS | pitching | simulation | CHW | PITCHING_REALISM | simulation:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHW | STARTER_PRESENT | simulation:CHW includes a starter/opener role. | |||
| PASS | pitching | simulation | KC | PITCHING_REALISM | simulation:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | KC | STARTER_PRESENT | simulation:KC includes a starter/opener role. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CHW 7 - 5 KC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CHW 7 - 5 KC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHW wins 7-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=CHW, simulation=CHW, published=CHW. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): CHW wins 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHW wins 7-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 7-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 7-5, final 7-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHW wins 7-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CHW | RECENT_FORM_RANGE | CHW recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHW | TEAM_RECENT_RECORD | CHW wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | KC | RECENT_FORM_RANGE | KC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | KC | TEAM_RECENT_RECORD | KC wins and win_pct agree: 3/10 = 0.300. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CHW | BATTING_TOTALS_SUM | current:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHW | BATTING_TOTALS_SUM | simulation:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match KC pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match KC pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match KC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match KC pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=42 matches KC BF=42. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match CHW pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match CHW pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=41 matches CHW BF=41. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.765 -> 0.668 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.764902, 'sample_size': 126, 'empirical_hit_rate': 0.5714, 'empirical_weight': 0.5, 'blended_confidence': 0.668151, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CHW | CURRENT_LINEUP_SHAPE | CHW current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHW | CURRENT_MODEL_ZERO_FALLBACK | CHW current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHW | CURRENT_NAMES_PRESENT | CHW current hitter names are populated. | |||
| PASS | current_payload | current | CHW | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHW hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | KC | CURRENT_LINEUP_SHAPE | KC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | KC | CURRENT_MODEL_ZERO_FALLBACK | KC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | KC | CURRENT_NAMES_PRESENT | KC current hitter names are populated. | |||
| PASS | current_payload | current | KC | CURRENT_PREDICTIONS_MATCH_FINALIZED | KC hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 12 is reasonably close to low-score expected_total_runs 12.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.582/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CHW 9, KC 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CHW 7 - KC 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CHW. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for CHW; cap=0.56, reasons=recent head-to-head is split and volatile; local prediction memory shows 3 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'CHW', 'opponent_team': 'KC', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 14, 'opponent_runs': 11, 'margin_for_predicted_team': 3, 'winner': 'CHW'}, {'date': '2026-06-28', 'predicted_team_runs': 4, 'opponent_runs': 5, 'margin_for_predicted_team': -1, 'winner': 'KC'}, {'date': '2026-06-27', 'predicted_team_runs': 2, 'opponent_runs': 1, 'margin_for_predicted_team': 1, 'winner': 'CHW'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'CHW', 'home': 'KC', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 3, 'raw_pick_probability': 0.5052570000000001, 'artifact': '20260922_CHW@KC.json', 'verification': 'pregame_official_final'}, {'date': '20260628', 'away': 'KC', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'KC', 'actual_margin': 1, 'raw_pick_probability': 0.545, 'artifact': '20260628_KC@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'KC', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260627_KC@CHW.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CHW', 'guardrail_opponent_team': 'KC', 'output_pre_simulation_winner': 'CHW', 'output_opponent_team': 'KC', 'simulation_score_winner': 'CHW', 'final_score_winner': 'CHW', 'pre_simulation_winner': 'CHW', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.039, 'recent_form_edge_home_minus_away': -1.018, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 7, 'home_runs': 5, 'winner': 'CHW', 'model_winner': 'CHW', 'simulation_winner': 'CHW', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHW', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 7, 'home_runs': 5}, 'simulation_score': {'away_runs': 7, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9908, 'winner': 'CHW', 'score_reviewed': {'away_runs': 7, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_CHW@KC. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CHW@KC. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -28.0, 'absolute_net_margin': 28.0, 'home_average_margin': -5.6, 'home_run_delta': -0.1615, 'away_run_delta': 0.1615, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -21.0}, {'game_id': None, 'home_margin': -4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 6, 'probability': 0.014623176521049525}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014541144216070228}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.014424947272671566}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.014344026983411657}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.013678310791373428}], 'home_distribution': {'0': 0.045350592442246505, '1': 0.06867439606633506, '2': 0.09406664049656167, '3': 0.11654813274634858, '4': 0.1306182638967934, '5': 0.13241323477517913, '6': 0.12141931668994559, '7': 0.10071011102584146, '8': 0.07555918521019622, '9': 0.05127791503994807, '10': 0.031477653605286836, '11': 0.017478463275965073, '12': 0.008778757286678622, '13': 0.003988335998930155, '14': 0.0016390014437435974}, 'away_distribution': {'0': 0.02496139514822111, '1': 0.038330112224489093, '2': 0.05474682405637539, '3': 0.0727319737847022, '4': 0.08987510707924219, '5': 0.10330017852518643, '6': 0.11043591334263393, '7': 0.10981639592718391, '8': 0.10157144935809512, '9': 0.08738234930386402, '10': 0.06992353688302537, '11': 0.0520439993459087, '12': 0.036030106156880744, '13': 0.023201070546832396, '14': 0.013896265769510351, '15': 0.007741690453538015, '16': 0.004011632094310968}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.0892, 'recent_quality_edge': -0.808, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.9908} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'CHW 7 - 5 KC', 'winner': 'CHW'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.039, 'recent_form_edge_home_minus_away': -1.018, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 7, 'home_runs': 5, 'winner': 'CHW', 'model_winner': 'CHW', 'simulation_winner': 'CHW', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHW', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 7, 'home_runs': 5}, 'simulation_score': {'away_runs': 7, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9908, 'winner': 'CHW', 'score_reviewed': {'away_runs': 7, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_PITCHER_MATCH | CHW pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_TOTAL_MATCH | CHW pitch_count_summary total, row sum, and pitching total all match: 173. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_PITCHER_MATCH | KC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_TOTAL_MATCH | KC pitch_count_summary total, row sum, and pitching total all match: 168. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | current | KC | PITCHING_REALISM | current:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | KC | STARTER_PRESENT | current:KC includes a starter/opener role. | |||
| PASS | pitching | simulation | CHW | PITCHING_REALISM | simulation:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHW | STARTER_PRESENT | simulation:CHW includes a starter/opener role. | |||
| PASS | pitching | simulation | KC | PITCHING_REALISM | simulation:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | KC | STARTER_PRESENT | simulation:KC includes a starter/opener role. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CHW 7 - 5 KC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CHW 7 - 5 KC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHW wins 7-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=CHW, simulation=CHW, published=CHW. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): CHW wins 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHW wins 7-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 7-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 7-5, final 7-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHW wins 7-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CHW | RECENT_FORM_RANGE | CHW recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHW | TEAM_RECENT_RECORD | CHW wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | KC | RECENT_FORM_RANGE | KC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | KC | TEAM_RECENT_RECORD | KC wins and win_pct agree: 3/10 = 0.300. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CHW | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | KC | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=36; H: current=8, sim=9; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=4, sim=7; R: current=5, sim=7; BB: current=4, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0; Munetaka Murakami: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Kyle Teel: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, R current=0 box=1; Miguel Vargas: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Andrew Benintendi: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=1 box=4; Braden Montgomery: AB current=3 box=4, BB current=1 box=0, SO current=1 box=2; Tristan Peters: AB current=3 box=4, RBI current=0 box=3, R current=0 box=1, BB current=0 box=1; Chase Meidroth: H current=1 box=0, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (H: current=9, sim=7; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=7; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Bobby Witt Jr.: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Maikel Garcia: 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Carter Jensen: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jac Caglianone: RBI current=1 box=2, BB current=0 box=1, SO current=1 box=0; John Rave: AB current=3 box=1, H current=1 box=0, BB current=0 box=3; Michael Massey: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Vinnie Pasquantino: RBI current=1 box=0, BB current=0 box=1; Salvador Perez: H current=1 box=2, R current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.3337477189275315 | 3.2415545520718902 | Base ML historical model prediction | |
| variance_applied | 5 | 3 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 6 | 5 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 7 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 7 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 7 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CHW | 0 | 0 | 0 | 2 | 3 | 0 | 0 | 0 | 2 | 7 | 9 |
| KC | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 5 | 7 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CHW | batting | 31 | 8 | 2 | 0 | 1 | 4 | 5 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | CHW | pitching | 7 | 0 | 5 | 7 | 8 | 9.0 | 5 | 0 | 0 | |||||||||
| current | KC | batting | 34 | 9 | 2 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | KC | pitching | 9 | 0 | 7 | 6 | 7 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | CHW | batting | 36 | 9 | 3 | 0 | 0 | 7 | 7 | 6 | 7 | 0 | 0 | |||||||
| simulation | CHW | pitching | 7 | 0 | 5 | 7 | 8 | 9.0 | 5 | 41 | 173 | |||||||||
| simulation | KC | batting | 34 | 7 | 1 | 0 | 0 | 5 | 5 | 7 | 8 | 0 | 0 | |||||||
| simulation | KC | pitching | 9 | 0 | 7 | 6 | 7 | 9.0 | 7 | 42 | 168 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CHW | LF | Sam Antonacci | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | CHW | 1B | Munetaka Murakami | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | C | Kyle Teel | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | 3B | Miguel Vargas | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | DH | Andrew Benintendi | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | CHW | RF | Braden Montgomery | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | CHW | CF | Tristan Peters | 0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | CHW | 2B | Chase Meidroth | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | SS | Colson Montgomery | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | SS | Bobby Witt Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | KC | 3B | Maikel Garcia | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | KC | C | Carter Jensen | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | KC | RF | Jac Caglianone | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | CF | John Rave | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | 2B | Michael Massey | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | KC | 1B | Vinnie Pasquantino | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | KC | DH | Salvador Perez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | LF | Isaac Collins | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| simulation | CHW | 1 | LF | Sam Antonacci | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | CHW | 2 | C | Kyle Teel | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | CHW | 3 | 3B | Miguel Vargas | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | CHW | 4 | 1B | Munetaka Murakami | 5 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | CHW | 5 | DH | Andrew Benintendi | 5 | 4 | 3 | 1 | 0 | 0 | 1 | 4 | 1 | 1 | 0 | 0.750 |
| simulation | CHW | 6 | CF | Tristan Peters | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 3 | 1 | 1 | 0 | 0.250 |
| simulation | CHW | 7 | 2B | Chase Meidroth | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CHW | 8 | SS | Colson Montgomery | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CHW | 9 | RF | Braden Montgomery | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | KC | 1 | C | Carter Jensen | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | KC | 2 | SS | Bobby Witt Jr. | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | KC | 3 | RF | Jac Caglianone | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.250 |
| simulation | KC | 4 | 3B | Maikel Garcia | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | KC | 5 | 1B | Vinnie Pasquantino | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | KC | 6 | DH | Salvador Perez | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | KC | 7 | 2B | Michael Massey | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 2 | 0 | 0.333 |
| simulation | KC | 8 | CF | John Rave | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0.000 |
| simulation | KC | 9 | LF | Isaac Collins | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CHW | 1 | Bryan Hudson | Starter | 5.0 | 4 | 2 | 2 | 6 | 5 | 0 | 0 | 0 | 3.60 | 2.62 | 1.16 |
| current | CHW | 2 | Grant Taylor | Closer | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.40 | 1.03 |
| current | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 2 | 2 | 2 | 0 | 2 | 0 | 0 | 0 | 13.50 | 2.77 | 1.11 |
| current | CHW | 4 | Jordan Hicks | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 9.00 | 3.83 | 1.50 |
| current | KC | 1 | Seth Lugo | Starter | 4.2 | 4 | 4 | 3 | 6 | 6 | 0 | 0 | 0 | 5.79 | 5.06 | 1.46 |
| current | KC | 2 | Alex Lange | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 5.98 | 1.53 |
| current | KC | 3 | Connor Thomas | Middle Reliever (High Leverage) | 1.0 | 4 | 3 | 3 | 0 | 1 | 0 | 0 | 0 | 27.00 | 8.85 | 1.92 |
| current | KC | 4 | Nate Pearson | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.43 | 1.30 |
| current | KC | 5 | Steven Cruz | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.37 | 1.27 |
| simulation | CHW | 1 | Bryan Hudson | Starter | 5.0 | 4 | 2 | 2 | 6 | 5 | 0 | 25 | 109 | 3.60 | 2.62 | 1.16 |
| simulation | CHW | 2 | Grant Taylor | Closer | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 21 | 0.00 | 2.40 | 1.03 |
| simulation | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 2 | 2 | 2 | 0 | 2 | 0 | 6 | 23 | 13.50 | 2.77 | 1.11 |
| simulation | CHW | 4 | Jordan Hicks | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 1 | 0 | 0 | 5 | 20 | 9.00 | 3.83 | 1.50 |
| simulation | KC | 1 | Seth Lugo | Starter | 4.2 | 4 | 4 | 4 | 6 | 6 | 0 | 24 | 97 | 7.71 | 5.06 | 1.46 |
| simulation | KC | 2 | Steven Cruz | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 4.37 | 1.27 |
| simulation | KC | 3 | Nate Pearson | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 3.43 | 1.30 |
| simulation | KC | 4 | Alex Lange | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 5.98 | 1.53 |
| simulation | KC | 5 | Connor Thomas | Middle Reliever (High Leverage) | 1.0 | 4 | 3 | 3 | 0 | 1 | 0 | 7 | 25 | 27.00 | 8.85 | 1.92 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CHW | Bryan Hudson | Starter | 5.0 | 2 | 4 | 6 | 5 | 25 | 109 |
| CHW | Grant Taylor | Closer | 1.2 | 0 | 0 | 0 | 1 | 5 | 21 |
| CHW | Sean Newcomb | Setup Man | 1.1 | 2 | 2 | 0 | 2 | 6 | 23 |
| CHW | Jordan Hicks | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 5 | 20 |
| KC | Seth Lugo | Starter | 4.2 | 4 | 4 | 6 | 6 | 24 | 97 |
| KC | Alex Lange | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| KC | Connor Thomas | Middle Reliever (High Leverage) | 1.0 | 3 | 4 | 0 | 1 | 7 | 25 |
| KC | Nate Pearson | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| KC | Steven Cruz | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_CIN@ATL
20260923_CIN@ATL.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | ATL | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | CIN | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=9, sim=11; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=2; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: H current=1 box=2, HR current=0 box=2, RBI current=1 box=4, BB current=1 box=0; Ozzie Albies: AB current=4 box=3, 2B current=1 box=0, BB current=0 box=1; Mauricio Dubón: RBI current=1 box=0, R current=0 box=1; Sean Murphy: H current=1 box=3, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Matt Olson: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Michael Harris II: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Brewer Hicklen: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Ha-Seong Kim: AB current=3 box=4, H current=1 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=7, sim=6; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=3, sim=5; SO: current=10, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Juan Brito: 2B current=1 box=0, R current=0 box=1; Elly De La Cruz: 2B current=0 box=1, BB current=1 box=0; Eugenio Suárez: RBI current=1 box=0, SO current=2 box=0; Oswaldo Cabrera: H current=1 box=0, BB current=0 box=1; Sal Stewart: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Dane Myers: 2B current=0 box=1, RBI current=0 box=3, R current=0 box=1, BB current=1 box=0; Will Banfield: AB current=3 box=4, SO current=1 box=0; Matt McLain: AB current=3 box=4, H current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | ATL | BATTING_REALISM | current:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | ATL | BATTING_TOTALS_SUM | current:ATL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | CIN | BATTING_TOTALS_SUM | current:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | ATL | BATTING_TOTALS_SUM | simulation:ATL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match CIN pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=37 matches CIN BF=37. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match ATL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match ATL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match ATL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match ATL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=35 matches ATL BF=35. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.759 -> 0.656 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.75887, 'sample_size': 121, 'empirical_hit_rate': 0.5537, 'empirical_weight': 0.5, 'blended_confidence': 0.656285, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | ATL | CURRENT_LINEUP_SHAPE | ATL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | ATL | CURRENT_MODEL_ZERO_FALLBACK | ATL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | ATL | CURRENT_NAMES_PRESENT | ATL current hitter names are populated. | |||
| PASS | current_payload | current | ATL | CURRENT_PREDICTIONS_MATCH_FINALIZED | ATL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | CIN | CURRENT_LINEUP_SHAPE | CIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CIN | CURRENT_MODEL_ZERO_FALLBACK | CIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CIN | CURRENT_NAMES_PRESENT | CIN current hitter names are populated. | |||
| PASS | current_payload | current | CIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | CIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CIN 6, ATL 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CIN 5 - ATL 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ATL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ATL; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'ATL', 'opponent_team': 'CIN', 'h2h_net_margin': -3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 0, 'opponent_runs': 4, 'margin_for_predicted_team': -4, 'winner': 'CIN'}, {'date': '2026-05-31', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'CIN'}, {'date': '2026-05-30', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'ATL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'CIN', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'CIN', 'actual_margin': 4, 'raw_pick_probability': 0.6, 'artifact': '20260922_CIN@ATL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'ATL', 'guardrail_opponent_team': 'CIN', 'output_pre_simulation_winner': 'ATL', 'output_opponent_team': 'CIN', 'simulation_score_winner': 'ATL', 'final_score_winner': 'ATL', 'pre_simulation_winner': 'ATL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0723, 'recent_form_edge_home_minus_away': 0.54, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ATL', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CIN', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 1.4455, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_CIN@ATL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CIN@ATL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': 2.0, 'absolute_net_margin': 2.0, 'home_average_margin': 0.5, 'home_run_delta': 0.0125, 'away_run_delta': -0.0125, 'evidence': [{'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 5, 'probability': 0.014215125159353467}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.014166902609712172}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.0136843743479561}, {'home_runs': 7, 'away_runs': 4, 'probability': 0.013637952285968825}, {'home_runs': 6, 'away_runs': 6, 'probability': 0.013429520238450196}], 'home_distribution': {'0': 0.02472316477656004, '1': 0.037970796844360055, '2': 0.05426149908013398, '3': 0.07214899620474399, '4': 0.08926171512859812, '5': 0.10275349208436824, '6': 0.11005870085582817, '7': 0.10968534422998204, '8': 0.10171131092392653, '9': 0.0877579217489532, '10': 0.07045305611915645, '11': 0.05262714039105129, '12': 0.036577678362493676, '13': 0.02365478090534481, '14': 0.014233711266652916, '15': 0.007969183049951705, '16': 0.004151508027894962}, 'away_distribution': {'0': 0.04133693599231088, '1': 0.0627664765832162, '2': 0.08667648405047348, '3': 0.10885763404287177, '4': 0.12433705142387608, '5': 0.12915948533659893, '6': 0.12202143159987186, '7': 0.10484071995972806, '8': 0.0819233950309519, '9': 0.058219699231453745, '10': 0.037628425093683034, '11': 0.022118017346524823, '12': 0.011823890946036423, '13': 0.005748555188812926, '14': 0.00254179817358978}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 1.9331, 'recent_quality_edge': 0.54, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.4455} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0723, 'recent_form_edge_home_minus_away': 0.54, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ATL', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CIN', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 1.4455, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 145. | |||||
| PASS | pitch_count | simulation | ATL | PITCH_COUNT_PITCHER_MATCH | ATL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | ATL | PITCH_COUNT_TOTAL_MATCH | ATL pitch_count_summary total, row sum, and pitching total all match: 145. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_PITCHER_MATCH | CIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_TOTAL_MATCH | CIN pitch_count_summary total, row sum, and pitching total all match: 150. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | ATL | PITCHING_REALISM | current:ATL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ATL | STARTER_PRESENT | current:ATL includes a starter/opener role. | |||
| PASS | pitching | current | CIN | PITCHING_REALISM | current:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CIN | STARTER_PRESENT | current:CIN includes a starter/opener role. | |||
| PASS | pitching | simulation | ATL | PITCHING_REALISM | simulation:ATL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | ATL | STARTER_PRESENT | simulation:ATL includes a starter/opener role. | |||
| PASS | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CIN | STARTER_PRESENT | simulation:CIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | ATL | PITCHING_TOTALS_SUM | current:ATL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | ATL | PITCHING_TOTALS_SUM | current:ATL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | ATL | PITCHING_TOTALS_SUM | simulation:ATL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | ATL | PITCHING_TOTALS_SUM | simulation:ATL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CIN 5 - 6 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CIN 5 - 6 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=ATL, simulation=ATL, published=ATL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): ATL wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ATL wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ATL | RECENT_FORM_RANGE | ATL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ATL | TEAM_RECENT_RECORD | ATL wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | CIN | RECENT_FORM_RANGE | CIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CIN | TEAM_RECENT_RECORD | CIN wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | ATL | BATTING_REALISM | current:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | ATL | BATTING_TOTALS_SUM | current:ATL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | CIN | BATTING_TOTALS_SUM | current:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | ATL | BATTING_TOTALS_SUM | simulation:ATL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match CIN pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=37 matches CIN BF=37. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match ATL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match ATL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match ATL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match ATL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=35 matches ATL BF=35. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.759 -> 0.656 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.75887, 'sample_size': 121, 'empirical_hit_rate': 0.5537, 'empirical_weight': 0.5, 'blended_confidence': 0.656285, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | ATL | CURRENT_LINEUP_SHAPE | ATL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | ATL | CURRENT_MODEL_ZERO_FALLBACK | ATL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | ATL | CURRENT_NAMES_PRESENT | ATL current hitter names are populated. | |||
| PASS | current_payload | current | ATL | CURRENT_PREDICTIONS_MATCH_FINALIZED | ATL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | CIN | CURRENT_LINEUP_SHAPE | CIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CIN | CURRENT_MODEL_ZERO_FALLBACK | CIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CIN | CURRENT_NAMES_PRESENT | CIN current hitter names are populated. | |||
| PASS | current_payload | current | CIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | CIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CIN 6, ATL 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CIN 5 - ATL 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ATL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ATL; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'ATL', 'opponent_team': 'CIN', 'h2h_net_margin': -3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 0, 'opponent_runs': 4, 'margin_for_predicted_team': -4, 'winner': 'CIN'}, {'date': '2026-05-31', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'CIN'}, {'date': '2026-05-30', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'ATL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'CIN', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'CIN', 'actual_margin': 4, 'raw_pick_probability': 0.6, 'artifact': '20260922_CIN@ATL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'ATL', 'guardrail_opponent_team': 'CIN', 'output_pre_simulation_winner': 'ATL', 'output_opponent_team': 'CIN', 'simulation_score_winner': 'ATL', 'final_score_winner': 'ATL', 'pre_simulation_winner': 'ATL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0723, 'recent_form_edge_home_minus_away': 0.54, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ATL', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CIN', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 1.4455, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_CIN@ATL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CIN@ATL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': 2.0, 'absolute_net_margin': 2.0, 'home_average_margin': 0.5, 'home_run_delta': 0.0125, 'away_run_delta': -0.0125, 'evidence': [{'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 5, 'probability': 0.014215125159353467}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.014166902609712172}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.0136843743479561}, {'home_runs': 7, 'away_runs': 4, 'probability': 0.013637952285968825}, {'home_runs': 6, 'away_runs': 6, 'probability': 0.013429520238450196}], 'home_distribution': {'0': 0.02472316477656004, '1': 0.037970796844360055, '2': 0.05426149908013398, '3': 0.07214899620474399, '4': 0.08926171512859812, '5': 0.10275349208436824, '6': 0.11005870085582817, '7': 0.10968534422998204, '8': 0.10171131092392653, '9': 0.0877579217489532, '10': 0.07045305611915645, '11': 0.05262714039105129, '12': 0.036577678362493676, '13': 0.02365478090534481, '14': 0.014233711266652916, '15': 0.007969183049951705, '16': 0.004151508027894962}, 'away_distribution': {'0': 0.04133693599231088, '1': 0.0627664765832162, '2': 0.08667648405047348, '3': 0.10885763404287177, '4': 0.12433705142387608, '5': 0.12915948533659893, '6': 0.12202143159987186, '7': 0.10484071995972806, '8': 0.0819233950309519, '9': 0.058219699231453745, '10': 0.037628425093683034, '11': 0.022118017346524823, '12': 0.011823890946036423, '13': 0.005748555188812926, '14': 0.00254179817358978}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 1.9331, 'recent_quality_edge': 0.54, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.4455} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'CIN 5 - 6 ATL', 'winner': 'ATL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0723, 'recent_form_edge_home_minus_away': 0.54, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'ATL', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CIN', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 1.4455, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 145. | |||||
| PASS | pitch_count | simulation | ATL | PITCH_COUNT_PITCHER_MATCH | ATL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | ATL | PITCH_COUNT_TOTAL_MATCH | ATL pitch_count_summary total, row sum, and pitching total all match: 145. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_PITCHER_MATCH | CIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_TOTAL_MATCH | CIN pitch_count_summary total, row sum, and pitching total all match: 150. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | ATL | PITCHING_REALISM | current:ATL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ATL | STARTER_PRESENT | current:ATL includes a starter/opener role. | |||
| PASS | pitching | current | CIN | PITCHING_REALISM | current:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CIN | STARTER_PRESENT | current:CIN includes a starter/opener role. | |||
| PASS | pitching | simulation | ATL | PITCHING_REALISM | simulation:ATL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | ATL | STARTER_PRESENT | simulation:ATL includes a starter/opener role. | |||
| PASS | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CIN | STARTER_PRESENT | simulation:CIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | ATL | PITCHING_TOTALS_SUM | current:ATL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | ATL | PITCHING_TOTALS_SUM | current:ATL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | ATL | PITCHING_TOTALS_SUM | simulation:ATL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | ATL | PITCHING_TOTALS_SUM | simulation:ATL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CIN 5 - 6 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CIN 5 - 6 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=ATL, simulation=ATL, published=ATL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): ATL wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ATL wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ATL | RECENT_FORM_RANGE | ATL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ATL | TEAM_RECENT_RECORD | ATL wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | CIN | RECENT_FORM_RANGE | CIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CIN | TEAM_RECENT_RECORD | CIN wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | ATL | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | CIN | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=9, sim=11; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=2; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: H current=1 box=2, HR current=0 box=2, RBI current=1 box=4, BB current=1 box=0; Ozzie Albies: AB current=4 box=3, 2B current=1 box=0, BB current=0 box=1; Mauricio Dubón: RBI current=1 box=0, R current=0 box=1; Sean Murphy: H current=1 box=3, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Matt Olson: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Michael Harris II: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Brewer Hicklen: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Ha-Seong Kim: AB current=3 box=4, H current=1 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=7, sim=6; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=3, sim=5; SO: current=10, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Juan Brito: 2B current=1 box=0, R current=0 box=1; Elly De La Cruz: 2B current=0 box=1, BB current=1 box=0; Eugenio Suárez: RBI current=1 box=0, SO current=2 box=0; Oswaldo Cabrera: H current=1 box=0, BB current=0 box=1; Sal Stewart: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Dane Myers: 2B current=0 box=1, RBI current=0 box=3, R current=0 box=1, BB current=1 box=0; Will Banfield: AB current=3 box=4, SO current=1 box=0; Matt McLain: AB current=3 box=4, H current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.4523480439504493 | 6.194669647770747 | Base ML historical model prediction | |
| variance_applied | 3 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 6 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 6 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 6 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CIN | 0 | 1 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 6 |
| ATL | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 2 | 6 | 11 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CIN | batting | 32 | 7 | 1 | 0 | 1 | 4 | 3 | 2 | 10 | 0 | 0 | 0 | 0 | |||||
| current | CIN | pitching | 11 | 2 | 6 | 2 | 8 | 8.0 | 6 | 0 | 0 | |||||||||
| current | ATL | batting | 33 | 9 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | ATL | pitching | 6 | 0 | 5 | 2 | 5 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | CIN | batting | 33 | 6 | 2 | 0 | 0 | 5 | 5 | 2 | 5 | 0 | 0 | |||||||
| simulation | CIN | pitching | 11 | 2 | 6 | 2 | 8 | 8.0 | 6 | 37 | 150 | |||||||||
| simulation | ATL | batting | 34 | 11 | 2 | 0 | 2 | 6 | 6 | 2 | 8 | 1 | 0 | |||||||
| simulation | ATL | pitching | 6 | 0 | 5 | 2 | 5 | 9.0 | 5 | 35 | 145 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CIN | RF | Juan Brito | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CIN | SS | Elly De La Cruz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | DH | Eugenio Suárez | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 | |
| current | CIN | LF | Oswaldo Cabrera | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | 1B | Sal Stewart | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CIN | CF | Dane Myers | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CIN | C | Will Banfield | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CIN | 2B | Matt McLain | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | 3B | Ke'Bryan Hayes | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | ATL | C | Drake Baldwin | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | 2B | Ozzie Albies | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | ATL | LF | Mauricio Dubón | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | ATL | DH | Sean Murphy | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | 1B | Matt Olson | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | CF | Michael Harris II | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | RF | Brewer Hicklen | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | ATL | SS | Ha-Seong Kim | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | 3B | Austin Riley | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| simulation | CIN | 1 | RF | Juan Brito | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 2 | SS | Elly De La Cruz | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 3 | 1B | Sal Stewart | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | CIN | 4 | CF | Dane Myers | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 3 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 5 | DH | Eugenio Suárez | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | CIN | 6 | 2B | Matt McLain | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CIN | 7 | LF | Oswaldo Cabrera | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | CIN | 8 | C | Will Banfield | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CIN | 9 | 3B | Ke'Bryan Hayes | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | ATL | 1 | C | Drake Baldwin | 5 | 4 | 2 | 0 | 0 | 2 | 1 | 4 | 0 | 1 | 0 | 0.500 |
| simulation | ATL | 2 | LF | Mauricio Dubón | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | ATL | 3 | 1B | Matt Olson | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | ATL | 4 | 2B | Ozzie Albies | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | ATL | 5 | CF | Michael Harris II | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 6 | 3B | Austin Riley | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 7 | DH | Sean Murphy | 4 | 3 | 3 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1.000 |
| simulation | ATL | 8 | RF | Brewer Hicklen | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | ATL | 9 | SS | Ha-Seong Kim | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CIN | 1 | Andrew Abbott | Starter | 4.1 | 5 | 1 | 1 | 1 | 8 | 1 | 0 | 0 | 2.08 | 4.70 | 1.47 |
| current | CIN | 2 | Brock Burke | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 13.50 | 2.33 | 1.27 |
| current | CIN | 3 | Emilio Pagán | Closer | 1.1 | 2 | 2 | 2 | 1 | 0 | 0 | 0 | 0 | 13.50 | 3.46 | 1.03 |
| current | CIN | 6 | Luis Mey | Setup Man | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 5.85 | 1.64 |
| current | ATL | 1 | Chris Sale | Starter | 6.1 | 3 | 2 | 2 | 2 | 5 | 0 | 0 | 0 | 2.84 | 2.18 | 0.99 |
| current | ATL | 2 | Dylan Lee | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 2.91 | 0.92 |
| current | ATL | 3 | Raisel Iglesias | Closer | 1.0 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 18.00 | 2.64 | 1.10 |
| current | ATL | 4 | Didier Fuentes | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.26 | 1.05 |
| simulation | CIN | 1 | Andrew Abbott | Starter | 4.1 | 5 | 1 | 1 | 1 | 8 | 1 | 19 | 81 | 2.08 | 4.70 | 1.47 |
| simulation | CIN | 2 | Emilio Pagán | Closer | 1.1 | 2 | 2 | 2 | 1 | 0 | 0 | 7 | 27 | 13.50 | 3.46 | 1.03 |
| simulation | CIN | 3 | Luis Mey | Setup Man | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 5 | 19 | 9.00 | 5.85 | 1.64 |
| simulation | CIN | 4 | Brock Burke | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 6 | 23 | 13.50 | 2.33 | 1.27 |
| simulation | ATL | 1 | Chris Sale | Starter | 6.1 | 3 | 2 | 2 | 2 | 5 | 0 | 24 | 102 | 2.84 | 2.18 | 0.99 |
| simulation | ATL | 2 | Raisel Iglesias | Closer | 1.0 | 2 | 2 | 2 | 0 | 0 | 0 | 5 | 19 | 18.00 | 2.64 | 1.10 |
| simulation | ATL | 3 | Dylan Lee | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 4 | 16 | 9.00 | 2.91 | 0.92 |
| simulation | ATL | 4 | Didier Fuentes | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 | 0.00 | 2.26 | 1.05 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CIN | Andrew Abbott | Starter | 4.1 | 1 | 5 | 1 | 8 | 19 | 81 |
| CIN | Brock Burke | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 0 | 0 | 6 | 23 |
| CIN | Emilio Pagán | Closer | 1.1 | 2 | 2 | 1 | 0 | 7 | 27 |
| CIN | Luis Mey | Setup Man | 1.0 | 1 | 2 | 0 | 0 | 5 | 19 |
| ATL | Chris Sale | Starter | 6.1 | 2 | 3 | 2 | 5 | 24 | 102 |
| ATL | Dylan Lee | Setup Man | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| ATL | Raisel Iglesias | Closer | 1.0 | 2 | 2 | 0 | 0 | 5 | 19 |
| ATL | Didier Fuentes | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 8 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_CLE@BOS
20260923_CLE@BOS.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BOS | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | CLE | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=6; 2B: current=2, sim=0; R: current=3, sim=4; BB: current=3, sim=4). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Nick Sogard: H current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Roman Anthony: H current=1 box=0, SO current=1 box=0; Jahmai Jones: AB current=3 box=5, H current=0 box=1, R current=0 box=1, SO current=1 box=2; Wilyer Abreu: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andruw Monasterio: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Trevor Story: AB current=4 box=3, H current=1 box=3, HR current=0 box=1, RBI current=1 box=3; Ceddanne Rafaela: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model pitcher projections differ from final simulation pitching box score (H: current=5, sim=6). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=4, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Chase DeLauter: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; José Ramírez: AB current=4 box=5, H current=1 box=2, RBI current=1 box=2, BB current=1 box=0; Steven Kwan: RBI current=0 box=1, SO current=0 box=1; Jo Adell: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Travis Bazzana: AB current=3 box=4, H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Nathaniel Lowe: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Petey Halpin: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Patrick Bailey: AB current=3 box=4, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BOS | BATTING_REALISM | current:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CLE | BATTING_REALISM | current:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CLE | BATTING_REALISM | simulation:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BOS | BATTING_TOTALS_SUM | current:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | current | CLE | BATTING_TOTALS_SUM | current:CLE batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BOS | BATTING_TOTALS_SUM | simulation:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CLE | BATTING_TOTALS_SUM | simulation:CLE batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match CLE pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match CLE pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match CLE pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match CLE pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=40 matches CLE BF=40. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match BOS pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match BOS pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_SO_MATCH | simulation:CLE batting strikeouts match BOS pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CLE | PA_BF_MATCH | simulation:CLE PA=41 matches BOS BF=41. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.556 -> 0.549 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.556082, 'sample_size': 505, 'empirical_hit_rate': 0.5426, 'empirical_weight': 0.5, 'blended_confidence': 0.549341, 'published_confidence': 0.505259, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BOS | CURRENT_LINEUP_SHAPE | BOS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BOS | CURRENT_MODEL_ZERO_FALLBACK | BOS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BOS | CURRENT_NAMES_PRESENT | BOS current hitter names are populated. | |||
| PASS | current_payload | current | BOS | CURRENT_PREDICTIONS_MATCH_FINALIZED | BOS hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | CLE | CURRENT_LINEUP_SHAPE | CLE current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CLE | CURRENT_MODEL_ZERO_FALLBACK | CLE current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CLE | CURRENT_NAMES_PRESENT | CLE current hitter names are populated. | |||
| PASS | current_payload | current | CLE | CURRENT_PREDICTIONS_MATCH_FINALIZED | CLE hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 10 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CLE 8, BOS 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CLE 5 - BOS 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CLE. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for CLE; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup'], 'signals': {'predicted_team': 'CLE', 'opponent_team': 'BOS', 'h2h_net_margin': -12, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'CLE'}, {'date': '2026-05-31', 'predicted_team_runs': 4, 'opponent_runs': 9, 'margin_for_predicted_team': -5, 'winner': 'BOS'}, {'date': '2026-05-30', 'predicted_team_runs': 1, 'opponent_runs': 9, 'margin_for_predicted_team': -8, 'winner': 'BOS'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'CLE', 'home': 'BOS', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'CLE', 'actual_margin': 1, 'raw_pick_probability': 0.505257, 'artifact': '20260922_CLE@BOS.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CLE', 'guardrail_opponent_team': 'BOS', 'output_pre_simulation_winner': 'CLE', 'output_opponent_team': 'BOS', 'simulation_score_winner': 'CLE', 'final_score_winner': 'CLE', 'pre_simulation_winner': 'CLE', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0603, 'recent_form_edge_home_minus_away': -0.768, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BOS', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0583, 'winner': 'CLE', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_CLE@BOS. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CLE@BOS. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': 11.0, 'absolute_net_margin': 11.0, 'home_average_margin': 2.75, 'home_run_delta': 0.0687, 'away_run_delta': -0.0687, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': 8.0}, {'game_id': None, 'home_margin': -1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.01863432237596184}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.018517030991005178}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.018316966586225936}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01820167275714231}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.017030505865193023}], 'home_distribution': {'0': 0.050484642274007493, '1': 0.07618748945279427, '2': 0.10329086982192219, '3': 0.1258038982757299, '4': 0.13765124859936692, '5': 0.135306949739123, '6': 0.11948515316183642, '7': 0.09478981545486732, '8': 0.06755590295280613, '9': 0.04325325750701611, '10': 0.02487873136497316, '11': 0.012855575784166556, '12': 0.005967723972350543, '13': 0.0024887416390399634}, 'away_distribution': {'0': 0.04869959809874009, '1': 0.07358240133095455, '2': 0.1001209193138949, '3': 0.12268119365350502, '4': 0.1353734351527527, '5': 0.1345213441899018, '6': 0.12037914086599143, '7': 0.0970093451577408, '8': 0.07040089799310074, '9': 0.04600924608588262, '10': 0.02707785930569593, '11': 0.014351121130309, '12': 0.0068495119102241955, '13': 0.0029439858113061656}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.5032, 'recent_quality_edge': -0.768, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0583} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0603, 'recent_form_edge_home_minus_away': -0.768, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BOS', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0583, 'winner': 'CLE', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 170. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 179. | |||||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_PITCHER_MATCH | BOS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_TOTAL_MATCH | BOS pitch_count_summary total, row sum, and pitching total all match: 179. | |||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_PITCHER_MATCH | CLE pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_TOTAL_MATCH | CLE pitch_count_summary total, row sum, and pitching total all match: 170. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BOS | PITCHING_REALISM | current:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BOS | STARTER_PRESENT | current:BOS includes a starter/opener role. | |||
| PASS | pitching | current | CLE | PITCHING_REALISM | current:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CLE | STARTER_PRESENT | current:CLE includes a starter/opener role. | |||
| PASS | pitching | simulation | BOS | PITCHING_REALISM | simulation:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BOS | STARTER_PRESENT | simulation:BOS includes a starter/opener role. | |||
| PASS | pitching | simulation | CLE | PITCHING_REALISM | simulation:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CLE | STARTER_PRESENT | simulation:CLE includes a starter/opener role. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CLE 5 - 4 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CLE 5 - 4 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CLE wins 5-4 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=CLE, simulation=CLE, published=CLE. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): CLE wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CLE wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CLE wins 5-4 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | CLE | RECENT_FORM_RANGE | CLE recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CLE | TEAM_RECENT_RECORD | CLE wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BOS | BATTING_REALISM | current:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CLE | BATTING_REALISM | current:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CLE | BATTING_REALISM | simulation:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BOS | BATTING_TOTALS_SUM | current:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | current | CLE | BATTING_TOTALS_SUM | current:CLE batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BOS | BATTING_TOTALS_SUM | simulation:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CLE | BATTING_TOTALS_SUM | simulation:CLE batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match CLE pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match CLE pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match CLE pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match CLE pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=40 matches CLE BF=40. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match BOS pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match BOS pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_SO_MATCH | simulation:CLE batting strikeouts match BOS pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CLE | PA_BF_MATCH | simulation:CLE PA=41 matches BOS BF=41. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.556 -> 0.549 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.556082, 'sample_size': 505, 'empirical_hit_rate': 0.5426, 'empirical_weight': 0.5, 'blended_confidence': 0.549341, 'published_confidence': 0.505259, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BOS | CURRENT_LINEUP_SHAPE | BOS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BOS | CURRENT_MODEL_ZERO_FALLBACK | BOS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BOS | CURRENT_NAMES_PRESENT | BOS current hitter names are populated. | |||
| PASS | current_payload | current | BOS | CURRENT_PREDICTIONS_MATCH_FINALIZED | BOS hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | CLE | CURRENT_LINEUP_SHAPE | CLE current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CLE | CURRENT_MODEL_ZERO_FALLBACK | CLE current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CLE | CURRENT_NAMES_PRESENT | CLE current hitter names are populated. | |||
| PASS | current_payload | current | CLE | CURRENT_PREDICTIONS_MATCH_FINALIZED | CLE hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 10 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CLE 8, BOS 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CLE 5 - BOS 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CLE. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for CLE; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup'], 'signals': {'predicted_team': 'CLE', 'opponent_team': 'BOS', 'h2h_net_margin': -12, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'CLE'}, {'date': '2026-05-31', 'predicted_team_runs': 4, 'opponent_runs': 9, 'margin_for_predicted_team': -5, 'winner': 'BOS'}, {'date': '2026-05-30', 'predicted_team_runs': 1, 'opponent_runs': 9, 'margin_for_predicted_team': -8, 'winner': 'BOS'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'CLE', 'home': 'BOS', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'CLE', 'actual_margin': 1, 'raw_pick_probability': 0.505257, 'artifact': '20260922_CLE@BOS.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CLE', 'guardrail_opponent_team': 'BOS', 'output_pre_simulation_winner': 'CLE', 'output_opponent_team': 'BOS', 'simulation_score_winner': 'CLE', 'final_score_winner': 'CLE', 'pre_simulation_winner': 'CLE', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0603, 'recent_form_edge_home_minus_away': -0.768, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BOS', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0583, 'winner': 'CLE', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_CLE@BOS. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CLE@BOS. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': 11.0, 'absolute_net_margin': 11.0, 'home_average_margin': 2.75, 'home_run_delta': 0.0687, 'away_run_delta': -0.0687, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': 8.0}, {'game_id': None, 'home_margin': -1.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.01863432237596184}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.018517030991005178}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.018316966586225936}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01820167275714231}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.017030505865193023}], 'home_distribution': {'0': 0.050484642274007493, '1': 0.07618748945279427, '2': 0.10329086982192219, '3': 0.1258038982757299, '4': 0.13765124859936692, '5': 0.135306949739123, '6': 0.11948515316183642, '7': 0.09478981545486732, '8': 0.06755590295280613, '9': 0.04325325750701611, '10': 0.02487873136497316, '11': 0.012855575784166556, '12': 0.005967723972350543, '13': 0.0024887416390399634}, 'away_distribution': {'0': 0.04869959809874009, '1': 0.07358240133095455, '2': 0.1001209193138949, '3': 0.12268119365350502, '4': 0.1353734351527527, '5': 0.1345213441899018, '6': 0.12037914086599143, '7': 0.0970093451577408, '8': 0.07040089799310074, '9': 0.04600924608588262, '10': 0.02707785930569593, '11': 0.014351121130309, '12': 0.0068495119102241955, '13': 0.0029439858113061656}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.5032, 'recent_quality_edge': -0.768, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0583} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'CLE 5 - 4 BOS', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0603, 'recent_form_edge_home_minus_away': -0.768, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BOS', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0583, 'winner': 'CLE', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 170. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 179. | |||||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_PITCHER_MATCH | BOS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_TOTAL_MATCH | BOS pitch_count_summary total, row sum, and pitching total all match: 179. | |||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_PITCHER_MATCH | CLE pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_TOTAL_MATCH | CLE pitch_count_summary total, row sum, and pitching total all match: 170. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BOS | PITCHING_REALISM | current:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BOS | STARTER_PRESENT | current:BOS includes a starter/opener role. | |||
| PASS | pitching | current | CLE | PITCHING_REALISM | current:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CLE | STARTER_PRESENT | current:CLE includes a starter/opener role. | |||
| PASS | pitching | simulation | BOS | PITCHING_REALISM | simulation:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BOS | STARTER_PRESENT | simulation:BOS includes a starter/opener role. | |||
| PASS | pitching | simulation | CLE | PITCHING_REALISM | simulation:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CLE | STARTER_PRESENT | simulation:CLE includes a starter/opener role. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CLE 5 - 4 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CLE 5 - 4 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CLE wins 5-4 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=CLE, simulation=CLE, published=CLE. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): CLE wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CLE wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CLE wins 5-4 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | CLE | RECENT_FORM_RANGE | CLE recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CLE | TEAM_RECENT_RECORD | CLE wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BOS | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | CLE | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=6; 2B: current=2, sim=0; R: current=3, sim=4; BB: current=3, sim=4). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Nick Sogard: H current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Roman Anthony: H current=1 box=0, SO current=1 box=0; Jahmai Jones: AB current=3 box=5, H current=0 box=1, R current=0 box=1, SO current=1 box=2; Wilyer Abreu: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andruw Monasterio: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Trevor Story: AB current=4 box=3, H current=1 box=3, HR current=0 box=1, RBI current=1 box=3; Ceddanne Rafaela: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model pitcher projections differ from final simulation pitching box score (H: current=5, sim=6). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=4, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Chase DeLauter: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; José Ramírez: AB current=4 box=5, H current=1 box=2, RBI current=1 box=2, BB current=1 box=0; Steven Kwan: RBI current=0 box=1, SO current=0 box=1; Jo Adell: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Travis Bazzana: AB current=3 box=4, H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Nathaniel Lowe: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Petey Halpin: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Patrick Bailey: AB current=3 box=4, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.912807674712477 | 5.001384880573751 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | 1 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 5 | 8 |
| BOS | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 6 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CLE | batting | 32 | 8 | 2 | 0 | 1 | 4 | 5 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | CLE | pitching | 5 | 1 | 4 | 4 | 8 | 9.0 | 4 | 0 | 0 | |||||||||
| current | BOS | batting | 33 | 8 | 2 | 0 | 1 | 4 | 3 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | BOS | pitching | 8 | 0 | 5 | 3 | 7 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | CLE | batting | 38 | 8 | 3 | 0 | 0 | 5 | 5 | 3 | 7 | 0 | 0 | |||||||
| simulation | CLE | pitching | 6 | 1 | 4 | 4 | 8 | 10.0 | 4 | 40 | 170 | |||||||||
| simulation | BOS | batting | 36 | 6 | 0 | 0 | 1 | 4 | 4 | 4 | 8 | 0 | 0 | |||||||
| simulation | BOS | pitching | 8 | 0 | 5 | 3 | 7 | 10.0 | 5 | 41 | 179 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CLE | DH | Chase DeLauter | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CLE | 3B | José Ramírez | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CLE | LF | Steven Kwan | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 | |
| current | CLE | RF | Jo Adell | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CLE | 2B | Travis Bazzana | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CLE | 1B | Nathaniel Lowe | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CLE | CF | Petey Halpin | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CLE | C | Patrick Bailey | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CLE | SS | Brayan Rocchio | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BOS | 1B | Nick Sogard | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BOS | C | Adley Rutschman | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BOS | LF | Roman Anthony | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BOS | DH | Jahmai Jones | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BOS | RF | Wilyer Abreu | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | 2B | Andruw Monasterio | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BOS | SS | Trevor Story | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | CF | Ceddanne Rafaela | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | 3B | Caleb Durbin | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 | |
| simulation | CLE | 1 | LF | Steven Kwan | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 |
| simulation | CLE | 2 | 3B | José Ramírez | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.400 |
| simulation | CLE | 3 | DH | Chase DeLauter | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | CLE | 4 | RF | Jo Adell | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CLE | 5 | 2B | Travis Bazzana | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CLE | 6 | 1B | Nathaniel Lowe | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | CLE | 7 | C | Patrick Bailey | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | CLE | 8 | CF | Petey Halpin | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | CLE | 9 | SS | Brayan Rocchio | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 1 | LF | Roman Anthony | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | BOS | 2 | 1B | Nick Sogard | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BOS | 3 | DH | Jahmai Jones | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | BOS | 4 | RF | Wilyer Abreu | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BOS | 5 | C | Adley Rutschman | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | BOS | 6 | CF | Ceddanne Rafaela | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BOS | 7 | 3B | Caleb Durbin | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | BOS | 8 | SS | Trevor Story | 4 | 3 | 3 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 0 | 1.000 |
| simulation | BOS | 9 | 2B | Andruw Monasterio | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CLE | 1 | Foster Griffin | Starter | 5.1 | 4 | 4 | 4 | 3 | 6 | 1 | 0 | 0 | 6.75 | 3.67 | 1.19 |
| current | CLE | 2 | Cade Smith | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.99 | 0.98 |
| current | CLE | 3 | Hunter Gaddis | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 2.62 | 1.17 |
| current | CLE | 4 | Erik Sabrowski | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.53 | 1.06 |
| current | CLE | 5 | Tim Herrin | Middle Reliever (High Leverage) | 0.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.95 | 1.27 | |
| current | BOS | 1 | Sonny Gray | Starter | 6.0 | 6 | 3 | 3 | 3 | 6 | 0 | 0 | 0 | 4.50 | 2.82 | 1.16 |
| current | BOS | 2 | Aroldis Chapman | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 6.75 | 1.42 | 1.07 |
| current | BOS | 3 | Erik Miller | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 2.86 | 1.35 |
| current | BOS | 4 | Garrett Whitlock | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.75 | 0.88 |
| simulation | CLE | 1 | Foster Griffin | Starter | 5.1 | 4 | 3 | 3 | 3 | 6 | 1 | 23 | 101 | 5.06 | 3.67 | 1.19 |
| simulation | CLE | 2 | Cade Smith | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 1.99 | 0.98 |
| simulation | CLE | 3 | Hunter Gaddis | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 17 | 0.00 | 2.62 | 1.17 |
| simulation | CLE | 4 | Erik Sabrowski | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 21 | 0.00 | 2.53 | 1.06 |
| simulation | CLE | 5 | Tim Herrin | Middle Reliever (High Leverage) | 0.2 | 2 | 1 | 1 | 0 | 0 | 0 | 4 | 14 | 13.50 | 2.95 | 1.27 |
| simulation | BOS | 1 | Sonny Gray | Starter | 6.0 | 6 | 3 | 3 | 3 | 6 | 0 | 27 | 118 | 4.50 | 2.82 | 1.16 |
| simulation | BOS | 2 | Aroldis Chapman | Closer | 1.1 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 17 | 6.75 | 1.42 | 1.07 |
| simulation | BOS | 3 | Erik Miller | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 4 | 16 | 9.00 | 2.86 | 1.35 |
| simulation | BOS | 4 | Garrett Whitlock | Middle Reliever (High Leverage) | 1.2 | 1 | 0 | 0 | 0 | 0 | 0 | 6 | 28 | 0.00 | 1.75 | 0.88 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CLE | Foster Griffin | Starter | 5.1 | 3 | 4 | 3 | 6 | 23 | 101 |
| CLE | Cade Smith | Closer | 1.1 | 0 | 0 | 0 | 1 | 4 | 17 |
| CLE | Hunter Gaddis | Setup Man | 1.0 | 0 | 0 | 1 | 0 | 4 | 17 |
| CLE | Erik Sabrowski | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 1 | 5 | 21 |
| CLE | Tim Herrin | Middle Reliever (High Leverage) | 0.2 | 1 | 2 | 0 | 0 | 4 | 14 |
| BOS | Sonny Gray | Starter | 6.0 | 3 | 6 | 3 | 6 | 27 | 118 |
| BOS | Aroldis Chapman | Closer | 1.1 | 1 | 0 | 0 | 0 | 4 | 17 |
| BOS | Erik Miller | Setup Man | 1.0 | 1 | 1 | 0 | 1 | 4 | 16 |
| BOS | Garrett Whitlock | Middle Reliever (High Leverage) | 1.2 | 0 | 1 | 0 | 0 | 6 | 28 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_HOU@SEA
20260923_HOU@SEA.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | HOU | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SEA | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model pitcher projections differ from final simulation pitching box score (H: current=12, sim=11). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=32, sim=45; H: current=8, sim=10; 3B: current=0, sim=1; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=8, sim=9; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: AB current=4 box=6, H current=1 box=2, BB current=1 box=0, SO current=1 box=2; Jose Altuve: AB current=4 box=6, 2B current=1 box=0, R current=1 box=0; Yainer Diaz: AB current=4 box=5, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Isaac Paredes: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, SO current=0 box=2; Lucas Spence: AB current=3 box=5, H current=1 box=3, HR current=0 box=1, RBI current=0 box=3; Taylor Trammell: AB current=3 box=5, 3B current=0 box=1, BB current=1 box=0, SO current=1 box=0; Christian Walker: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cam Smith: BB current=0 box=1, SO current=1 box=0, SF current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=47; H: current=7, sim=11; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SO: current=9, sim=12). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Randy Arozarena: AB current=4 box=6, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; J.P. Crawford: AB current=4 box=5, H current=1 box=2, SO current=1 box=2; Dominic Canzone: AB current=4 box=6, 2B current=0 box=1, HR current=1 box=0, SO current=1 box=3; Cal Raleigh: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0; Josh Naylor: AB current=4 box=5, H current=1 box=2, RBI current=0 box=2, R current=0 box=1; Lazaro Montes: AB current=3 box=5, R current=0 box=1, SO current=1 box=0; Cole Young: AB current=4 box=5; Julio Rodríguez: AB current=4 box=5, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SEA | BATTING_TOTALS_SUM | current:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match SEA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match SEA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match SEA pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match SEA pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=50 matches SEA BF=50. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match HOU pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=49 matches HOU BF=49. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.544 -> 0.548 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.543922, 'sample_size': 777, 'empirical_hit_rate': 0.5521, 'empirical_weight': 0.5, 'blended_confidence': 0.548011, 'published_confidence': 0.515298, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | HOU | CURRENT_LINEUP_SHAPE | HOU current lineup has 9 expected positions. | |||
| PASS | current_payload | current | HOU | CURRENT_MODEL_ZERO_FALLBACK | HOU current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | HOU | CURRENT_NAMES_PRESENT | HOU current hitter names are populated. | |||
| PASS | current_payload | current | HOU | CURRENT_PREDICTIONS_MATCH_FINALIZED | HOU hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SEA | CURRENT_LINEUP_SHAPE | SEA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SEA | CURRENT_MODEL_ZERO_FALLBACK | SEA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SEA | CURRENT_NAMES_PRESENT | SEA current hitter names are populated. | |||
| PASS | current_payload | current | SEA | CURRENT_PREDICTIONS_MATCH_FINALIZED | SEA hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.485. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.515. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.515. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 12 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: HOU 10, SEA 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 4 - SEA 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SEA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SEA; cap=0.53, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'SEA', 'opponent_team': 'HOU', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 0, 'opponent_runs': 7, 'margin_for_predicted_team': -7, 'winner': 'HOU'}, {'date': '2026-08-16', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'SEA'}, {'date': '2026-08-15', 'predicted_team_runs': 10, 'opponent_runs': 5, 'margin_for_predicted_team': 5, 'winner': 'SEA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260922', 'away': 'HOU', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'HOU', 'actual_margin': 7, 'raw_pick_probability': 0.6, 'artifact': '20260922_HOU@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260816', 'away': 'SEA', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.5125, 'artifact': '20260816_SEA@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260815', 'away': 'SEA', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'SEA', 'actual_margin': 5, 'raw_pick_probability': 0.55645, 'artifact': '20260815_SEA@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260814', 'away': 'SEA', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 3, 'raw_pick_probability': 0.512, 'artifact': '20260814_SEA@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'HOU', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'HOU', 'simulation_score_winner': 'SEA', 'final_score_winner': 'SEA', 'pre_simulation_winner': 'SEA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0002, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'SEA', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'HOU', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.083, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_HOU@SEA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@SEA. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 1.0, 'absolute_net_margin': 1.0, 'home_average_margin': 0.2, 'home_run_delta': 0.0058, 'away_run_delta': -0.0058, 'evidence': [{'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.0210384582645494}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.020000968130966065}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.019934624309460386}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.019742111532827122}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.0197336691337355}], 'home_distribution': {'0': 0.05605565356775576, '1': 0.08428152267928186, '2': 0.1129994590778465, '3': 0.13509876981990634, '4': 0.14403149313926072, '5': 0.1369287268063752, '6': 0.11608142095396409, '7': 0.08775298532001992, '8': 0.05915509044801325, '9': 0.035559314822503754, '10': 0.019061000122020107, '11': 0.009111062434835511, '12': 0.0038835008082169806}, 'away_distribution': {'0': 0.05818031056104009, '1': 0.08734949248768645, '2': 0.11660537548076987, '3': 0.13840462162109268, '4': 0.14606845909878752, '5': 0.1370680196569158, '6': 0.11436408598801057, '7': 0.08484319671481694, '8': 0.05596522039765284, '9': 0.0328241318307207, '10': 0.0171175700137053, '11': 0.007937154103542786, '12': 0.003272362045258534}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.1178, 'recent_quality_edge': 0.456, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.083} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0002, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'SEA', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'HOU', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.083, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 209. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 212. | |||||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_PITCHER_MATCH | HOU pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_TOTAL_MATCH | HOU pitch_count_summary total, row sum, and pitching total all match: 209. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_PITCHER_MATCH | SEA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_TOTAL_MATCH | SEA pitch_count_summary total, row sum, and pitching total all match: 212. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 12 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | current | SEA | PITCHING_REALISM | current:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SEA | STARTER_PRESENT | current:SEA includes a starter/opener role. | |||
| PASS | pitching | simulation | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | SEA | PITCHING_REALISM | simulation:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SEA | STARTER_PRESENT | simulation:SEA includes a starter/opener role. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: HOU 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 5-4 (Extra Innings - 12). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SEA, simulation=SEA, published=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.515. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): SEA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 5-4 (Extra Innings - 12). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | HOU | RECENT_FORM_RANGE | HOU recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | HOU | TEAM_RECENT_RECORD | HOU wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | SEA | RECENT_FORM_RANGE | SEA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SEA | TEAM_RECENT_RECORD | SEA wins and win_pct agree: 3/10 = 0.300. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SEA | BATTING_TOTALS_SUM | current:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match SEA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match SEA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match SEA pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match SEA pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=50 matches SEA BF=50. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match HOU pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=49 matches HOU BF=49. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.544 -> 0.548 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.543922, 'sample_size': 777, 'empirical_hit_rate': 0.5521, 'empirical_weight': 0.5, 'blended_confidence': 0.548011, 'published_confidence': 0.515298, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | HOU | CURRENT_LINEUP_SHAPE | HOU current lineup has 9 expected positions. | |||
| PASS | current_payload | current | HOU | CURRENT_MODEL_ZERO_FALLBACK | HOU current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | HOU | CURRENT_NAMES_PRESENT | HOU current hitter names are populated. | |||
| PASS | current_payload | current | HOU | CURRENT_PREDICTIONS_MATCH_FINALIZED | HOU hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SEA | CURRENT_LINEUP_SHAPE | SEA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SEA | CURRENT_MODEL_ZERO_FALLBACK | SEA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SEA | CURRENT_NAMES_PRESENT | SEA current hitter names are populated. | |||
| PASS | current_payload | current | SEA | CURRENT_PREDICTIONS_MATCH_FINALIZED | SEA hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.485. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.515. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.515. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 12 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: HOU 10, SEA 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 4 - SEA 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SEA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SEA; cap=0.53, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'SEA', 'opponent_team': 'HOU', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 0, 'opponent_runs': 7, 'margin_for_predicted_team': -7, 'winner': 'HOU'}, {'date': '2026-08-16', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'SEA'}, {'date': '2026-08-15', 'predicted_team_runs': 10, 'opponent_runs': 5, 'margin_for_predicted_team': 5, 'winner': 'SEA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260922', 'away': 'HOU', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'HOU', 'actual_margin': 7, 'raw_pick_probability': 0.6, 'artifact': '20260922_HOU@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260816', 'away': 'SEA', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.5125, 'artifact': '20260816_SEA@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260815', 'away': 'SEA', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'SEA', 'actual_margin': 5, 'raw_pick_probability': 0.55645, 'artifact': '20260815_SEA@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260814', 'away': 'SEA', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 3, 'raw_pick_probability': 0.512, 'artifact': '20260814_SEA@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'HOU', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'HOU', 'simulation_score_winner': 'SEA', 'final_score_winner': 'SEA', 'pre_simulation_winner': 'SEA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0002, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'SEA', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'HOU', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.083, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_HOU@SEA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@SEA. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 1.0, 'absolute_net_margin': 1.0, 'home_average_margin': 0.2, 'home_run_delta': 0.0058, 'away_run_delta': -0.0058, 'evidence': [{'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.0210384582645494}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.020000968130966065}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.019934624309460386}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.019742111532827122}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.0197336691337355}], 'home_distribution': {'0': 0.05605565356775576, '1': 0.08428152267928186, '2': 0.1129994590778465, '3': 0.13509876981990634, '4': 0.14403149313926072, '5': 0.1369287268063752, '6': 0.11608142095396409, '7': 0.08775298532001992, '8': 0.05915509044801325, '9': 0.035559314822503754, '10': 0.019061000122020107, '11': 0.009111062434835511, '12': 0.0038835008082169806}, 'away_distribution': {'0': 0.05818031056104009, '1': 0.08734949248768645, '2': 0.11660537548076987, '3': 0.13840462162109268, '4': 0.14606845909878752, '5': 0.1370680196569158, '6': 0.11436408598801057, '7': 0.08484319671481694, '8': 0.05596522039765284, '9': 0.0328241318307207, '10': 0.0171175700137053, '11': 0.007937154103542786, '12': 0.003272362045258534}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.1178, 'recent_quality_edge': 0.456, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.083} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0002, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'SEA', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'HOU', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.083, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 209. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 212. | |||||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_PITCHER_MATCH | HOU pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | HOU | PITCH_COUNT_TOTAL_MATCH | HOU pitch_count_summary total, row sum, and pitching total all match: 209. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_PITCHER_MATCH | SEA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_TOTAL_MATCH | SEA pitch_count_summary total, row sum, and pitching total all match: 212. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 12 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | current | SEA | PITCHING_REALISM | current:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SEA | STARTER_PRESENT | current:SEA includes a starter/opener role. | |||
| PASS | pitching | simulation | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | SEA | PITCHING_REALISM | simulation:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SEA | STARTER_PRESENT | simulation:SEA includes a starter/opener role. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: HOU 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 5-4 (Extra Innings - 12). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SEA, simulation=SEA, published=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.515. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): SEA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 5-4 (Extra Innings - 12). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | HOU | RECENT_FORM_RANGE | HOU recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | HOU | TEAM_RECENT_RECORD | HOU wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | SEA | RECENT_FORM_RANGE | SEA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SEA | TEAM_RECENT_RECORD | SEA wins and win_pct agree: 3/10 = 0.300. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | HOU | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SEA | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model pitcher projections differ from final simulation pitching box score (H: current=12, sim=11). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=32, sim=45; H: current=8, sim=10; 3B: current=0, sim=1; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=8, sim=9; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: AB current=4 box=6, H current=1 box=2, BB current=1 box=0, SO current=1 box=2; Jose Altuve: AB current=4 box=6, 2B current=1 box=0, R current=1 box=0; Yainer Diaz: AB current=4 box=5, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Isaac Paredes: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, SO current=0 box=2; Lucas Spence: AB current=3 box=5, H current=1 box=3, HR current=0 box=1, RBI current=0 box=3; Taylor Trammell: AB current=3 box=5, 3B current=0 box=1, BB current=1 box=0, SO current=1 box=0; Christian Walker: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cam Smith: BB current=0 box=1, SO current=1 box=0, SF current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=47; H: current=7, sim=11; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SO: current=9, sim=12). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Randy Arozarena: AB current=4 box=6, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; J.P. Crawford: AB current=4 box=5, H current=1 box=2, SO current=1 box=2; Dominic Canzone: AB current=4 box=6, 2B current=0 box=1, HR current=1 box=0, SO current=1 box=3; Cal Raleigh: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0; Josh Naylor: AB current=4 box=5, H current=1 box=2, RBI current=0 box=2, R current=0 box=1; Lazaro Montes: AB current=3 box=5, R current=0 box=1, SO current=1 box=0; Cole Young: AB current=4 box=5; Julio Rodríguez: AB current=4 box=5, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.7163892507255993 | 4.440718053507966 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.515 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | 0 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 10 |
| SEA | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 5 | 11 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | HOU | pitching | 12 | 1 | 5 | 2 | 12 | 8.0 | 5 | 0 | 0 | |||||||||
| current | SEA | batting | 34 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | SEA | pitching | 10 | 2 | 4 | 4 | 9 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | HOU | batting | 45 | 10 | 1 | 1 | 2 | 4 | 4 | 4 | 9 | 1 | 0 | |||||||
| simulation | HOU | pitching | 11 | 1 | 5 | 2 | 12 | 12.0 | 5 | 49 | 209 | |||||||||
| simulation | SEA | batting | 47 | 11 | 1 | 0 | 1 | 5 | 5 | 2 | 12 | 0 | 0 | |||||||
| simulation | SEA | pitching | 10 | 2 | 4 | 4 | 9 | 12.0 | 4 | 50 | 212 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | DH | Yordan Alvarez | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | HOU | 2B | Jose Altuve | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | HOU | C | Yainer Diaz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | 3B | Isaac Paredes | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | HOU | CF | Lucas Spence | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | HOU | LF | Taylor Trammell | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | HOU | 1B | Christian Walker | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | RF | Cam Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | HOU | SS | Nick Allen | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SEA | LF | Randy Arozarena | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SEA | SS | J.P. Crawford | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | SEA | DH | Dominic Canzone | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | C | Cal Raleigh | 0 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.000 | |
| current | SEA | 1B | Josh Naylor | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SEA | RF | Lazaro Montes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | SEA | 2B | Cole Young | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SEA | CF | Julio Rodríguez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SEA | 3B | Weston Wilson | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | HOU | 1 | 2B | Jose Altuve | 6 | 6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.167 |
| simulation | HOU | 2 | DH | Yordan Alvarez | 6 | 6 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.333 |
| simulation | HOU | 3 | 3B | Isaac Paredes | 6 | 5 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.200 |
| simulation | HOU | 4 | C | Yainer Diaz | 6 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.200 |
| simulation | HOU | 5 | 1B | Christian Walker | 6 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | HOU | 6 | LF | Taylor Trammell | 5 | 5 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.200 |
| simulation | HOU | 7 | RF | Cam Smith | 5 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | HOU | 8 | CF | Lucas Spence | 5 | 5 | 3 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.600 |
| simulation | HOU | 9 | SS | Nick Allen | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SEA | 1 | SS | J.P. Crawford | 6 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.400 |
| simulation | SEA | 2 | LF | Randy Arozarena | 6 | 6 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.333 |
| simulation | SEA | 3 | DH | Dominic Canzone | 6 | 6 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 3 | 0 | 0.167 |
| simulation | SEA | 4 | C | Cal Raleigh | 6 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | SEA | 5 | CF | Julio Rodríguez | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | SEA | 6 | 1B | Josh Naylor | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.400 |
| simulation | SEA | 7 | 2B | Cole Young | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | SEA | 8 | RF | Lazaro Montes | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.200 |
| simulation | SEA | 9 | 3B | Weston Wilson | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.200 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | 1 | Ethan Pecko | Starter | 5.0 | 4 | 0 | 0 | 2 | 8 | 0 | 0 | 0 | 0.00 | 3.77 | 1.12 |
| current | HOU | 2 | Logan VanWey | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.80 | 0.90 |
| current | HOU | 3 | Josh Hader | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 0.62 | 0.58 |
| current | HOU | 4 | AJ Blubaugh | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 27.00 | 3.66 | 1.24 |
| current | HOU | 6 | Bryan Abreu | Middle Reliever (High Leverage) | 0.0 | 4 | 2 | 2 | 0 | 2 | 0 | 0 | 0 | 3.88 | 1.33 | |
| current | HOU | 7 | Ronel Blanco | Reliever | 0.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | |||
| current | HOU | 8 | Bryan King | Reliever | 0.0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |||
| current | SEA | 1 | George Kirby | Starter | 6.0 | 6 | 2 | 2 | 1 | 8 | 1 | 0 | 0 | 3.00 | 4.24 | 1.39 |
| current | SEA | 2 | Andrés Muñoz | Closer | 2.0 | 2 | 2 | 2 | 2 | 0 | 1 | 0 | 0 | 9.00 | 3.92 | 1.19 |
| current | SEA | 3 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.72 | 1.42 |
| current | SEA | 4 | José A. Ferrer | Setup Man | 0.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 3.98 | 1.42 | |
| current | SEA | 5 | Gabe Speier | Middle Reliever (High Leverage) | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3.07 | 1.11 | |
| simulation | HOU | 1 | Ethan Pecko | Starter | 5.0 | 4 | 0 | 0 | 2 | 8 | 0 | 21 | 95 | 0.00 | 3.77 | 1.12 |
| simulation | HOU | 2 | Josh Hader | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 0.62 | 0.58 |
| simulation | HOU | 3 | Logan VanWey | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 20 | 0.00 | 1.80 | 0.90 |
| simulation | HOU | 4 | Bryan Abreu | Middle Reliever (High Leverage) | 1.1 | 4 | 2 | 2 | 0 | 2 | 0 | 8 | 29 | 13.50 | 3.88 | 1.33 |
| simulation | HOU | 5 | AJ Blubaugh | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 4 | 16 | 9.00 | 3.66 | 1.24 |
| simulation | HOU | 6 | Ronel Blanco | Reliever | 1.0 | 0 | 1 | 1 | 0 | 1 | 0 | 3 | 13 | 9.00 | 7.11 | 1.42 |
| simulation | HOU | 7 | Bryan King | Reliever | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 5 | 19 | 9.00 | 4.32 | 1.39 |
| simulation | SEA | 1 | George Kirby | Starter | 6.0 | 6 | 2 | 2 | 1 | 8 | 1 | 25 | 110 | 3.00 | 4.24 | 1.39 |
| simulation | SEA | 2 | Andrés Muñoz | Closer | 2.0 | 2 | 2 | 2 | 2 | 0 | 1 | 10 | 41 | 9.00 | 3.92 | 1.19 |
| simulation | SEA | 3 | José A. Ferrer | Setup Man | 1.1 | 0 | 0 | 0 | 1 | 0 | 0 | 5 | 21 | 0.00 | 3.98 | 1.42 |
| simulation | SEA | 4 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 5 | 19 | 0.00 | 3.72 | 1.42 |
| simulation | SEA | 5 | Gabe Speier | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 21 | 0.00 | 3.07 | 1.11 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| HOU | Ethan Pecko | Starter | 5.0 | 0 | 4 | 2 | 8 | 21 | 95 |
| HOU | Logan VanWey | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 20 |
| HOU | Josh Hader | Closer | 1.1 | 0 | 0 | 0 | 1 | 4 | 17 |
| HOU | AJ Blubaugh | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| HOU | Bryan Abreu | Middle Reliever (High Leverage) | 1.1 | 2 | 4 | 0 | 2 | 8 | 29 |
| HOU | Ronel Blanco | Reliever | 1.0 | 1 | 0 | 0 | 1 | 3 | 13 |
| HOU | Bryan King | Reliever | 1.0 | 1 | 2 | 0 | 0 | 5 | 19 |
| SEA | George Kirby | Starter | 6.0 | 2 | 6 | 1 | 8 | 25 | 110 |
| SEA | Andrés Muñoz | Closer | 2.0 | 2 | 2 | 2 | 0 | 10 | 41 |
| SEA | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 0 | 2 | 0 | 1 | 5 | 19 |
| SEA | José A. Ferrer | Setup Man | 1.1 | 0 | 0 | 1 | 0 | 5 | 21 |
| SEA | Gabe Speier | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 5 | 21 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_LAA@OAK
20260923_LAA@OAK.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAA | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=40; H: current=9, sim=13; HR: current=1, sim=2; R: current=4, sim=5; BB: current=3, sim=1; SO: current=8, sim=11; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: AB current=4 box=5, H current=1 box=2, R current=1 box=0, BB current=1 box=0; Vaughn Grissom: AB current=4 box=5, 2B current=1 box=0, R current=0 box=1, SO current=1 box=2; Wade Meckler: AB current=4 box=5, R current=1 box=0, BB current=1 box=0; Denzer Guzman: HBP current=0 box=1; Zach Neto: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Bryce Teodosio: AB current=3 box=4, H current=1 box=3, RBI current=0 box=1, R current=0 box=1; Christian Moore: H current=1 box=0, RBI current=1 box=0; Jose Siri: AB current=3 box=5, H current=1 box=3, 2B current=0 box=1, HR current=0 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; RBI: current=5, sim=4; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Shea Langeliers: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Henry Bolte: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Jeff McNeil: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, HBP current=0 box=1; Carlos Cortes: R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Alika Williams: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, SO current=1 box=2; Brian Serven: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, R current=0 box=1; Donovan Walton: AB current=3 box=4, H current=1 box=0, BB current=1 box=0; Zack Gelof: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAA | BATTING_TOTALS_SUM | current:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAA | BATTING_TOTALS_SUM | simulation:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match OAK pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match OAK pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match OAK pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=42 matches OAK BF=42. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match LAA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match LAA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match LAA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=38 matches LAA BF=38. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.701 -> 0.628 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.700811, 'sample_size': 680, 'empirical_hit_rate': 0.5544, 'empirical_weight': 0.5, 'blended_confidence': 0.627606, 'published_confidence': 0.54, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | LAA | CURRENT_LINEUP_SHAPE | LAA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAA | CURRENT_MODEL_ZERO_FALLBACK | LAA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAA | CURRENT_NAMES_PRESENT | LAA current hitter names are populated. | |||
| PASS | current_payload | current | LAA | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.460. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: LAA 13, OAK 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAA 5 - OAK 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAA; cap=0.54, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; local prediction memory shows 3 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'LAA', 'opponent_team': 'OAK', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 7, 'opponent_runs': 9, 'margin_for_predicted_team': -2, 'winner': 'OAK'}, {'date': '2026-06-28', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'LAA'}, {'date': '2026-06-27', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'LAA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260922', 'away': 'LAA', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'OAK', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260922_LAA@OAK.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'OAK', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'LAA', 'actual_margin': 3, 'raw_pick_probability': 0.525, 'artifact': '20260627_OAK@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260626', 'away': 'OAK', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'OAK', 'actual_margin': 6, 'raw_pick_probability': 0.51, 'artifact': '20260626_OAK@LAA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAA', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'LAA', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'LAA', 'final_score_winner': 'LAA', 'pre_simulation_winner': 'LAA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0587, 'recent_form_edge_home_minus_away': -0.398, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.6489, 'winner': 'LAA', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_LAA@OAK. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAA@OAK. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 0.0, 'absolute_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': -0.0, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.01700572833385477}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.016841805982570388}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.016561786406643044}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.016402143319563852}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.015751074137893332}], 'home_distribution': {'0': 0.05212164669980816, '1': 0.07857691091128938, '2': 0.10620147645415404, '3': 0.1286841141897606, '4': 0.13979064219035972, '5': 0.13614134673639158, '6': 0.11886685291004387, '7': 0.09304440575305854, '8': 0.06529479282353559, '9': 0.04107954358336498, '10': 0.02317028901159757, '11': 0.011716450767195345, '12': 0.005311527969440456}, 'away_distribution': {'0': 0.034976427456724205, '1': 0.05333681302932599, '2': 0.07460828177228174, '3': 0.0957316129171943, '4': 0.11267616981431654, '5': 0.12165140718573454, '6': 0.12047877968566795, '7': 0.10944913780763439, '8': 0.09120580718099769, '9': 0.06971737063742828, '10': 0.04888412765137967, '11': 0.03144148872173178, '12': 0.018550118775642045, '13': 0.01003918945129335, '14': 0.004983781193459592, '15': 0.002269486719187929}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.8217, 'recent_quality_edge': -0.328, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.6489} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0587, 'recent_form_edge_home_minus_away': -0.398, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.6489, 'winner': 'LAA', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 161. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 179. | |||||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_PITCHER_MATCH | LAA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_TOTAL_MATCH | LAA pitch_count_summary total, row sum, and pitching total all match: 161. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_PITCHER_MATCH | OAK pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_TOTAL_MATCH | OAK pitch_count_summary total, row sum, and pitching total all match: 179. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAA | PITCHING_REALISM | current:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAA | STARTER_PRESENT | current:LAA includes a starter/opener role. | |||
| PASS | pitching | current | OAK | PITCHING_REALISM | current:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | OAK | STARTER_PRESENT | current:OAK includes a starter/opener role. | |||
| PASS | pitching | simulation | LAA | PITCHING_REALISM | simulation:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAA | STARTER_PRESENT | simulation:LAA includes a starter/opener role. | |||
| PASS | pitching | simulation | OAK | PITCHING_REALISM | simulation:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | OAK | STARTER_PRESENT | simulation:OAK includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: LAA 5 - 4 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAA 5 - 4 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAA wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAA, simulation=LAA, published=LAA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.540. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): LAA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAA wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAA wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | OAK | RECENT_FORM_RANGE | OAK recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | OAK | TEAM_RECENT_RECORD | OAK wins and win_pct agree: 2/10 = 0.200. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAA | BATTING_TOTALS_SUM | current:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAA | BATTING_TOTALS_SUM | simulation:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match OAK pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match OAK pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match OAK pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=42 matches OAK BF=42. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match LAA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match LAA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match LAA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=38 matches LAA BF=38. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.701 -> 0.628 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.700811, 'sample_size': 680, 'empirical_hit_rate': 0.5544, 'empirical_weight': 0.5, 'blended_confidence': 0.627606, 'published_confidence': 0.54, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | LAA | CURRENT_LINEUP_SHAPE | LAA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAA | CURRENT_MODEL_ZERO_FALLBACK | LAA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAA | CURRENT_NAMES_PRESENT | LAA current hitter names are populated. | |||
| PASS | current_payload | current | LAA | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.460. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: LAA 13, OAK 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAA 5 - OAK 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAA; cap=0.54, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; local prediction memory shows 3 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'LAA', 'opponent_team': 'OAK', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 7, 'opponent_runs': 9, 'margin_for_predicted_team': -2, 'winner': 'OAK'}, {'date': '2026-06-28', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'LAA'}, {'date': '2026-06-27', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'LAA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260922', 'away': 'LAA', 'home': 'OAK', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'OAK', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260922_LAA@OAK.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'OAK', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'LAA', 'actual_margin': 3, 'raw_pick_probability': 0.525, 'artifact': '20260627_OAK@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260626', 'away': 'OAK', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'OAK', 'actual_margin': 6, 'raw_pick_probability': 0.51, 'artifact': '20260626_OAK@LAA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAA', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'LAA', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'LAA', 'final_score_winner': 'LAA', 'pre_simulation_winner': 'LAA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0587, 'recent_form_edge_home_minus_away': -0.398, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.6489, 'winner': 'LAA', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_LAA@OAK. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAA@OAK. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 0.0, 'absolute_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': -0.0, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.01700572833385477}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.016841805982570388}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.016561786406643044}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.016402143319563852}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.015751074137893332}], 'home_distribution': {'0': 0.05212164669980816, '1': 0.07857691091128938, '2': 0.10620147645415404, '3': 0.1286841141897606, '4': 0.13979064219035972, '5': 0.13614134673639158, '6': 0.11886685291004387, '7': 0.09304440575305854, '8': 0.06529479282353559, '9': 0.04107954358336498, '10': 0.02317028901159757, '11': 0.011716450767195345, '12': 0.005311527969440456}, 'away_distribution': {'0': 0.034976427456724205, '1': 0.05333681302932599, '2': 0.07460828177228174, '3': 0.0957316129171943, '4': 0.11267616981431654, '5': 0.12165140718573454, '6': 0.12047877968566795, '7': 0.10944913780763439, '8': 0.09120580718099769, '9': 0.06971737063742828, '10': 0.04888412765137967, '11': 0.03144148872173178, '12': 0.018550118775642045, '13': 0.01003918945129335, '14': 0.004983781193459592, '15': 0.002269486719187929}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.8217, 'recent_quality_edge': -0.328, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.6489} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'LAA 5 - 4 OAK', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0587, 'recent_form_edge_home_minus_away': -0.398, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'LAA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.6489, 'winner': 'LAA', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 161. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 179. | |||||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_PITCHER_MATCH | LAA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_TOTAL_MATCH | LAA pitch_count_summary total, row sum, and pitching total all match: 161. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_PITCHER_MATCH | OAK pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_TOTAL_MATCH | OAK pitch_count_summary total, row sum, and pitching total all match: 179. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAA | PITCHING_REALISM | current:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAA | STARTER_PRESENT | current:LAA includes a starter/opener role. | |||
| PASS | pitching | current | OAK | PITCHING_REALISM | current:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | OAK | STARTER_PRESENT | current:OAK includes a starter/opener role. | |||
| PASS | pitching | simulation | LAA | PITCHING_REALISM | simulation:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAA | STARTER_PRESENT | simulation:LAA includes a starter/opener role. | |||
| PASS | pitching | simulation | OAK | PITCHING_REALISM | simulation:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | OAK | STARTER_PRESENT | simulation:OAK includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: LAA 5 - 4 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAA 5 - 4 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAA wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAA, simulation=LAA, published=LAA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.540. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): LAA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAA wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAA wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | OAK | RECENT_FORM_RANGE | OAK recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | OAK | TEAM_RECENT_RECORD | OAK wins and win_pct agree: 2/10 = 0.200. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAA | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=40; H: current=9, sim=13; HR: current=1, sim=2; R: current=4, sim=5; BB: current=3, sim=1; SO: current=8, sim=11; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: AB current=4 box=5, H current=1 box=2, R current=1 box=0, BB current=1 box=0; Vaughn Grissom: AB current=4 box=5, 2B current=1 box=0, R current=0 box=1, SO current=1 box=2; Wade Meckler: AB current=4 box=5, R current=1 box=0, BB current=1 box=0; Denzer Guzman: HBP current=0 box=1; Zach Neto: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Bryce Teodosio: AB current=3 box=4, H current=1 box=3, RBI current=0 box=1, R current=0 box=1; Christian Moore: H current=1 box=0, RBI current=1 box=0; Jose Siri: AB current=3 box=5, H current=1 box=3, 2B current=0 box=1, HR current=0 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; RBI: current=5, sim=4; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Shea Langeliers: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Henry Bolte: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Jeff McNeil: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, HBP current=0 box=1; Carlos Cortes: R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Alika Williams: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, SO current=1 box=2; Brian Serven: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, R current=0 box=1; Donovan Walton: AB current=3 box=4, H current=1 box=0, BB current=1 box=0; Zack Gelof: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.347463069729739 | 4.18628607631783 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.540 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAA | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 5 | 13 |
| OAK | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 | 6 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAA | batting | 33 | 9 | 2 | 0 | 1 | 5 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | LAA | pitching | 6 | 1 | 4 | 4 | 8 | 9.0 | 4 | 0 | 0 | |||||||||
| current | OAK | batting | 32 | 8 | 2 | 0 | 1 | 5 | 4 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | OAK | pitching | 13 | 2 | 5 | 1 | 11 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | LAA | batting | 40 | 13 | 2 | 0 | 2 | 5 | 5 | 1 | 11 | 0 | 1 | |||||||
| simulation | LAA | pitching | 6 | 1 | 4 | 4 | 8 | 9.0 | 4 | 38 | 161 | |||||||||
| simulation | OAK | batting | 33 | 6 | 2 | 0 | 1 | 4 | 4 | 4 | 8 | 0 | 1 | |||||||
| simulation | OAK | pitching | 13 | 2 | 5 | 1 | 11 | 9.0 | 5 | 42 | 179 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAA | DH | Mike Trout | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAA | 1B | Vaughn Grissom | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | RF | Wade Meckler | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAA | 3B | Denzer Guzman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | SS | Zach Neto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAA | CF | Bryce Teodosio | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAA | 2B | Christian Moore | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | LF | Jose Siri | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | LAA | C | Tyler Heineman | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | OAK | DH | Shea Langeliers | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | OAK | CF | Henry Bolte | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | OAK | 1B | Jeff McNeil | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | OAK | LF | Carlos Cortes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | SS | Alika Williams | 0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | C | Brian Serven | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.000 | |
| current | OAK | 2B | Donovan Walton | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | OAK | 3B | Zack Gelof | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | OAK | RF | Lawrence Butler | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| simulation | LAA | 1 | SS | Zach Neto | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.400 |
| simulation | LAA | 2 | DH | Mike Trout | 5 | 5 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | LAA | 3 | 1B | Vaughn Grissom | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.200 |
| simulation | LAA | 4 | 3B | Denzer Guzman | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0.250 |
| simulation | LAA | 5 | RF | Wade Meckler | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | LAA | 6 | LF | Jose Siri | 5 | 5 | 3 | 1 | 0 | 2 | 1 | 2 | 0 | 1 | 0 | 0.600 |
| simulation | LAA | 7 | 2B | Christian Moore | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | LAA | 8 | CF | Bryce Teodosio | 4 | 4 | 3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.750 |
| simulation | LAA | 9 | C | Tyler Heineman | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | OAK | 1 | CF | Henry Bolte | 5 | 5 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.200 |
| simulation | OAK | 2 | RF | Lawrence Butler | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | OAK | 3 | DH | Shea Langeliers | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | OAK | 4 | 1B | Jeff McNeil | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.333 |
| simulation | OAK | 5 | 3B | Zack Gelof | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | OAK | 6 | 2B | Donovan Walton | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | OAK | 7 | LF | Carlos Cortes | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | OAK | 8 | SS | Alika Williams | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | OAK | 9 | C | Brian Serven | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAA | 1 | Walbert Ureña | Starter | 6.0 | 3 | 3 | 3 | 4 | 6 | 0 | 0 | 0 | 4.50 | 2.74 | 1.21 |
| current | LAA | 2 | Ben Joyce | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.11 | 1.11 |
| current | LAA | 3 | Ryan Watson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.06 | 1.28 |
| current | LAA | 4 | Tayler Saucedo | Middle Reliever (High Leverage) | 0.2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.61 | 1.02 |
| current | LAA | 5 | José Fermin | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 27.00 | 3.12 | 1.29 |
| current | OAK | 1 | Jeffrey Springs | Starter | 4.2 | 8 | 4 | 4 | 1 | 6 | 1 | 0 | 0 | 7.71 | 6.18 | 1.47 |
| current | OAK | 2 | Seth Johnson | Reliever | 1.1 | 3 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | ||
| current | OAK | 3 | Chris Roycroft | Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 9.00 | ||
| current | OAK | 4 | Hogan Harris | Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | ||
| current | OAK | 5 | Luis Medina | Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | ||
| simulation | LAA | 1 | Walbert Ureña | Starter | 6.0 | 3 | 3 | 3 | 4 | 6 | 0 | 26 | 113 | 4.50 | 2.74 | 1.21 |
| simulation | LAA | 2 | Ben Joyce | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 4.11 | 1.11 |
| simulation | LAA | 3 | Ryan Watson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 4.06 | 1.28 |
| simulation | LAA | 4 | Tayler Saucedo | Middle Reliever (High Leverage) | 0.2 | 1 | 0 | 0 | 0 | 0 | 0 | 3 | 11 | 0.00 | 2.61 | 1.02 |
| simulation | LAA | 5 | José Fermin | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 0 | 1 | 1 | 2 | 7 | 27.00 | 3.12 | 1.29 |
| simulation | OAK | 1 | Jeffrey Springs | Starter | 4.2 | 8 | 4 | 4 | 1 | 6 | 1 | 24 | 99 | 7.71 | 6.18 | 1.47 |
| simulation | OAK | 2 | Seth Johnson | Reliever | 1.1 | 3 | 0 | 0 | 0 | 2 | 0 | 7 | 35 | 0.00 | 4.94 | 1.58 |
| simulation | OAK | 3 | Chris Roycroft | Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 1 | 5 | 19 | 9.00 | 6.19 | 1.79 |
| simulation | OAK | 4 | Hogan Harris | Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.42 | 1.46 |
| simulation | OAK | 5 | Luis Medina | Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.90 | 1.29 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| LAA | Walbert Ureña | Starter | 6.0 | 3 | 3 | 4 | 6 | 26 | 113 |
| LAA | Ben Joyce | Closer | 1.0 | 0 | 1 | 0 | 1 | 4 | 17 |
| LAA | Ryan Watson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| LAA | Tayler Saucedo | Middle Reliever (High Leverage) | 0.2 | 0 | 1 | 0 | 0 | 3 | 11 |
| LAA | José Fermin | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 0 | 1 | 2 | 7 |
| OAK | Jeffrey Springs | Starter | 4.2 | 4 | 8 | 1 | 6 | 24 | 99 |
| OAK | Seth Johnson | Reliever | 1.1 | 0 | 3 | 0 | 2 | 7 | 35 |
| OAK | Chris Roycroft | Reliever | 1.0 | 1 | 2 | 0 | 1 | 5 | 19 |
| OAK | Hogan Harris | Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| OAK | Luis Medina | Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_MIA@CHC
20260923_MIA@CHC.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CHC | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIA | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=30; H: current=8, sim=7; 2B: current=1, sim=0; 3B: current=0, sim=1; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=4, sim=6; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Seiya Suzuki: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, SO current=1 box=0; Michael Busch: R current=1 box=0, BB current=1 box=0; Pete Crow-Armstrong: HR current=1 box=0, RBI current=1 box=0; Pedro Ramirez: H current=1 box=3, 3B current=0 box=1, RBI current=1 box=3, R current=0 box=1; Michael Conforto: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Nico Hoerner: AB current=4 box=2, H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Ian Happ: AB current=4 box=3, H current=1 box=0, SO current=1 box=0; Miguel Amaya: BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (H: current=5, sim=7; BB: current=3, sim=6). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; HR: current=1, sim=2; R: current=4, sim=5; BB: current=3, sim=2; SO: current=8, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Griffin Conine: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Javier Sanoja: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=2; Heriberto Hernández: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Otto Lopez: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Kyle Stowers: H current=1 box=3, HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Graham Pauley: AB current=3 box=4, R current=0 box=1, SO current=1 box=2; Joe Mack: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Jakob Marsee: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CHC | BATTING_REALISM | current:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIA | BATTING_REALISM | current:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHC | BATTING_REALISM | simulation:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIA | BATTING_REALISM | simulation:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CHC | BATTING_TOTALS_SUM | current:CHC batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIA | BATTING_TOTALS_SUM | current:MIA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHC | BATTING_TOTALS_SUM | simulation:CHC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIA | BATTING_TOTALS_SUM | simulation:MIA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_BB_MATCH | simulation:CHC batting walks match MIA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_HR_MATCH | simulation:CHC batting home runs match MIA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match MIA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match MIA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=37 matches MIA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_BB_MATCH | simulation:MIA batting walks match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_HR_MATCH | simulation:MIA batting home runs match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match CHC pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match CHC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=37 matches CHC BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.598 -> 0.583 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.597738, 'sample_size': 644, 'empirical_hit_rate': 0.5683, 'empirical_weight': 0.5, 'blended_confidence': 0.583019, 'published_confidence': 0.53, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CHC | CURRENT_LINEUP_SHAPE | CHC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHC | CURRENT_MODEL_ZERO_FALLBACK | CHC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHC | CURRENT_NAMES_PRESENT | CHC current hitter names are populated. | |||
| PASS | current_payload | current | CHC | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHC hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIA | CURRENT_LINEUP_SHAPE | MIA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIA | CURRENT_MODEL_ZERO_FALLBACK | MIA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIA | CURRENT_NAMES_PRESENT | MIA current hitter names are populated. | |||
| PASS | current_payload | current | MIA | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIA hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.470. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIA 8, CHC 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIA 5 - CHC 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CHC. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for CHC; cap=0.53, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs', 'repeat-pick evidence cleared the reversal bar after a blowout miss and an opponent breakout; this guardrail caps confidence and shifts runs toward the opponent, it has no authority to change the winner'], 'signals': {'predicted_team': 'CHC', 'opponent_team': 'MIA', 'h2h_net_margin': -12, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 2, 'opponent_runs': 8, 'margin_for_predicted_team': -6, 'winner': 'MIA'}, {'date': '2026-09-06', 'predicted_team_runs': 3, 'opponent_runs': 10, 'margin_for_predicted_team': -7, 'winner': 'MIA'}, {'date': '2026-09-05', 'predicted_team_runs': 6, 'opponent_runs': 5, 'margin_for_predicted_team': 1, 'winner': 'CHC'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 2, 'prior_predictions': [{'date': '20260922', 'away': 'MIA', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'MIA', 'actual_margin': 6, 'raw_pick_probability': 0.53, 'artifact': '20260922_MIA@CHC.json', 'verification': 'pregame_official_final'}, {'date': '20260906', 'away': 'CHC', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'MIA', 'actual_margin': 7, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260906_CHC@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260905', 'away': 'CHC', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 1, 'raw_pick_probability': 0.73953, 'artifact': '20260905_CHC@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260904', 'away': 'CHC', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 5, 'raw_pick_probability': 0.724519, 'artifact': '20260904_CHC@MIA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CHC', 'guardrail_opponent_team': 'MIA', 'output_pre_simulation_winner': 'CHC', 'output_opponent_team': 'MIA', 'simulation_score_winner': 'CHC', 'final_score_winner': 'CHC', 'pre_simulation_winner': 'CHC', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0127, 'recent_form_edge_home_minus_away': 0.408, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHC', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHC', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7969, 'winner': 'CHC', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_MIA@CHC. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIA@CHC. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': -7.0, 'absolute_net_margin': 7.0, 'home_average_margin': -1.75, 'home_run_delta': -0.0437, 'away_run_delta': 0.0437, 'evidence': [{'game_id': None, 'home_margin': -6.0}, {'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 5, 'probability': 0.015668183138782633}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.015544453927007127}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015363394245918061}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.015242071904750206}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.014533192735074857}], 'home_distribution': {'0': 0.0326023035717915, '1': 0.04979610026902181, '2': 0.06999090405615524, '3': 0.09052886977746012, '4': 0.10775360733418086, '5': 0.11802547657464203, '6': 0.11896492412645582, '7': 0.11034720208010487, '8': 0.09418959823303898, '9': 0.07398501865889356, '10': 0.05347907114887499, '11': 0.03557321754352229, '12': 0.02177517558020875, '13': 0.012265899656648758, '14': 0.006358232055052323, '15': 0.003033001084392283, '16': 0.0013313982495555309}, 'away_distribution': {'0': 0.04436270415749494, '1': 0.0672232067198889, '2': 0.09226309148028643, '3': 0.11469496198033596, '4': 0.12914221867268436, '5': 0.13170422503802776, '6': 0.12165745679743709, '7': 0.10178536116974628, '8': 0.0771328667592364, '9': 0.052942102686734514, '10': 0.03291322673397276, '11': 0.018533067154541307, '12': 0.00945217382238143, '13': 0.004366401444990439, '14': 0.001826935382241521}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 1.0064, 'recent_quality_edge': 0.408, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.7969} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0127, 'recent_form_edge_home_minus_away': 0.408, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHC', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHC', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7969, 'winner': 'CHC', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 159. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_PITCHER_MATCH | CHC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_TOTAL_MATCH | CHC pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_PITCHER_MATCH | MIA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_TOTAL_MATCH | MIA pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | CHC | PITCHING_REALISM | current:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHC | STARTER_PRESENT | current:CHC includes a starter/opener role. | |||
| PASS | pitching | current | MIA | PITCHING_REALISM | current:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIA | STARTER_PRESENT | current:MIA includes a starter/opener role. | |||
| PASS | pitching | simulation | CHC | PITCHING_REALISM | simulation:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHC | STARTER_PRESENT | simulation:CHC includes a starter/opener role. | |||
| PASS | pitching | simulation | MIA | PITCHING_REALISM | simulation:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIA | STARTER_PRESENT | simulation:MIA includes a starter/opener role. | |||
| PASS | pitching_totals | current | CHC | PITCHING_TOTALS_SUM | current:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHC | PITCHING_TOTALS_SUM | current:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIA 5 - 6 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIA 5 - 6 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=CHC, simulation=CHC, published=CHC. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): CHC wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHC wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CHC | RECENT_FORM_RANGE | CHC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHC | TEAM_RECENT_RECORD | CHC wins and win_pct agree: 6/10 = 0.600. | |||
| PASS | team_recent_performance | current | MIA | RECENT_FORM_RANGE | MIA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIA | TEAM_RECENT_RECORD | MIA wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | CHC | BATTING_REALISM | current:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIA | BATTING_REALISM | current:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHC | BATTING_REALISM | simulation:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIA | BATTING_REALISM | simulation:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CHC | BATTING_TOTALS_SUM | current:CHC batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIA | BATTING_TOTALS_SUM | current:MIA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHC | BATTING_TOTALS_SUM | simulation:CHC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIA | BATTING_TOTALS_SUM | simulation:MIA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_BB_MATCH | simulation:CHC batting walks match MIA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_HR_MATCH | simulation:CHC batting home runs match MIA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match MIA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match MIA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=37 matches MIA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_BB_MATCH | simulation:MIA batting walks match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_HR_MATCH | simulation:MIA batting home runs match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match CHC pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match CHC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=37 matches CHC BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.598 -> 0.583 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.597738, 'sample_size': 644, 'empirical_hit_rate': 0.5683, 'empirical_weight': 0.5, 'blended_confidence': 0.583019, 'published_confidence': 0.53, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CHC | CURRENT_LINEUP_SHAPE | CHC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHC | CURRENT_MODEL_ZERO_FALLBACK | CHC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHC | CURRENT_NAMES_PRESENT | CHC current hitter names are populated. | |||
| PASS | current_payload | current | CHC | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHC hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIA | CURRENT_LINEUP_SHAPE | MIA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIA | CURRENT_MODEL_ZERO_FALLBACK | MIA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIA | CURRENT_NAMES_PRESENT | MIA current hitter names are populated. | |||
| PASS | current_payload | current | MIA | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIA hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.470. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIA 8, CHC 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIA 5 - CHC 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CHC. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for CHC; cap=0.53, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs', 'repeat-pick evidence cleared the reversal bar after a blowout miss and an opponent breakout; this guardrail caps confidence and shifts runs toward the opponent, it has no authority to change the winner'], 'signals': {'predicted_team': 'CHC', 'opponent_team': 'MIA', 'h2h_net_margin': -12, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 2, 'opponent_runs': 8, 'margin_for_predicted_team': -6, 'winner': 'MIA'}, {'date': '2026-09-06', 'predicted_team_runs': 3, 'opponent_runs': 10, 'margin_for_predicted_team': -7, 'winner': 'MIA'}, {'date': '2026-09-05', 'predicted_team_runs': 6, 'opponent_runs': 5, 'margin_for_predicted_team': 1, 'winner': 'CHC'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 2, 'prior_predictions': [{'date': '20260922', 'away': 'MIA', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'MIA', 'actual_margin': 6, 'raw_pick_probability': 0.53, 'artifact': '20260922_MIA@CHC.json', 'verification': 'pregame_official_final'}, {'date': '20260906', 'away': 'CHC', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'MIA', 'actual_margin': 7, 'raw_pick_probability': 0.5800000000000001, 'artifact': '20260906_CHC@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260905', 'away': 'CHC', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 1, 'raw_pick_probability': 0.73953, 'artifact': '20260905_CHC@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260904', 'away': 'CHC', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 5, 'raw_pick_probability': 0.724519, 'artifact': '20260904_CHC@MIA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CHC', 'guardrail_opponent_team': 'MIA', 'output_pre_simulation_winner': 'CHC', 'output_opponent_team': 'MIA', 'simulation_score_winner': 'CHC', 'final_score_winner': 'CHC', 'pre_simulation_winner': 'CHC', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0127, 'recent_form_edge_home_minus_away': 0.408, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHC', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHC', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7969, 'winner': 'CHC', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_MIA@CHC. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIA@CHC. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': -7.0, 'absolute_net_margin': 7.0, 'home_average_margin': -1.75, 'home_run_delta': -0.0437, 'away_run_delta': 0.0437, 'evidence': [{'game_id': None, 'home_margin': -6.0}, {'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 5, 'probability': 0.015668183138782633}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.015544453927007127}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015363394245918061}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.015242071904750206}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.014533192735074857}], 'home_distribution': {'0': 0.0326023035717915, '1': 0.04979610026902181, '2': 0.06999090405615524, '3': 0.09052886977746012, '4': 0.10775360733418086, '5': 0.11802547657464203, '6': 0.11896492412645582, '7': 0.11034720208010487, '8': 0.09418959823303898, '9': 0.07398501865889356, '10': 0.05347907114887499, '11': 0.03557321754352229, '12': 0.02177517558020875, '13': 0.012265899656648758, '14': 0.006358232055052323, '15': 0.003033001084392283, '16': 0.0013313982495555309}, 'away_distribution': {'0': 0.04436270415749494, '1': 0.0672232067198889, '2': 0.09226309148028643, '3': 0.11469496198033596, '4': 0.12914221867268436, '5': 0.13170422503802776, '6': 0.12165745679743709, '7': 0.10178536116974628, '8': 0.0771328667592364, '9': 0.052942102686734514, '10': 0.03291322673397276, '11': 0.018533067154541307, '12': 0.00945217382238143, '13': 0.004366401444990439, '14': 0.001826935382241521}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 1.0064, 'recent_quality_edge': 0.408, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.7969} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'MIA 5 - 6 CHC', 'winner': 'CHC'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0127, 'recent_form_edge_home_minus_away': 0.408, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CHC', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'CHC', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7969, 'winner': 'CHC', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 159. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_PITCHER_MATCH | CHC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_TOTAL_MATCH | CHC pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_PITCHER_MATCH | MIA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_TOTAL_MATCH | MIA pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | CHC | PITCHING_REALISM | current:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHC | STARTER_PRESENT | current:CHC includes a starter/opener role. | |||
| PASS | pitching | current | MIA | PITCHING_REALISM | current:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIA | STARTER_PRESENT | current:MIA includes a starter/opener role. | |||
| PASS | pitching | simulation | CHC | PITCHING_REALISM | simulation:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHC | STARTER_PRESENT | simulation:CHC includes a starter/opener role. | |||
| PASS | pitching | simulation | MIA | PITCHING_REALISM | simulation:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIA | STARTER_PRESENT | simulation:MIA includes a starter/opener role. | |||
| PASS | pitching_totals | current | CHC | PITCHING_TOTALS_SUM | current:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHC | PITCHING_TOTALS_SUM | current:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIA 5 - 6 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIA 5 - 6 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=CHC, simulation=CHC, published=CHC. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): CHC wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHC wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CHC | RECENT_FORM_RANGE | CHC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHC | TEAM_RECENT_RECORD | CHC wins and win_pct agree: 6/10 = 0.600. | |||
| PASS | team_recent_performance | current | MIA | RECENT_FORM_RANGE | MIA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIA | TEAM_RECENT_RECORD | MIA wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CHC | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIA | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=30; H: current=8, sim=7; 2B: current=1, sim=0; 3B: current=0, sim=1; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=4, sim=6; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Seiya Suzuki: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, SO current=1 box=0; Michael Busch: R current=1 box=0, BB current=1 box=0; Pete Crow-Armstrong: HR current=1 box=0, RBI current=1 box=0; Pedro Ramirez: H current=1 box=3, 3B current=0 box=1, RBI current=1 box=3, R current=0 box=1; Michael Conforto: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Nico Hoerner: AB current=4 box=2, H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Ian Happ: AB current=4 box=3, H current=1 box=0, SO current=1 box=0; Miguel Amaya: BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (H: current=5, sim=7; BB: current=3, sim=6). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; HR: current=1, sim=2; R: current=4, sim=5; BB: current=3, sim=2; SO: current=8, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Griffin Conine: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Javier Sanoja: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=2; Heriberto Hernández: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Otto Lopez: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Kyle Stowers: H current=1 box=3, HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Graham Pauley: AB current=3 box=4, R current=0 box=1, SO current=1 box=2; Joe Mack: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Jakob Marsee: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.555168633397771 | 5.228350511286496 | Base ML historical model prediction | |
| variance_applied | 5 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 6 | 0.530 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 6 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 6 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 2 | 5 | 8 |
| CHC | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 7 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIA | batting | 33 | 9 | 1 | 0 | 1 | 5 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIA | pitching | 5 | 1 | 6 | 3 | 7 | 8.0 | 6 | 0 | 0 | |||||||||
| current | CHC | batting | 33 | 8 | 1 | 0 | 1 | 5 | 5 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | CHC | pitching | 8 | 2 | 5 | 2 | 9 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | MIA | batting | 35 | 8 | 1 | 0 | 2 | 5 | 5 | 2 | 9 | 0 | 0 | |||||||
| simulation | MIA | pitching | 7 | 1 | 6 | 6 | 7 | 8.0 | 6 | 37 | 159 | |||||||||
| simulation | CHC | batting | 30 | 7 | 0 | 1 | 1 | 6 | 6 | 6 | 7 | 1 | 0 | |||||||
| simulation | CHC | pitching | 8 | 2 | 5 | 2 | 9 | 9.0 | 5 | 37 | 157 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIA | RF | Griffin Conine | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIA | 2B | Javier Sanoja | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | MIA | LF | Heriberto Hernández | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIA | SS | Otto Lopez | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIA | 1B | Kyle Stowers | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIA | 3B | Graham Pauley | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | C | Joe Mack | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | CF | Jakob Marsee | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | MIA | DH | Agustín Ramírez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHC | RF | Seiya Suzuki | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHC | 1B | Michael Busch | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHC | CF | Pete Crow-Armstrong | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHC | 3B | Pedro Ramirez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | CHC | DH | Michael Conforto | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | CHC | 2B | Nico Hoerner | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | CHC | LF | Ian Happ | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHC | C | Miguel Amaya | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CHC | SS | Dansby Swanson | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | MIA | 1 | SS | Otto Lopez | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | MIA | 2 | 1B | Kyle Stowers | 4 | 4 | 3 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.750 |
| simulation | MIA | 3 | LF | Heriberto Hernández | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | MIA | 4 | RF | Griffin Conine | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | MIA | 5 | 2B | Javier Sanoja | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIA | 6 | CF | Jakob Marsee | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIA | 7 | DH | Agustín Ramírez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIA | 8 | 3B | Graham Pauley | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | MIA | 9 | C | Joe Mack | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | CHC | 1 | CF | Pete Crow-Armstrong | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | CHC | 2 | RF | Seiya Suzuki | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | CHC | 3 | 1B | Michael Busch | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CHC | 4 | DH | Michael Conforto | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | CHC | 5 | LF | Ian Happ | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.000 |
| simulation | CHC | 6 | 2B | Nico Hoerner | 4 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.000 |
| simulation | CHC | 7 | 3B | Pedro Ramirez | 4 | 4 | 3 | 0 | 1 | 0 | 1 | 3 | 0 | 0 | 0 | 0.750 |
| simulation | CHC | 8 | SS | Dansby Swanson | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | CHC | 9 | C | Miguel Amaya | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIA | 1 | Ryan Gusto | Starter | 4.2 | 3 | 4 | 4 | 3 | 3 | 1 | 0 | 0 | 7.71 | 4.14 | 1.44 |
| current | MIA | 2 | Victor Vodnik | Middle Reliever (High Leverage) | 1.1 | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 6.75 | 4.61 | 1.52 |
| current | MIA | 3 | Calvin Faucher | Closer | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 3.39 | 1.31 |
| current | MIA | 4 | Michael Petersen | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.11 | 1.13 |
| current | CHC | 1 | Kevin Gausman | Starter | 5.2 | 4 | 2 | 2 | 0 | 5 | 1 | 0 | 0 | 3.18 | 4.55 | 1.27 |
| current | CHC | 2 | Daniel Palencia | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 13.50 | 3.45 | 1.12 |
| current | CHC | 3 | Jacob Webb | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0.00 | 3.48 | 1.27 |
| current | CHC | 4 | Ryan Zeferjahn | Setup Man | 1.0 | 2 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 9.00 | 3.93 | 1.30 |
| simulation | MIA | 1 | Ryan Gusto | Starter | 4.2 | 3 | 3 | 3 | 3 | 3 | 1 | 20 | 92 | 5.79 | 4.14 | 1.44 |
| simulation | MIA | 2 | Calvin Faucher | Closer | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 20 | 0.00 | 3.39 | 1.31 |
| simulation | MIA | 3 | Michael Petersen | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.11 | 1.13 |
| simulation | MIA | 4 | Victor Vodnik | Middle Reliever (High Leverage) | 1.1 | 3 | 3 | 3 | 2 | 2 | 0 | 9 | 34 | 20.25 | 4.61 | 1.52 |
| simulation | CHC | 1 | Kevin Gausman | Starter | 5.2 | 4 | 2 | 2 | 0 | 5 | 1 | 21 | 94 | 3.18 | 4.55 | 1.27 |
| simulation | CHC | 2 | Jacob Webb | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 3 | 13 | 0.00 | 3.48 | 1.27 |
| simulation | CHC | 3 | Ryan Zeferjahn | Setup Man | 1.0 | 2 | 1 | 1 | 2 | 1 | 0 | 7 | 27 | 9.00 | 3.93 | 1.30 |
| simulation | CHC | 4 | Daniel Palencia | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 6 | 23 | 13.50 | 3.45 | 1.12 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIA | Ryan Gusto | Starter | 4.2 | 3 | 3 | 3 | 3 | 20 | 92 |
| MIA | Victor Vodnik | Middle Reliever (High Leverage) | 1.1 | 3 | 3 | 2 | 2 | 9 | 34 |
| MIA | Calvin Faucher | Closer | 1.0 | 0 | 1 | 1 | 1 | 5 | 20 |
| MIA | Michael Petersen | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| CHC | Kevin Gausman | Starter | 5.2 | 2 | 4 | 0 | 5 | 21 | 94 |
| CHC | Daniel Palencia | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 0 | 0 | 6 | 23 |
| CHC | Jacob Webb | Closer | 1.0 | 0 | 0 | 0 | 3 | 3 | 13 |
| CHC | Ryan Zeferjahn | Setup Man | 1.0 | 1 | 2 | 2 | 1 | 7 | 27 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_MIL@PHI
20260923_MIL@PHI.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | PHI | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=9, sim=11; 2B: current=1, sim=5; SO: current=9, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Garrett Mitchell: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1, SO current=1 box=2; Jake Bauers: AB current=3 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jackson Chourio: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, SO current=1 box=0; William Contreras: H current=1 box=3, 2B current=0 box=1, BB current=0 box=1; Brice Turang: AB current=4 box=5, H current=1 box=3, 2B current=1 box=2, RBI current=1 box=0; Joey Ortiz: H current=1 box=0, SO current=1 box=2; Sal Frelick: AB current=3 box=4, H current=1 box=0; Christian Yelich: H current=1 box=2, RBI current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=32, sim=29; H: current=7, sim=2; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=4, sim=3; R: current=4, sim=3; SO: current=9, sim=8; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: AB current=4 box=3, HR current=0 box=1; Alec Bohm: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=0 box=1; Bryson Stott: HR current=0 box=1, RBI current=1 box=2, SO current=1 box=0; Trea Turner: H current=1 box=0, R current=1 box=0; Luis Arraez: H current=1 box=0, 2B current=1 box=0; Kyle Schwarber: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brandon Marsh: H current=1 box=0, SO current=1 box=0; J.T. Realmuto: SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=41 matches PHI BF=41. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match MIL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=32 matches MIL BF=32. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.742 -> 0.654 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.741824, 'sample_size': 348, 'empirical_hit_rate': 0.5661, 'empirical_weight': 0.5, 'blended_confidence': 0.653962, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | PHI | CURRENT_LINEUP_SHAPE | PHI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PHI | CURRENT_MODEL_ZERO_FALLBACK | PHI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PHI | CURRENT_NAMES_PRESENT | PHI current hitter names are populated. | |||
| PASS | current_payload | current | PHI | CURRENT_PREDICTIONS_MATCH_FINALIZED | PHI hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.711/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 11, PHI 2. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 5 - PHI 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIL; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'PHI', 'h2h_net_margin': 1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'PHI'}, {'date': '2026-06-14', 'predicted_team_runs': 4, 'opponent_runs': 0, 'margin_for_predicted_team': 4, 'winner': 'MIL'}, {'date': '2026-06-13', 'predicted_team_runs': 8, 'opponent_runs': 9, 'margin_for_predicted_team': -1, 'winner': 'PHI'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'MIL', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'PHI', 'actual_margin': 2, 'raw_pick_probability': 0.6, 'artifact': '20260922_MIL@PHI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIL', 'guardrail_opponent_team': 'PHI', 'output_pre_simulation_winner': 'MIL', 'output_opponent_team': 'PHI', 'simulation_score_winner': 'MIL', 'final_score_winner': 'MIL', 'pre_simulation_winner': 'MIL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0509, 'recent_form_edge_home_minus_away': -0.688, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIL', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0088, 'winner': 'MIL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_MIL@PHI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@PHI. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': -7.0, 'absolute_net_margin': 7.0, 'home_average_margin': -1.75, 'home_run_delta': -0.0437, 'away_run_delta': 0.0437, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 5, 'probability': 0.02145358825107652}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.02064210926409364}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02034577794555124}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.020086384393521884}, {'home_runs': 2, 'away_runs': 5, 'probability': 0.019688546431610228}], 'home_distribution': {'0': 0.08304722532396437, '1': 0.12256891200127605, '2': 0.15543580853282224, '3': 0.16937034165114898, '4': 0.15857663284352433, '5': 0.12757235178101256, '6': 0.0881839347341189, '7': 0.05237667508691204, '8': 0.026730182237462645, '9': 0.011721453124321244, '10': 0.004416482683436474}, 'away_distribution': {'0': 0.03888832867370493, '1': 0.0591467597186417, '2': 0.08208638431603393, '3': 0.10395366043100167, '4': 0.12012597806207011, '5': 0.126666735403205, '6': 0.12187558378201813, '7': 0.10700383202138852, '8': 0.08572558222349763, '9': 0.06266860773972506, '10': 0.0418040289649883, '11': 0.0254457188342285, '12': 0.014133177023966388, '13': 0.007162973820508568, '14': 0.0033126489850216936}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.1815, 'recent_quality_edge': -0.688, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.0088} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0509, 'recent_form_edge_home_minus_away': -0.688, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIL', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0088, 'winner': 'MIL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 126. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 175. | |||||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_PITCHER_MATCH | MIL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_TOTAL_MATCH | MIL pitch_count_summary total, row sum, and pitching total all match: 126. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_PITCHER_MATCH | PHI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_TOTAL_MATCH | PHI pitch_count_summary total, row sum, and pitching total all match: 175. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | current | PHI | PITCHING_REALISM | current:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PHI | STARTER_PRESENT | current:PHI includes a starter/opener role. | |||
| PASS | pitching | simulation | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | PHI | PITCHING_REALISM | simulation:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PHI | STARTER_PRESENT | simulation:PHI includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIL 5 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 5 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 5-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIL, simulation=MIL, published=MIL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIL wins 5-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 5-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-3, final 5-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 5-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 7/10 = 0.700. | |||
| PASS | team_recent_performance | current | PHI | RECENT_FORM_RANGE | PHI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PHI | TEAM_RECENT_RECORD | PHI wins and win_pct agree: 5/10 = 0.500. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=41 matches PHI BF=41. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match MIL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=32 matches MIL BF=32. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.742 -> 0.654 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.741824, 'sample_size': 348, 'empirical_hit_rate': 0.5661, 'empirical_weight': 0.5, 'blended_confidence': 0.653962, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | PHI | CURRENT_LINEUP_SHAPE | PHI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PHI | CURRENT_MODEL_ZERO_FALLBACK | PHI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PHI | CURRENT_NAMES_PRESENT | PHI current hitter names are populated. | |||
| PASS | current_payload | current | PHI | CURRENT_PREDICTIONS_MATCH_FINALIZED | PHI hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.560. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.440. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.711/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 11, PHI 2. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 5 - PHI 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIL; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'PHI', 'h2h_net_margin': 1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'PHI'}, {'date': '2026-06-14', 'predicted_team_runs': 4, 'opponent_runs': 0, 'margin_for_predicted_team': 4, 'winner': 'MIL'}, {'date': '2026-06-13', 'predicted_team_runs': 8, 'opponent_runs': 9, 'margin_for_predicted_team': -1, 'winner': 'PHI'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'MIL', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'PHI', 'actual_margin': 2, 'raw_pick_probability': 0.6, 'artifact': '20260922_MIL@PHI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIL', 'guardrail_opponent_team': 'PHI', 'output_pre_simulation_winner': 'MIL', 'output_opponent_team': 'PHI', 'simulation_score_winner': 'MIL', 'final_score_winner': 'MIL', 'pre_simulation_winner': 'MIL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0509, 'recent_form_edge_home_minus_away': -0.688, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIL', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0088, 'winner': 'MIL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_MIL@PHI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@PHI. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 4, 'sample_weight': 0.05, 'home_net_margin': -7.0, 'absolute_net_margin': 7.0, 'home_average_margin': -1.75, 'home_run_delta': -0.0437, 'away_run_delta': 0.0437, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 5, 'probability': 0.02145358825107652}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.02064210926409364}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02034577794555124}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.020086384393521884}, {'home_runs': 2, 'away_runs': 5, 'probability': 0.019688546431610228}], 'home_distribution': {'0': 0.08304722532396437, '1': 0.12256891200127605, '2': 0.15543580853282224, '3': 0.16937034165114898, '4': 0.15857663284352433, '5': 0.12757235178101256, '6': 0.0881839347341189, '7': 0.05237667508691204, '8': 0.026730182237462645, '9': 0.011721453124321244, '10': 0.004416482683436474}, 'away_distribution': {'0': 0.03888832867370493, '1': 0.0591467597186417, '2': 0.08208638431603393, '3': 0.10395366043100167, '4': 0.12012597806207011, '5': 0.126666735403205, '6': 0.12187558378201813, '7': 0.10700383202138852, '8': 0.08572558222349763, '9': 0.06266860773972506, '10': 0.0418040289649883, '11': 0.0254457188342285, '12': 0.014133177023966388, '13': 0.007162973820508568, '14': 0.0033126489850216936}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -1.1815, 'recent_quality_edge': -0.688, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.0088} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'MIL 5 - 3 PHI', 'winner': 'MIL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0509, 'recent_form_edge_home_minus_away': -0.688, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIL', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0088, 'winner': 'MIL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 126. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 175. | |||||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_PITCHER_MATCH | MIL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_TOTAL_MATCH | MIL pitch_count_summary total, row sum, and pitching total all match: 126. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_PITCHER_MATCH | PHI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_TOTAL_MATCH | PHI pitch_count_summary total, row sum, and pitching total all match: 175. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | current | PHI | PITCHING_REALISM | current:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PHI | STARTER_PRESENT | current:PHI includes a starter/opener role. | |||
| PASS | pitching | simulation | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | PHI | PITCHING_REALISM | simulation:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PHI | STARTER_PRESENT | simulation:PHI includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIL 5 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 5 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 5-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIL, simulation=MIL, published=MIL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIL wins 5-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 5-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-3, final 5-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 5-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 7/10 = 0.700. | |||
| PASS | team_recent_performance | current | PHI | RECENT_FORM_RANGE | PHI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PHI | TEAM_RECENT_RECORD | PHI wins and win_pct agree: 5/10 = 0.500. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | PHI | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=9, sim=11; 2B: current=1, sim=5; SO: current=9, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Garrett Mitchell: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1, SO current=1 box=2; Jake Bauers: AB current=3 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jackson Chourio: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, SO current=1 box=0; William Contreras: H current=1 box=3, 2B current=0 box=1, BB current=0 box=1; Brice Turang: AB current=4 box=5, H current=1 box=3, 2B current=1 box=2, RBI current=1 box=0; Joey Ortiz: H current=1 box=0, SO current=1 box=2; Sal Frelick: AB current=3 box=4, H current=1 box=0; Christian Yelich: H current=1 box=2, RBI current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=32, sim=29; H: current=7, sim=2; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=4, sim=3; R: current=4, sim=3; SO: current=9, sim=8; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: AB current=4 box=3, HR current=0 box=1; Alec Bohm: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=0 box=1; Bryson Stott: HR current=0 box=1, RBI current=1 box=2, SO current=1 box=0; Trea Turner: H current=1 box=0, R current=1 box=0; Luis Arraez: H current=1 box=0, 2B current=1 box=0; Kyle Schwarber: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brandon Marsh: H current=1 box=0, SO current=1 box=0; J.T. Realmuto: SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.950803699101863 | 3.613581452426851 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 3 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 5 | 11 |
| PHI | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 3 | 2 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | batting | 33 | 9 | 1 | 0 | 1 | 5 | 5 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | MIL | pitching | 2 | 2 | 3 | 2 | 8 | 9.0 | 3 | 0 | 0 | |||||||||
| current | PHI | batting | 32 | 7 | 1 | 0 | 1 | 4 | 4 | 2 | 9 | 0 | 0 | 0 | 0 | |||||
| current | PHI | pitching | 11 | 1 | 5 | 3 | 11 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | MIL | batting | 38 | 11 | 5 | 0 | 1 | 5 | 5 | 3 | 11 | 0 | 0 | |||||||
| simulation | MIL | pitching | 2 | 2 | 3 | 2 | 8 | 9.0 | 3 | 32 | 126 | |||||||||
| simulation | PHI | batting | 29 | 2 | 0 | 0 | 2 | 3 | 3 | 2 | 8 | 0 | 1 | |||||||
| simulation | PHI | pitching | 11 | 1 | 5 | 3 | 11 | 9.0 | 5 | 41 | 175 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | CF | Garrett Mitchell | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | 1B | Jake Bauers | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 | |
| current | MIL | LF | Jackson Chourio | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIL | C | William Contreras | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIL | 2B | Brice Turang | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | SS | Joey Ortiz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIL | RF | Sal Frelick | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIL | DH | Christian Yelich | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIL | 3B | David Hamilton | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PHI | RF | Bryce Harper | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | 1B | Alec Bohm | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PHI | 3B | Bryson Stott | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | PHI | SS | Trea Turner | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PHI | 2B | Luis Arraez | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | PHI | DH | Kyle Schwarber | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 2 | 0 | 0.250 | |
| current | PHI | LF | Brandon Marsh | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PHI | C | J.T. Realmuto | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | PHI | CF | Justin Crawford | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | MIL | 1 | CF | Garrett Mitchell | 5 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 2 | 0 | 0.250 |
| simulation | MIL | 2 | LF | Jackson Chourio | 5 | 5 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.200 |
| simulation | MIL | 3 | 2B | Brice Turang | 5 | 5 | 3 | 2 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.600 |
| simulation | MIL | 4 | C | William Contreras | 5 | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.750 |
| simulation | MIL | 5 | 1B | Jake Bauers | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIL | 6 | SS | Joey Ortiz | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIL | 7 | DH | Christian Yelich | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | MIL | 8 | RF | Sal Frelick | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIL | 9 | 3B | David Hamilton | 4 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.333 |
| simulation | PHI | 1 | DH | Kyle Schwarber | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PHI | 2 | SS | Trea Turner | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PHI | 3 | RF | Bryce Harper | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | PHI | 4 | 2B | Luis Arraez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | PHI | 5 | 1B | Alec Bohm | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | PHI | 6 | 3B | Bryson Stott | 3 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.333 |
| simulation | PHI | 7 | LF | Brandon Marsh | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | PHI | 8 | C | J.T. Realmuto | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PHI | 9 | CF | Justin Crawford | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | 1 | Logan Henderson | Starter | 6.0 | 2 | 3 | 3 | 2 | 7 | 2 | 0 | 0 | 4.50 | 2.51 | 0.81 |
| current | MIL | 2 | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.27 | 1.37 |
| current | MIL | 3 | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.04 | 1.03 |
| current | MIL | 4 | Trevor Megill | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.11 | 0.87 |
| current | PHI | 1 | Aaron Nola | Starter | 6.0 | 6 | 3 | 3 | 2 | 7 | 1 | 0 | 0 | 4.50 | 4.49 | 1.35 |
| current | PHI | 2 | Jhoan Duran | Closer | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 1.57 | 0.98 |
| current | PHI | 3 | Jonathan Bowlan | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.36 | 1.03 |
| current | PHI | 4 | Brooks Raley | Middle Reliever (High Leverage) | 0.2 | 4 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 27.00 | 2.96 | 1.18 |
| simulation | MIL | 1 | Logan Henderson | Starter | 6.0 | 2 | 3 | 3 | 2 | 7 | 2 | 23 | 90 | 4.50 | 2.51 | 0.81 |
| simulation | MIL | 2 | Trevor Megill | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.11 | 0.87 |
| simulation | MIL | 3 | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.04 | 1.03 |
| simulation | MIL | 4 | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 10 | 0.00 | 3.27 | 1.37 |
| simulation | PHI | 1 | Aaron Nola | Starter | 6.0 | 6 | 3 | 3 | 2 | 7 | 1 | 26 | 114 | 4.50 | 4.49 | 1.35 |
| simulation | PHI | 2 | Jhoan Duran | Closer | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 5 | 25 | 0.00 | 1.57 | 0.98 |
| simulation | PHI | 3 | Jonathan Bowlan | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 3.36 | 1.03 |
| simulation | PHI | 4 | Brooks Raley | Middle Reliever (High Leverage) | 0.2 | 4 | 2 | 2 | 0 | 1 | 0 | 6 | 20 | 27.00 | 2.96 | 1.18 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Logan Henderson | Starter | 6.0 | 3 | 2 | 2 | 7 | 23 | 90 |
| MIL | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 3 | 10 |
| MIL | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| MIL | Trevor Megill | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| PHI | Aaron Nola | Starter | 6.0 | 3 | 6 | 2 | 7 | 26 | 114 |
| PHI | Jhoan Duran | Closer | 1.1 | 0 | 0 | 1 | 2 | 5 | 25 |
| PHI | Jonathan Bowlan | Setup Man | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| PHI | Brooks Raley | Middle Reliever (High Leverage) | 0.2 | 2 | 4 | 0 | 1 | 6 | 20 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_MIN@SF
20260923_MIN@SF.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=7, sim=10). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Alan Roden: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=0, SO current=0 box=2; Royce Lewis: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Ryan Jeffers: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Brooks Lee: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Emmanuel Rodriguez: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Josh Bell: RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Aaron Sabato: AB current=3 box=4, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (H: current=8, sim=4; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=1; SO: current=9, sim=5; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Jonah Cox: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Victor Bericoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Bo Davidson: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Brett Harris: AB current=3 box=4, H current=0 box=2, 2B current=0 box=2, RBI current=0 box=1; Marcelo Mayer: H current=1 box=0, SO current=1 box=0; Christian Koss: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Shay Whitcomb: H current=1 box=0, SO current=1 box=0; Turner Hill: 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match SF pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match SF pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match SF pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match SF pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=37 matches SF BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match MIN pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match MIN pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match MIN pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=33 matches MIN BF=33. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.533 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 741, 'empirical_hit_rate': 0.556, 'empirical_weight': 0.5, 'blended_confidence': 0.53305, 'published_confidence': 0.51111, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.511. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.511. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.489. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.581/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 6, SF 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 4 - SF 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIN. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIN; cap=0.56, reasons=recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 2 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIN', 'opponent_team': 'SF', 'h2h_net_margin': -2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'MIN'}, {'date': '2026-09-21', 'predicted_team_runs': 2, 'opponent_runs': 5, 'margin_for_predicted_team': -3, 'winner': 'SF'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'MIN', 'home': 'SF', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 1, 'raw_pick_probability': 0.515422, 'artifact': '20260922_MIN@SF.json', 'verification': 'pregame_official_final'}, {'date': '20260921', 'away': 'MIN', 'home': 'SF', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'SF', 'actual_margin': 3, 'raw_pick_probability': 0.567503, 'artifact': '20260921_MIN@SF.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIN', 'guardrail_opponent_team': 'SF', 'output_pre_simulation_winner': 'MIN', 'output_opponent_team': 'SF', 'simulation_score_winner': 'MIN', 'final_score_winner': 'MIN', 'pre_simulation_winner': 'MIN', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0726, 'recent_form_edge_home_minus_away': -0.044, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.1368, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_MIN@SF. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@SF. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': 2.0, 'absolute_net_margin': 2.0, 'home_average_margin': 1.0, 'home_run_delta': 0.015, 'away_run_delta': -0.015, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': 3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 3, 'probability': 0.024779349333811658}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02464307302066722}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.024300204102501964}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.024166562892672952}, {'home_runs': 2, 'away_runs': 3, 'probability': 0.0220005466693493}], 'home_distribution': {'0': 0.0735216232147596, '1': 0.10923059989802197, '2': 0.14129836866294768, '3': 0.15914521079945704, '4': 0.15606790365094822, '5': 0.13325920465849725, '6': 0.09907051805521087, '7': 0.0641291152264223, '8': 0.036143454522152646, '9': 0.017736489551965058, '10': 0.0075782560099684785, '11': 0.0028192557496488817}, 'away_distribution': {'0': 0.07064710013239983, '1': 0.10517023623324237, '2': 0.13686534955582513, '3': 0.15570276484811568, '4': 0.15484646315697548, '5': 0.1346196347040016, '6': 0.10230990406616511, '7': 0.06797185138240973, '8': 0.03947686649770555, '9': 0.020042800274923056, '10': 0.00889562110728968, '11': 0.0034514080409467434}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.1867, 'recent_quality_edge': -0.044, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.1368} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0726, 'recent_form_edge_home_minus_away': -0.044, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.1368, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 127. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 127. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_PITCHER_MATCH | SF pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_TOTAL_MATCH | SF pitch_count_summary total, row sum, and pitching total all match: 171. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | current | SF | PITCHING_REALISM | current:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SF | STARTER_PRESENT | current:SF includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | SF | PITCHING_REALISM | simulation:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SF | STARTER_PRESENT | simulation:SF includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIN 4 - 3 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 4 - 3 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIN, simulation=MIN, published=MIN. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.511. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIN wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | SF | RECENT_FORM_RANGE | SF recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SF | TEAM_RECENT_RECORD | SF wins and win_pct agree: 2/10 = 0.200. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match SF pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match SF pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match SF pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match SF pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=37 matches SF BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match MIN pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match MIN pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match MIN pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=33 matches MIN BF=33. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.533 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 741, 'empirical_hit_rate': 0.556, 'empirical_weight': 0.5, 'blended_confidence': 0.53305, 'published_confidence': 0.51111, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.511. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.511. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.489. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.581/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 6, SF 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 4 - SF 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIN. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for MIN; cap=0.56, reasons=recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 2 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIN', 'opponent_team': 'SF', 'h2h_net_margin': -2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'MIN'}, {'date': '2026-09-21', 'predicted_team_runs': 2, 'opponent_runs': 5, 'margin_for_predicted_team': -3, 'winner': 'SF'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'MIN', 'home': 'SF', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 1, 'raw_pick_probability': 0.515422, 'artifact': '20260922_MIN@SF.json', 'verification': 'pregame_official_final'}, {'date': '20260921', 'away': 'MIN', 'home': 'SF', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'SF', 'actual_margin': 3, 'raw_pick_probability': 0.567503, 'artifact': '20260921_MIN@SF.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'MIN', 'guardrail_opponent_team': 'SF', 'output_pre_simulation_winner': 'MIN', 'output_opponent_team': 'SF', 'simulation_score_winner': 'MIN', 'final_score_winner': 'MIN', 'pre_simulation_winner': 'MIN', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0726, 'recent_form_edge_home_minus_away': -0.044, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.1368, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_MIN@SF. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@SF. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': 2.0, 'absolute_net_margin': 2.0, 'home_average_margin': 1.0, 'home_run_delta': 0.015, 'away_run_delta': -0.015, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': 3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 3, 'probability': 0.024779349333811658}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02464307302066722}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.024300204102501964}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.024166562892672952}, {'home_runs': 2, 'away_runs': 3, 'probability': 0.0220005466693493}], 'home_distribution': {'0': 0.0735216232147596, '1': 0.10923059989802197, '2': 0.14129836866294768, '3': 0.15914521079945704, '4': 0.15606790365094822, '5': 0.13325920465849725, '6': 0.09907051805521087, '7': 0.0641291152264223, '8': 0.036143454522152646, '9': 0.017736489551965058, '10': 0.0075782560099684785, '11': 0.0028192557496488817}, 'away_distribution': {'0': 0.07064710013239983, '1': 0.10517023623324237, '2': 0.13686534955582513, '3': 0.15570276484811568, '4': 0.15484646315697548, '5': 0.1346196347040016, '6': 0.10230990406616511, '7': 0.06797185138240973, '8': 0.03947686649770555, '9': 0.020042800274923056, '10': 0.00889562110728968, '11': 0.0034514080409467434}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.1867, 'recent_quality_edge': -0.044, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.1368} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'MIN 4 - 3 SF', 'winner': 'MIN'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0726, 'recent_form_edge_home_minus_away': -0.044, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIN', 'published_winner_draw_share': 0.5, 'draw_majority_team': None, 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.1368, 'winner': 'MIN', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 127. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 127. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_PITCHER_MATCH | SF pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_TOTAL_MATCH | SF pitch_count_summary total, row sum, and pitching total all match: 171. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | current | SF | PITCHING_REALISM | current:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SF | STARTER_PRESENT | current:SF includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | SF | PITCHING_REALISM | simulation:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SF | STARTER_PRESENT | simulation:SF includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIN 4 - 3 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 4 - 3 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIN, simulation=MIN, published=MIN. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.511. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIN wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | SF | RECENT_FORM_RANGE | SF recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SF | TEAM_RECENT_RECORD | SF wins and win_pct agree: 2/10 = 0.200. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=7, sim=10). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Alan Roden: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=0, SO current=0 box=2; Royce Lewis: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Ryan Jeffers: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Brooks Lee: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Emmanuel Rodriguez: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Josh Bell: RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Aaron Sabato: AB current=3 box=4, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (H: current=8, sim=4; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=1; SO: current=9, sim=5; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Jonah Cox: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Victor Bericoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Bo Davidson: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Brett Harris: AB current=3 box=4, H current=0 box=2, 2B current=0 box=2, RBI current=0 box=1; Marcelo Mayer: H current=1 box=0, SO current=1 box=0; Christian Koss: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Shay Whitcomb: H current=1 box=0, SO current=1 box=0; Turner Hill: 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.908464899117625 | 4.0596856706026765 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 3 | 0.511 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 1 | 4 | 6 |
| SF | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 4 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIN | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | MIN | pitching | 4 | 0 | 3 | 1 | 5 | 9.0 | 3 | 0 | 0 | |||||||||
| current | SF | batting | 31 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | SF | pitching | 6 | 0 | 4 | 4 | 10 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | MIN | batting | 33 | 6 | 2 | 1 | 0 | 4 | 4 | 4 | 10 | 0 | 0 | |||||||
| simulation | MIN | pitching | 4 | 0 | 3 | 1 | 5 | 9.0 | 3 | 33 | 127 | |||||||||
| simulation | SF | batting | 31 | 4 | 3 | 0 | 0 | 3 | 3 | 1 | 5 | 0 | 1 | |||||||
| simulation | SF | pitching | 6 | 0 | 4 | 4 | 10 | 9.0 | 4 | 37 | 171 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIN | RF | Luke Keaschall | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 | |
| current | MIN | LF | Alan Roden | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| current | MIN | 2B | Royce Lewis | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIN | C | Ryan Jeffers | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIN | 3B | Brooks Lee | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | CF | Emmanuel Rodriguez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIN | DH | Josh Bell | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIN | 1B | Aaron Sabato | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | MIN | SS | Ben Ross | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | 2B | Jonah Cox | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SF | LF | Victor Bericoto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SF | RF | Bo Davidson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SF | 1B | Brett Harris | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SF | DH | Marcelo Mayer | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | SS | Christian Koss | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | 3B | Shay Whitcomb | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | CF | Turner Hill | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SF | C | Andrew Knizner | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | MIN | 1 | RF | Luke Keaschall | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIN | 2 | 3B | Brooks Lee | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | MIN | 3 | DH | Josh Bell | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | MIN | 4 | C | Ryan Jeffers | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.000 |
| simulation | MIN | 5 | LF | Alan Roden | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | MIN | 6 | 2B | Royce Lewis | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | MIN | 7 | CF | Emmanuel Rodriguez | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | MIN | 8 | 1B | Aaron Sabato | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIN | 9 | SS | Ben Ross | 4 | 3 | 1 | 0 | 1 | 0 | 1 | 2 | 1 | 1 | 0 | 0.333 |
| simulation | SF | 1 | 2B | Jonah Cox | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.000 |
| simulation | SF | 2 | CF | Turner Hill | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | SF | 3 | LF | Victor Bericoto | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SF | 4 | RF | Bo Davidson | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | SF | 5 | C | Andrew Knizner | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | SF | 6 | 1B | Brett Harris | 4 | 4 | 2 | 2 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | SF | 7 | DH | Marcelo Mayer | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SF | 8 | 3B | Shay Whitcomb | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SF | 9 | SS | Christian Koss | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIN | 1 | Connor Prielipp | Starter | 5.2 | 2 | 3 | 3 | 1 | 4 | 0 | 0 | 0 | 4.76 | 4.94 | 1.30 |
| current | MIN | 2 | A.J. Minter | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.06 | 1.03 |
| current | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.55 | 1.32 |
| current | MIN | 5 | Yoendrys Gómez | Closer | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.48 | 1.51 |
| current | SF | 1 | Cesar Perdomo | Starter | 4.2 | 4 | 2 | 2 | 2 | 5 | 0 | 0 | 0 | 3.86 | 3.72 | 1.50 |
| current | SF | 2 | Carson Seymour | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.85 | 1.58 |
| current | SF | 3 | Dylan Smith | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.65 | 1.46 |
| current | SF | 4 | Jason Foley | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.50 | 1.54 |
| current | SF | 5 | Trent Harris | Setup Man | 1.1 | 2 | 2 | 2 | 1 | 2 | 0 | 0 | 0 | 13.50 | 2.14 | 1.10 |
| simulation | MIN | 1 | Connor Prielipp | Starter | 5.2 | 2 | 3 | 3 | 1 | 4 | 0 | 21 | 81 | 4.76 | 4.94 | 1.30 |
| simulation | MIN | 2 | Yoendrys Gómez | Closer | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 4.48 | 1.51 |
| simulation | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.55 | 1.32 |
| simulation | MIN | 4 | A.J. Minter | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 5 | 17 | 0.00 | 2.06 | 1.03 |
| simulation | SF | 1 | Cesar Perdomo | Starter | 4.2 | 4 | 2 | 2 | 2 | 5 | 0 | 20 | 91 | 3.86 | 3.72 | 1.50 |
| simulation | SF | 2 | Dylan Smith | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.65 | 1.46 |
| simulation | SF | 3 | Trent Harris | Setup Man | 1.1 | 2 | 2 | 2 | 1 | 2 | 0 | 7 | 37 | 13.50 | 2.14 | 1.10 |
| simulation | SF | 4 | Carson Seymour | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 4.85 | 1.58 |
| simulation | SF | 5 | Jason Foley | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 4.50 | 1.54 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIN | Connor Prielipp | Starter | 5.2 | 3 | 2 | 1 | 4 | 21 | 81 |
| MIN | A.J. Minter | Middle Reliever (High Leverage) | 1.1 | 0 | 1 | 0 | 1 | 5 | 17 |
| MIN | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| MIN | Yoendrys Gómez | Closer | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| SF | Cesar Perdomo | Starter | 4.2 | 2 | 4 | 2 | 5 | 20 | 91 |
| SF | Carson Seymour | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| SF | Dylan Smith | Closer | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| SF | Jason Foley | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| SF | Trent Harris | Setup Man | 1.1 | 2 | 2 | 1 | 2 | 7 | 37 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_NYM@TEX
20260923_NYM@TEX.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYM | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; HR: current=1, sim=3; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=2; SO: current=7, sim=14). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Carson Benge: SO current=1 box=3; Bo Bichette: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Mark Vientos: H current=1 box=0, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; A.J. Ewing: H current=1 box=0, BB current=0 box=1; Nick Morabito: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Marcus Semien: H current=1 box=3, HR current=0 box=2, RBI current=0 box=4; Francisco Lindor: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=32, sim=29; H: current=7, sim=2; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Josh Jung: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Ezequiel Duran: 2B current=0 box=1, SO current=1 box=0; Wyatt Langford: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=2, SO current=1 box=0; Corey Seager: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Burger: H current=1 box=0, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Brandon Nimmo: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nicky Lopez: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Danny Jansen: AB current=3 box=2, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYM | BATTING_TOTALS_SUM | current:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match TEX pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match TEX pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=37 matches TEX BF=37. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match NYM pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match NYM pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match NYM pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match NYM pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=34 matches NYM BF=34. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.645 -> 0.601 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.645009, 'sample_size': 284, 'empirical_hit_rate': 0.5563, 'empirical_weight': 0.5, 'blended_confidence': 0.600654, 'published_confidence': 0.595426, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYM | CURRENT_LINEUP_SHAPE | NYM current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYM | CURRENT_MODEL_ZERO_FALLBACK | NYM current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYM | CURRENT_NAMES_PRESENT | NYM current hitter names are populated. | |||
| PASS | current_payload | current | NYM | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYM hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.595. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.595. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.405. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: NYM 8, TEX 2. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYM 6 - TEX 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYM. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for NYM. | {'winner_confidence': 0.595426, 'h2h_net_margin': 3, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'NYM', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.600919, 'artifact': '20260922_NYM@TEX.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_NYM@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: NYM@TEX. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 1, 'sample_weight': 0.0167, 'home_net_margin': -3.0, 'absolute_net_margin': 3.0, 'home_average_margin': -3.0, 'home_run_delta': -0.025, 'away_run_delta': 0.025, 'evidence': [{'game_id': None, 'home_margin': -3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 5, 'probability': 0.022061916677217967}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02174309226816475}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.02093485332133187}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.02063231649570412}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.020252643884580816}], 'home_distribution': {'0': 0.08036200462141224, '1': 0.11883328088423684, '2': 0.15156719010750486, '3': 0.16674472210778588, '4': 0.158226338649781, '5': 0.12950461538249852, '6': 0.09142637478358391, '7': 0.05567209161092535, '8': 0.029240403552588626, '9': 0.013246738755311512, '10': 0.005176239544371366}, 'away_distribution': {'0': 0.04520089543114842, '1': 0.06845461767941634, '2': 0.09379399089234979, '3': 0.11626897300150132, '4': 0.13039748421008338, '5': 0.1323095351885073, '6': 0.12145898010186645, '7': 0.10087526098314885, '8': 0.07579774190256786, '9': 0.051528134429713685, '10': 0.03169196193792283, '11': 0.01763479385327103, '12': 0.00887785819585524, '13': 0.004043547745333625, '14': 0.0016662244473139524}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0637, 'recent_quality_edge': 0.212, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.1156} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 3, 'score_text': 'NYM 6 - 3 TEX', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 3, 'score_text': 'NYM 6 - 3 TEX', 'winner': 'NYM'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.072, 'recent_form_edge_home_minus_away': -0.138, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 3, 'winner': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'NYM', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'NYM', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 3}, 'simulation_score': {'away_runs': 6, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': -0.1156, 'winner': 'NYM', 'score_reviewed': {'away_runs': 6, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 141. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 174. | |||||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_PITCHER_MATCH | NYM pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_TOTAL_MATCH | NYM pitch_count_summary total, row sum, and pitching total all match: 141. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_PITCHER_MATCH | TEX pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_TOTAL_MATCH | TEX pitch_count_summary total, row sum, and pitching total all match: 174. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | NYM | PITCHING_REALISM | current:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYM | STARTER_PRESENT | current:NYM includes a starter/opener role. | |||
| PASS | pitching | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | NYM | PITCHING_REALISM | simulation:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYM | STARTER_PRESENT | simulation:NYM includes a starter/opener role. | |||
| PASS | pitching | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: NYM 6 - 3 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYM 6 - 3 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 6-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=NYM, simulation=NYM, published=NYM. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.595. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): NYM wins 6-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM wins 6-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-3, final 6-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYM wins 6-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | TEX | RECENT_FORM_RANGE | TEX recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TEX | TEAM_RECENT_RECORD | TEX wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYM | BATTING_TOTALS_SUM | current:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match TEX pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match TEX pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=37 matches TEX BF=37. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match NYM pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match NYM pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match NYM pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match NYM pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=34 matches NYM BF=34. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.645 -> 0.601 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.645009, 'sample_size': 284, 'empirical_hit_rate': 0.5563, 'empirical_weight': 0.5, 'blended_confidence': 0.600654, 'published_confidence': 0.595426, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYM | CURRENT_LINEUP_SHAPE | NYM current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYM | CURRENT_MODEL_ZERO_FALLBACK | NYM current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYM | CURRENT_NAMES_PRESENT | NYM current hitter names are populated. | |||
| PASS | current_payload | current | NYM | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYM hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.595. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.595. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.405. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: NYM 8, TEX 2. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYM 6 - TEX 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYM. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for NYM. | {'winner_confidence': 0.595426, 'h2h_net_margin': 3, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 1, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'NYM', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.600919, 'artifact': '20260922_NYM@TEX.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_NYM@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: NYM@TEX. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 1, 'sample_weight': 0.0167, 'home_net_margin': -3.0, 'absolute_net_margin': 3.0, 'home_average_margin': -3.0, 'home_run_delta': -0.025, 'away_run_delta': 0.025, 'evidence': [{'game_id': None, 'home_margin': -3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 5, 'probability': 0.022061916677217967}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02174309226816475}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.02093485332133187}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.02063231649570412}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.020252643884580816}], 'home_distribution': {'0': 0.08036200462141224, '1': 0.11883328088423684, '2': 0.15156719010750486, '3': 0.16674472210778588, '4': 0.158226338649781, '5': 0.12950461538249852, '6': 0.09142637478358391, '7': 0.05567209161092535, '8': 0.029240403552588626, '9': 0.013246738755311512, '10': 0.005176239544371366}, 'away_distribution': {'0': 0.04520089543114842, '1': 0.06845461767941634, '2': 0.09379399089234979, '3': 0.11626897300150132, '4': 0.13039748421008338, '5': 0.1323095351885073, '6': 0.12145898010186645, '7': 0.10087526098314885, '8': 0.07579774190256786, '9': 0.051528134429713685, '10': 0.03169196193792283, '11': 0.01763479385327103, '12': 0.00887785819585524, '13': 0.004043547745333625, '14': 0.0016662244473139524}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0637, 'recent_quality_edge': 0.212, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.1156} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 3, 'score_text': 'NYM 6 - 3 TEX', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 3, 'score_text': 'NYM 6 - 3 TEX', 'winner': 'NYM'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.072, 'recent_form_edge_home_minus_away': -0.138, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 3, 'winner': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'NYM', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'NYM', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 3}, 'simulation_score': {'away_runs': 6, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': -0.1156, 'winner': 'NYM', 'score_reviewed': {'away_runs': 6, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 141. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 174. | |||||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_PITCHER_MATCH | NYM pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_TOTAL_MATCH | NYM pitch_count_summary total, row sum, and pitching total all match: 141. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_PITCHER_MATCH | TEX pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_TOTAL_MATCH | TEX pitch_count_summary total, row sum, and pitching total all match: 174. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | NYM | PITCHING_REALISM | current:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYM | STARTER_PRESENT | current:NYM includes a starter/opener role. | |||
| PASS | pitching | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | NYM | PITCHING_REALISM | simulation:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYM | STARTER_PRESENT | simulation:NYM includes a starter/opener role. | |||
| PASS | pitching | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: NYM 6 - 3 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYM 6 - 3 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 6-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=NYM, simulation=NYM, published=NYM. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.595. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): NYM wins 6-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM wins 6-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-3, final 6-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYM wins 6-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | TEX | RECENT_FORM_RANGE | TEX recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TEX | TEAM_RECENT_RECORD | TEX wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYM | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; HR: current=1, sim=3; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=2; SO: current=7, sim=14). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Carson Benge: SO current=1 box=3; Bo Bichette: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Mark Vientos: H current=1 box=0, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; A.J. Ewing: H current=1 box=0, BB current=0 box=1; Nick Morabito: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Marcus Semien: H current=1 box=3, HR current=0 box=2, RBI current=0 box=4; Francisco Lindor: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=32, sim=29; H: current=7, sim=2; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Josh Jung: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Ezequiel Duran: 2B current=0 box=1, SO current=1 box=0; Wyatt Langford: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=2, SO current=1 box=0; Corey Seager: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Burger: H current=1 box=0, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Brandon Nimmo: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nicky Lopez: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Danny Jansen: AB current=3 box=2, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.843804447899619 | 3.2546133471728216 | Base ML historical model prediction | |
| variance_applied | 5 | 3 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 3 | 0.595 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 6 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 6 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 6 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 6 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYM | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 3 | 6 | 8 |
| TEX | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 3 | 2 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYM | batting | 33 | 9 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | NYM | pitching | 2 | 1 | 3 | 5 | 9 | 9.0 | 3 | 0 | 0 | |||||||||
| current | TEX | batting | 32 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | TEX | pitching | 8 | 3 | 6 | 2 | 14 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | NYM | batting | 35 | 8 | 1 | 0 | 3 | 6 | 6 | 2 | 14 | 0 | 0 | |||||||
| simulation | NYM | pitching | 2 | 1 | 3 | 5 | 9 | 9.0 | 3 | 34 | 141 | |||||||||
| simulation | TEX | batting | 29 | 2 | 1 | 0 | 1 | 3 | 3 | 5 | 9 | 0 | 0 | |||||||
| simulation | TEX | pitching | 8 | 3 | 6 | 2 | 14 | 9.0 | 6 | 37 | 174 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYM | DH | Juan Soto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | NYM | RF | Carson Benge | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | 3B | Bo Bichette | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYM | 1B | Mark Vientos | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | NYM | CF | A.J. Ewing | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | LF | Nick Morabito | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | 2B | Marcus Semien | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | NYM | SS | Francisco Lindor | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | C | Francisco Alvarez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | TEX | DH | Josh Jung | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 3B | Ezequiel Duran | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | LF | Wyatt Langford | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | TEX | SS | Corey Seager | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TEX | 1B | Jake Burger | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TEX | RF | Brandon Nimmo | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 2B | Nicky Lopez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TEX | C | Danny Jansen | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TEX | CF | Evan Carter | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| simulation | NYM | 1 | SS | Francisco Lindor | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | NYM | 2 | DH | Juan Soto | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | NYM | 3 | 3B | Bo Bichette | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | NYM | 4 | 1B | Mark Vientos | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | NYM | 5 | RF | Carson Benge | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0.250 |
| simulation | NYM | 6 | 2B | Marcus Semien | 4 | 4 | 3 | 0 | 0 | 2 | 1 | 4 | 0 | 0 | 0 | 0.750 |
| simulation | NYM | 7 | C | Francisco Alvarez | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | NYM | 8 | CF | A.J. Ewing | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | NYM | 9 | LF | Nick Morabito | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | TEX | 1 | LF | Wyatt Langford | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 0.333 |
| simulation | TEX | 2 | SS | Corey Seager | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TEX | 3 | DH | Josh Jung | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | TEX | 4 | RF | Brandon Nimmo | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TEX | 5 | 3B | Ezequiel Duran | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | TEX | 6 | 1B | Jake Burger | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | TEX | 7 | 2B | Nicky Lopez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | TEX | 8 | C | Danny Jansen | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | TEX | 9 | CF | Evan Carter | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYM | 1 | Nolan McLean | Starter | 6.0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0.00 | 3.18 | 1.19 |
| current | NYM | 2 | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.45 | 1.29 |
| current | NYM | 3 | Kodai Senga | Closer | 1.0 | 1 | 1 | 1 | 2 | 2 | 0 | 0 | 0 | 9.00 | 7.34 | 1.65 |
| current | NYM | 4 | Nathan Lavender | Setup Man | 1.0 | 1 | 2 | 2 | 2 | 0 | 1 | 0 | 0 | 18.00 | 1.83 | 0.81 |
| current | TEX | 1 | Cody Bradford | Starter | 4.2 | 4 | 2 | 2 | 0 | 11 | 2 | 0 | 0 | 3.86 | 4.19 | 1.50 |
| current | TEX | 2 | Jacob Latz | Closer | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.69 | 0.75 |
| current | TEX | 3 | Jakob Junis | Setup Man | 1.2 | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 5.40 | 2.89 | 1.17 |
| current | TEX | 5 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 3 | 3 | 3 | 2 | 0 | 1 | 0 | 0 | 27.00 | 3.24 | 1.44 |
| simulation | NYM | 1 | Nolan McLean | Starter | 6.0 | 0 | 0 | 0 | 0 | 6 | 0 | 18 | 76 | 0.00 | 3.18 | 1.19 |
| simulation | NYM | 2 | Kodai Senga | Closer | 1.0 | 1 | 1 | 1 | 2 | 2 | 0 | 6 | 24 | 9.00 | 7.34 | 1.65 |
| simulation | NYM | 3 | Nathan Lavender | Setup Man | 1.0 | 1 | 2 | 2 | 2 | 0 | 1 | 6 | 24 | 18.00 | 1.83 | 0.81 |
| simulation | NYM | 4 | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 4.45 | 1.29 |
| simulation | TEX | 1 | Cody Bradford | Starter | 4.2 | 4 | 2 | 2 | 0 | 11 | 2 | 18 | 83 | 3.86 | 4.19 | 1.50 |
| simulation | TEX | 2 | Jacob Latz | Closer | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 33 | 0.00 | 1.69 | 0.75 |
| simulation | TEX | 3 | Jakob Junis | Setup Man | 1.2 | 1 | 1 | 1 | 0 | 2 | 0 | 6 | 28 | 5.40 | 2.89 | 1.17 |
| simulation | TEX | 4 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 3 | 3 | 3 | 2 | 0 | 1 | 8 | 30 | 27.00 | 3.24 | 1.44 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| NYM | Nolan McLean | Starter | 6.0 | 0 | 0 | 0 | 6 | 18 | 76 |
| NYM | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| NYM | Kodai Senga | Closer | 1.0 | 1 | 1 | 2 | 2 | 6 | 24 |
| NYM | Nathan Lavender | Setup Man | 1.0 | 2 | 1 | 2 | 0 | 6 | 24 |
| TEX | Cody Bradford | Starter | 4.2 | 2 | 4 | 0 | 11 | 18 | 83 |
| TEX | Jacob Latz | Closer | 1.2 | 0 | 0 | 0 | 1 | 5 | 33 |
| TEX | Jakob Junis | Setup Man | 1.2 | 1 | 1 | 0 | 2 | 6 | 28 |
| TEX | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 3 | 3 | 2 | 0 | 8 | 30 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_SD@LAD
20260923_SD@LAD.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAD | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SD | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model pitcher projections differ from final simulation pitching box score (BB: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=31; H: current=8, sim=7; HR: current=1, sim=2; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=4, sim=3; SO: current=8, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Will Smith: AB current=4 box=3, H current=1 box=0, R current=0 box=1, SO current=1 box=0; Mookie Betts: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Teoscar Hernández: AB current=4 box=3, HR current=0 box=1, RBI current=1 box=2, BB current=0 box=1; Freddie Freeman: H current=1 box=3, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Kyle Tucker: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Andy Pages: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Max Muncy: AB current=3 box=2, H current=1 box=0, RBI current=1 box=0, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7; ER: current=6, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=5; R: current=6, sim=5; SO: current=9, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Manny Machado: H current=0 box=1, 2B current=0 box=1, R current=0 box=1, BB current=1 box=0; Dustin Harris: AB current=4 box=5, 3B current=0 box=1, R current=0 box=1, SO current=1 box=2; Jackson Merrill: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Samad Taylor: AB current=3 box=4, RBI current=0 box=1, SO current=1 box=0; Fernando Tatis Jr.: H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Jake Cronenworth: H current=1 box=2, R current=1 box=0; Ethan Salas: AB current=3 box=4; Xander Bogaerts: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | LAD | BATTING_REALISM | current:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAD | BATTING_REALISM | simulation:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAD | BATTING_TOTALS_SUM | current:LAD batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SD | BATTING_TOTALS_SUM | current:SD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAD | BATTING_TOTALS_SUM | simulation:LAD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SD | BATTING_TOTALS_SUM | simulation:SD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_BB_MATCH | simulation:LAD batting walks match SD pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match SD pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match SD pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match SD pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=34 matches SD BF=34. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match LAD pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match LAD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match LAD pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=38 matches LAD BF=38. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.566 -> 0.560 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.566172, 'sample_size': 680, 'empirical_hit_rate': 0.5529, 'empirical_weight': 0.5, 'blended_confidence': 0.559536, 'published_confidence': 0.535156, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | current_payload | current | LAD | CURRENT_LINEUP_SHAPE | LAD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAD | CURRENT_MODEL_ZERO_FALLBACK | LAD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAD | CURRENT_NAMES_PRESENT | LAD current hitter names are populated. | |||
| PASS | current_payload | current | LAD | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAD hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SD | CURRENT_LINEUP_SHAPE | SD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SD | CURRENT_MODEL_ZERO_FALLBACK | SD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SD | CURRENT_NAMES_PRESENT | SD current hitter names are populated. | |||
| PASS | current_payload | current | SD | CURRENT_PREDICTIONS_MATCH_FINALIZED | SD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.465. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.535. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.535. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 12 is reasonably close to low-score expected_total_runs 12.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: SD 8, LAD 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SD 5 - LAD 7. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAD; cap=0.54, reasons=recent head-to-head is split and volatile; local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result; a prior same-side pick missed by 5+ actual runs. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'SD', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 7, 'opponent_runs': 0, 'margin_for_predicted_team': 7, 'winner': 'LAD'}, {'date': '2026-07-05', 'predicted_team_runs': 2, 'opponent_runs': 5, 'margin_for_predicted_team': -3, 'winner': 'SD'}, {'date': '2026-07-04', 'predicted_team_runs': 3, 'opponent_runs': 0, 'margin_for_predicted_team': 3, 'winner': 'LAD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 7, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260922', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 7, 'raw_pick_probability': 0.53, 'artifact': '20260922_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260704', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 3, 'raw_pick_probability': 0.66, 'artifact': '20260704_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260703', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 1, 'raw_pick_probability': 0.66, 'artifact': '20260703_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260702', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 5, 'raw_pick_probability': 0.66, 'artifact': '20260702_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260628', 'away': 'LAD', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'LAD', 'actual_margin': 2, 'raw_pick_probability': 0.51, 'artifact': '20260628_LAD@SD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAD', 'guardrail_opponent_team': 'SD', 'output_pre_simulation_winner': 'LAD', 'output_opponent_team': 'SD', 'simulation_score_winner': 'LAD', 'final_score_winner': 'LAD', 'pre_simulation_winner': 'LAD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.042, 'recent_form_edge_home_minus_away': 0.21, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 7, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'LAD', 'published_winner_draw_share': 0.6, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 7}, 'simulation_score': {'away_runs': 5, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.7494, 'winner': 'LAD', 'score_reviewed': {'away_runs': 5, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_SD@LAD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SD@LAD. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 13.0, 'absolute_net_margin': 13.0, 'home_average_margin': 2.6, 'home_run_delta': 0.075, 'away_run_delta': -0.075, 'evidence': [{'game_id': None, 'home_margin': 7.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 5, 'probability': 0.016109771224927807}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015664133157284092}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.015474327082196685}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.015260282256441007}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.015147134492184666}], 'home_distribution': {'0': 0.0374884431660508, '1': 0.05707210481478138, '2': 0.0794343737029583, '3': 0.10107672541485675, '4': 0.11758500807456473, '5': 0.12505781740697525, '6': 0.12159839372461102, '7': 0.1080943347684245, '8': 0.08784885997834903, '9': 0.065272076425863, '10': 0.04433807452737686, '11': 0.027534952476931468, '12': 0.015633273839737956, '13': 0.008114721906561586, '14': 0.0038508397719572737}, 'away_distribution': {'0': 0.040977593693553624, '1': 0.06223600138096241, '2': 0.08600674352849245, '3': 0.1081481063773104, '4': 0.12373738326040533, '5': 0.1288185861464528, '6': 0.1220258163212582, '7': 0.1051769342933106, '8': 0.08248688182495145, '9': 0.05886333420666202, '10': 0.03822085716647758, '11': 0.022581437222279784, '12': 0.012139430957590304, '13': 0.005938006544652325, '14': 0.002642887075640754}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 1.1529, 'recent_quality_edge': -0.0, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.7494} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.042, 'recent_form_edge_home_minus_away': 0.21, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 7, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'LAD', 'published_winner_draw_share': 0.6, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 7}, 'simulation_score': {'away_runs': 5, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.7494, 'winner': 'LAD', 'score_reviewed': {'away_runs': 5, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 146. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 177. | |||||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_PITCHER_MATCH | LAD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_TOTAL_MATCH | LAD pitch_count_summary total, row sum, and pitching total all match: 177. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_PITCHER_MATCH | SD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_TOTAL_MATCH | SD pitch_count_summary total, row sum, and pitching total all match: 146. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAD | PITCHING_REALISM | current:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAD | STARTER_PRESENT | current:LAD includes a starter/opener role. | |||
| PASS | pitching | current | SD | PITCHING_REALISM | current:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SD | STARTER_PRESENT | current:SD includes a starter/opener role. | |||
| PASS | pitching | simulation | LAD | PITCHING_REALISM | simulation:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAD | STARTER_PRESENT | simulation:LAD includes a starter/opener role. | |||
| PASS | pitching | simulation | SD | PITCHING_REALISM | simulation:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SD | STARTER_PRESENT | simulation:SD includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SD 5 - 7 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SD 5 - 7 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 7-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAD, simulation=LAD, published=LAD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.535. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): LAD wins 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD wins 5-7. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-7. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-7, final 5-7 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAD wins 7-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAD | RECENT_FORM_RANGE | LAD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAD | TEAM_RECENT_RECORD | LAD wins and win_pct agree: 7/10 = 0.700. | |||
| PASS | team_recent_performance | current | SD | RECENT_FORM_RANGE | SD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SD | TEAM_RECENT_RECORD | SD wins and win_pct agree: 8/10 = 0.800. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | LAD | BATTING_REALISM | current:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAD | BATTING_REALISM | simulation:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAD | BATTING_TOTALS_SUM | current:LAD batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SD | BATTING_TOTALS_SUM | current:SD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAD | BATTING_TOTALS_SUM | simulation:LAD batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SD | BATTING_TOTALS_SUM | simulation:SD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_BB_MATCH | simulation:LAD batting walks match SD pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match SD pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match SD pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match SD pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=34 matches SD BF=34. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match LAD pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match LAD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match LAD pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=38 matches LAD BF=38. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.566 -> 0.560 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.566172, 'sample_size': 680, 'empirical_hit_rate': 0.5529, 'empirical_weight': 0.5, 'blended_confidence': 0.559536, 'published_confidence': 0.535156, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | current_payload | current | LAD | CURRENT_LINEUP_SHAPE | LAD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAD | CURRENT_MODEL_ZERO_FALLBACK | LAD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAD | CURRENT_NAMES_PRESENT | LAD current hitter names are populated. | |||
| PASS | current_payload | current | LAD | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAD hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SD | CURRENT_LINEUP_SHAPE | SD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SD | CURRENT_MODEL_ZERO_FALLBACK | SD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SD | CURRENT_NAMES_PRESENT | SD current hitter names are populated. | |||
| PASS | current_payload | current | SD | CURRENT_PREDICTIONS_MATCH_FINALIZED | SD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.465. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.535. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.535. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 12 is reasonably close to low-score expected_total_runs 12.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: SD 8, LAD 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SD 5 - LAD 7. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAD; cap=0.54, reasons=recent head-to-head is split and volatile; local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result; a prior same-side pick missed by 5+ actual runs. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'SD', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 7, 'opponent_runs': 0, 'margin_for_predicted_team': 7, 'winner': 'LAD'}, {'date': '2026-07-05', 'predicted_team_runs': 2, 'opponent_runs': 5, 'margin_for_predicted_team': -3, 'winner': 'SD'}, {'date': '2026-07-04', 'predicted_team_runs': 3, 'opponent_runs': 0, 'margin_for_predicted_team': 3, 'winner': 'LAD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 7, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260922', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 7, 'raw_pick_probability': 0.53, 'artifact': '20260922_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260704', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 3, 'raw_pick_probability': 0.66, 'artifact': '20260704_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260703', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 1, 'raw_pick_probability': 0.66, 'artifact': '20260703_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260702', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 5, 'raw_pick_probability': 0.66, 'artifact': '20260702_SD@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260628', 'away': 'LAD', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'LAD', 'actual_margin': 2, 'raw_pick_probability': 0.51, 'artifact': '20260628_LAD@SD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAD', 'guardrail_opponent_team': 'SD', 'output_pre_simulation_winner': 'LAD', 'output_opponent_team': 'SD', 'simulation_score_winner': 'LAD', 'final_score_winner': 'LAD', 'pre_simulation_winner': 'LAD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.042, 'recent_form_edge_home_minus_away': 0.21, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 7, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'LAD', 'published_winner_draw_share': 0.6, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 7}, 'simulation_score': {'away_runs': 5, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.7494, 'winner': 'LAD', 'score_reviewed': {'away_runs': 5, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_SD@LAD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SD@LAD. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 13.0, 'absolute_net_margin': 13.0, 'home_average_margin': 2.6, 'home_run_delta': 0.075, 'away_run_delta': -0.075, 'evidence': [{'game_id': None, 'home_margin': 7.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 5.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 5, 'probability': 0.016109771224927807}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015664133157284092}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.015474327082196685}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.015260282256441007}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.015147134492184666}], 'home_distribution': {'0': 0.0374884431660508, '1': 0.05707210481478138, '2': 0.0794343737029583, '3': 0.10107672541485675, '4': 0.11758500807456473, '5': 0.12505781740697525, '6': 0.12159839372461102, '7': 0.1080943347684245, '8': 0.08784885997834903, '9': 0.065272076425863, '10': 0.04433807452737686, '11': 0.027534952476931468, '12': 0.015633273839737956, '13': 0.008114721906561586, '14': 0.0038508397719572737}, 'away_distribution': {'0': 0.040977593693553624, '1': 0.06223600138096241, '2': 0.08600674352849245, '3': 0.1081481063773104, '4': 0.12373738326040533, '5': 0.1288185861464528, '6': 0.1220258163212582, '7': 0.1051769342933106, '8': 0.08248688182495145, '9': 0.05886333420666202, '10': 0.03822085716647758, '11': 0.022581437222279784, '12': 0.012139430957590304, '13': 0.005938006544652325, '14': 0.002642887075640754}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 1.1529, 'recent_quality_edge': -0.0, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.7494} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'SD 5 - 7 LAD', 'winner': 'LAD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.042, 'recent_form_edge_home_minus_away': 0.21, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 7, 'winner': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'LAD', 'published_winner_draw_share': 0.6, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 7}, 'simulation_score': {'away_runs': 5, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.7494, 'winner': 'LAD', 'score_reviewed': {'away_runs': 5, 'home_runs': 7, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 146. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 177. | |||||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_PITCHER_MATCH | LAD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAD | PITCH_COUNT_TOTAL_MATCH | LAD pitch_count_summary total, row sum, and pitching total all match: 177. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_PITCHER_MATCH | SD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_TOTAL_MATCH | SD pitch_count_summary total, row sum, and pitching total all match: 146. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAD | PITCHING_REALISM | current:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAD | STARTER_PRESENT | current:LAD includes a starter/opener role. | |||
| PASS | pitching | current | SD | PITCHING_REALISM | current:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SD | STARTER_PRESENT | current:SD includes a starter/opener role. | |||
| PASS | pitching | simulation | LAD | PITCHING_REALISM | simulation:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAD | STARTER_PRESENT | simulation:LAD includes a starter/opener role. | |||
| PASS | pitching | simulation | SD | PITCHING_REALISM | simulation:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SD | STARTER_PRESENT | simulation:SD includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAD | PITCHING_TOTALS_SUM | current:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAD | PITCHING_TOTALS_SUM | simulation:LAD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SD 5 - 7 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SD 5 - 7 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 7-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAD, simulation=LAD, published=LAD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.535. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): LAD wins 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD wins 5-7. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-7. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-7, final 5-7 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAD wins 7-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAD | RECENT_FORM_RANGE | LAD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAD | TEAM_RECENT_RECORD | LAD wins and win_pct agree: 7/10 = 0.700. | |||
| PASS | team_recent_performance | current | SD | RECENT_FORM_RANGE | SD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SD | TEAM_RECENT_RECORD | SD wins and win_pct agree: 8/10 = 0.800. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAD | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SD | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model pitcher projections differ from final simulation pitching box score (BB: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=31; H: current=8, sim=7; HR: current=1, sim=2; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=4, sim=3; SO: current=8, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Will Smith: AB current=4 box=3, H current=1 box=0, R current=0 box=1, SO current=1 box=0; Mookie Betts: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Teoscar Hernández: AB current=4 box=3, HR current=0 box=1, RBI current=1 box=2, BB current=0 box=1; Freddie Freeman: H current=1 box=3, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Kyle Tucker: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Andy Pages: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Max Muncy: AB current=3 box=2, H current=1 box=0, RBI current=1 box=0, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7; ER: current=6, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=5; R: current=6, sim=5; SO: current=9, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Manny Machado: H current=0 box=1, 2B current=0 box=1, R current=0 box=1, BB current=1 box=0; Dustin Harris: AB current=4 box=5, 3B current=0 box=1, R current=0 box=1, SO current=1 box=2; Jackson Merrill: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Samad Taylor: AB current=3 box=4, RBI current=0 box=1, SO current=1 box=0; Fernando Tatis Jr.: H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Jake Cronenworth: H current=1 box=2, R current=1 box=0; Ethan Salas: AB current=3 box=4; Xander Bogaerts: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.179140173640945 | 5.325048887801168 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 6 | 0.535 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 7 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 7 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 7 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 7 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | 0 | 1 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 5 | 8 |
| LAD | 0 | 3 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 7 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SD | batting | 34 | 7 | 1 | 0 | 1 | 4 | 6 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | SD | pitching | 6 | 2 | 7 | 3 | 6 | 8.0 | 6 | 0 | 0 | |||||||||
| current | LAD | batting | 34 | 8 | 2 | 0 | 1 | 5 | 5 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | LAD | pitching | 8 | 1 | 5 | 2 | 11 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | SD | batting | 35 | 8 | 2 | 1 | 1 | 5 | 5 | 3 | 11 | 0 | 0 | |||||||
| simulation | SD | pitching | 7 | 2 | 7 | 3 | 6 | 8.0 | 7 | 34 | 146 | |||||||||
| simulation | LAD | batting | 31 | 7 | 2 | 0 | 2 | 7 | 7 | 3 | 6 | 0 | 0 | |||||||
| simulation | LAD | pitching | 8 | 1 | 5 | 3 | 11 | 9.0 | 5 | 38 | 177 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SD | 1B | Ty France | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | 3B | Manny Machado | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.000 | |
| current | SD | LF | Dustin Harris | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | CF | Jackson Merrill | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | DH | Samad Taylor | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SD | RF | Fernando Tatis Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | SD | 2B | Jake Cronenworth | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | C | Ethan Salas | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SD | SS | Xander Bogaerts | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAD | DH | Shohei Ohtani | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAD | C | Will Smith | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAD | SS | Mookie Betts | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | LAD | LF | Teoscar Hernández | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAD | 1B | Freddie Freeman | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAD | RF | Kyle Tucker | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | LAD | CF | Andy Pages | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAD | 3B | Max Muncy | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | LAD | 2B | Tommy Edman | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | SD | 1 | RF | Fernando Tatis Jr. | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | SD | 2 | LF | Dustin Harris | 5 | 5 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 2 | 0 | 0.200 |
| simulation | SD | 3 | 3B | Manny Machado | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 3 | 0 | 0.250 |
| simulation | SD | 4 | 1B | Ty France | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | SD | 5 | CF | Jackson Merrill | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | SD | 6 | SS | Xander Bogaerts | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.333 |
| simulation | SD | 7 | 2B | Jake Cronenworth | 4 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | SD | 8 | DH | Samad Taylor | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | SD | 9 | C | Ethan Salas | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | LAD | 1 | SS | Mookie Betts | 4 | 4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | LAD | 2 | DH | Shohei Ohtani | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | LAD | 3 | C | Will Smith | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | LAD | 4 | 1B | Freddie Freeman | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.750 |
| simulation | LAD | 5 | LF | Teoscar Hernández | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 1 | 0 | 0.333 |
| simulation | LAD | 6 | RF | Kyle Tucker | 4 | 4 | 2 | 1 | 0 | 1 | 1 | 3 | 0 | 1 | 0 | 0.500 |
| simulation | LAD | 7 | CF | Andy Pages | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | LAD | 8 | 3B | Max Muncy | 3 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | LAD | 9 | 2B | Tommy Edman | 3 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SD | 1 | Robbie Ray | Starter | 5.0 | 5 | 4 | 3 | 2 | 5 | 2 | 0 | 0 | 5.40 | 3.60 | 1.33 |
| current | SD | 2 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.80 | 0.97 |
| current | SD | 3 | Mason Miller | Closer | 1.0 | 0 | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 27.00 | 1.21 | 0.84 |
| current | SD | 4 | Yuki Matsui | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.90 | 1.14 |
| current | LAD | 1 | Yoshinobu Yamamoto | Starter | 6.2 | 6 | 3 | 3 | 2 | 8 | 1 | 0 | 0 | 4.05 | 2.51 | 0.87 |
| current | LAD | 2 | Brock Stewart | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.10 | 0.94 |
| current | LAD | 3 | Tanner Scott | Closer | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 2.77 | 1.01 |
| current | LAD | 4 | Alex Vesia | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 27.00 | 2.73 | 1.11 |
| simulation | SD | 1 | Robbie Ray | Starter | 5.0 | 5 | 4 | 4 | 2 | 5 | 2 | 22 | 97 | 7.20 | 3.60 | 1.33 |
| simulation | SD | 2 | Mason Miller | Closer | 1.0 | 1 | 3 | 3 | 1 | 0 | 0 | 5 | 20 | 27.00 | 1.21 | 0.84 |
| simulation | SD | 3 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 1.80 | 0.97 |
| simulation | SD | 4 | Yuki Matsui | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 1.90 | 1.14 |
| simulation | LAD | 1 | Yoshinobu Yamamoto | Starter | 6.2 | 6 | 3 | 3 | 2 | 8 | 1 | 28 | 122 | 4.05 | 2.51 | 0.87 |
| simulation | LAD | 2 | Tanner Scott | Closer | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 4 | 19 | 9.00 | 2.77 | 1.01 |
| simulation | LAD | 3 | Brock Stewart | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 25 | 0.00 | 2.10 | 0.94 |
| simulation | LAD | 4 | Alex Vesia | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 1 | 1 | 0 | 3 | 11 | 27.00 | 2.73 | 1.11 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| SD | Robbie Ray | Starter | 5.0 | 4 | 5 | 2 | 5 | 22 | 97 |
| SD | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| SD | Mason Miller | Closer | 1.0 | 3 | 1 | 1 | 0 | 5 | 20 |
| SD | Yuki Matsui | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| LAD | Yoshinobu Yamamoto | Starter | 6.2 | 3 | 6 | 2 | 8 | 28 | 122 |
| LAD | Brock Stewart | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 25 |
| LAD | Tanner Scott | Closer | 1.0 | 1 | 1 | 0 | 1 | 4 | 19 |
| LAD | Alex Vesia | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 1 | 3 | 11 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_STL@PIT
20260923_STL@PIT.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | STL | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=10, sim=9; 2B: current=2, sim=3; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=3, sim=2; SO: current=8, sim=4; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Konnor Griffin: H current=2 box=1, 2B current=0 box=1; Bryan Reynolds: H current=1 box=2, RBI current=1 box=2, BB current=1 box=0; Nick Gonzales: H current=1 box=0, 2B current=1 box=0; Ryan O'Hearn: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Jared Triolo: AB current=3 box=2, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; Rafael Flores Jr.: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Brandon Lowe: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Ronny Simon: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=8, sim=5; 3B: current=0, sim=1; HR: current=1, sim=2; R: current=4, sim=5; BB: current=3, sim=7; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: AB current=4 box=3, H current=1 box=0, BB current=1 box=2; Jordan Walker: BB current=0 box=1, SO current=1 box=0; Iván Herrera: HR current=0 box=1, BB current=1 box=0, HBP current=0 box=1; Leonardo Bernal: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Alec Burleson: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; José Fermín: H current=1 box=0, RBI current=1 box=0, SO current=0 box=3; Masyn Winn: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=2; Nathan Church: AB current=3 box=2, 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match STL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match STL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match STL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match STL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=36 matches STL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match PIT pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match PIT pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match PIT pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=40 matches PIT BF=40. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.609 -> 0.582 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.609038, 'sample_size': 384, 'empirical_hit_rate': 0.5547, 'empirical_weight': 0.5, 'blended_confidence': 0.581869, 'published_confidence': 0.556013, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | STL | CURRENT_LINEUP_SHAPE | STL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | STL | CURRENT_MODEL_ZERO_FALLBACK | STL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | STL | CURRENT_NAMES_PRESENT | STL current hitter names are populated. | |||
| PASS | current_payload | current | STL | CURRENT_PREDICTIONS_MATCH_FINALIZED | STL hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.444. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: STL 5, PIT 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: STL 5 - PIT 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PIT. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for PIT; cap=0.56, reasons=local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'PIT', 'opponent_team': 'STL', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 2, 'opponent_runs': 0, 'margin_for_predicted_team': 2, 'winner': 'PIT'}, {'date': '2026-08-30', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, 'winner': 'PIT'}, {'date': '2026-08-29', 'predicted_team_runs': 6, 'opponent_runs': 2, 'margin_for_predicted_team': 4, 'winner': 'PIT'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'STL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 2, 'raw_pick_probability': 0.538662, 'artifact': '20260922_STL@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260830', 'away': 'PIT', 'home': 'STL', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 1, 'raw_pick_probability': 0.559749, 'artifact': '20260830_PIT@STL.json', 'verification': 'pregame_official_final'}, {'date': '20260829', 'away': 'PIT', 'home': 'STL', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260829_PIT@STL.json', 'verification': 'pregame_official_final'}, {'date': '20260828', 'away': 'PIT', 'home': 'STL', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'STL', 'actual_margin': 3, 'raw_pick_probability': 0.6, 'artifact': '20260828_PIT@STL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'PIT', 'guardrail_opponent_team': 'STL', 'output_pre_simulation_winner': 'PIT', 'output_opponent_team': 'STL', 'simulation_score_winner': 'PIT', 'final_score_winner': 'PIT', 'pre_simulation_winner': 'PIT', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0436, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'PIT', 'model_winner': 'PIT', 'simulation_winner': 'PIT', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'PIT', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3673, 'winner': 'PIT', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_STL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: STL@PIT. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 8.0, 'absolute_net_margin': 8.0, 'home_average_margin': 1.6, 'home_run_delta': 0.0462, 'away_run_delta': -0.0462, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 5, 'probability': 0.01585531359069926}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015715820094941352}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.015404604211684917}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015269076012891332}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.014811327499162053}], 'home_distribution': {'0': 0.03486361185809645, '1': 0.053168880793756555, '2': 0.07439060205371252, '3': 0.09548915340317532, '4': 0.11245154501653518, '5': 0.12149327102693602, '6': 0.12042438513012527, '7': 0.10950956769530812, '8': 0.0913618964513354, '9': 0.06992839520111842, '10': 0.04910406339820172, '11': 0.03163418982578852, '12': 0.01869697792497435, '13': 0.010138215737129601, '14': 0.0050434422965586895, '15': 0.002301802187247726}, 'away_distribution': {'0': 0.04284989154184672, '1': 0.06499719116362646, '2': 0.08948171694364919, '3': 0.11180697187356108, '4': 0.12679388810158543, '5': 0.1305036357707746, '6': 0.12191068175189936, '7': 0.10336077717769068, '8': 0.07953616188005158, '9': 0.05554799025282356, '10': 0.03521007327554795, '11': 0.020256311385676972, '12': 0.01057666277148229, '13': 0.005012239419394082, '14': 0.0021558066903901722}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.3949, 'recent_quality_edge': 0.316, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.3673} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0436, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'PIT', 'model_winner': 'PIT', 'simulation_winner': 'PIT', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'PIT', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3673, 'winner': 'PIT', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 133. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 175. | |||||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_PITCHER_MATCH | PIT pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_TOTAL_MATCH | PIT pitch_count_summary total, row sum, and pitching total all match: 175. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_PITCHER_MATCH | STL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_TOTAL_MATCH | STL pitch_count_summary total, row sum, and pitching total all match: 133. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 7 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | current | STL | PITCHING_REALISM | current:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | STL | STARTER_PRESENT | current:STL includes a starter/opener role. | |||
| PASS | pitching | simulation | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | STL | PITCHING_REALISM | simulation:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | STL | STARTER_PRESENT | simulation:STL includes a starter/opener role. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: STL 5 - 6 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: STL 5 - 6 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=PIT, simulation=PIT, published=PIT. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.556. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): PIT wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PIT wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | PIT | RECENT_FORM_RANGE | PIT recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PIT | TEAM_RECENT_RECORD | PIT wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | STL | RECENT_FORM_RANGE | STL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | STL | TEAM_RECENT_RECORD | STL wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match STL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match STL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match STL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match STL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=36 matches STL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match PIT pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match PIT pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match PIT pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=40 matches PIT BF=40. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.609 -> 0.582 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.609038, 'sample_size': 384, 'empirical_hit_rate': 0.5547, 'empirical_weight': 0.5, 'blended_confidence': 0.581869, 'published_confidence': 0.556013, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | STL | CURRENT_LINEUP_SHAPE | STL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | STL | CURRENT_MODEL_ZERO_FALLBACK | STL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | STL | CURRENT_NAMES_PRESENT | STL current hitter names are populated. | |||
| PASS | current_payload | current | STL | CURRENT_PREDICTIONS_MATCH_FINALIZED | STL hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.444. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.539/0.731. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: STL 5, PIT 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: STL 5 - PIT 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PIT. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for PIT; cap=0.56, reasons=local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'PIT', 'opponent_team': 'STL', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 2, 'opponent_runs': 0, 'margin_for_predicted_team': 2, 'winner': 'PIT'}, {'date': '2026-08-30', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, 'winner': 'PIT'}, {'date': '2026-08-29', 'predicted_team_runs': 6, 'opponent_runs': 2, 'margin_for_predicted_team': 4, 'winner': 'PIT'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'STL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 2, 'raw_pick_probability': 0.538662, 'artifact': '20260922_STL@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260830', 'away': 'PIT', 'home': 'STL', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 1, 'raw_pick_probability': 0.559749, 'artifact': '20260830_PIT@STL.json', 'verification': 'pregame_official_final'}, {'date': '20260829', 'away': 'PIT', 'home': 'STL', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260829_PIT@STL.json', 'verification': 'pregame_official_final'}, {'date': '20260828', 'away': 'PIT', 'home': 'STL', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'STL', 'actual_margin': 3, 'raw_pick_probability': 0.6, 'artifact': '20260828_PIT@STL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'PIT', 'guardrail_opponent_team': 'STL', 'output_pre_simulation_winner': 'PIT', 'output_opponent_team': 'STL', 'simulation_score_winner': 'PIT', 'final_score_winner': 'PIT', 'pre_simulation_winner': 'PIT', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0436, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'PIT', 'model_winner': 'PIT', 'simulation_winner': 'PIT', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'PIT', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3673, 'winner': 'PIT', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_STL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: STL@PIT. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 8.0, 'absolute_net_margin': 8.0, 'home_average_margin': 1.6, 'home_run_delta': 0.0462, 'away_run_delta': -0.0462, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 5, 'probability': 0.01585531359069926}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015715820094941352}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.015404604211684917}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015269076012891332}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.014811327499162053}], 'home_distribution': {'0': 0.03486361185809645, '1': 0.053168880793756555, '2': 0.07439060205371252, '3': 0.09548915340317532, '4': 0.11245154501653518, '5': 0.12149327102693602, '6': 0.12042438513012527, '7': 0.10950956769530812, '8': 0.0913618964513354, '9': 0.06992839520111842, '10': 0.04910406339820172, '11': 0.03163418982578852, '12': 0.01869697792497435, '13': 0.010138215737129601, '14': 0.0050434422965586895, '15': 0.002301802187247726}, 'away_distribution': {'0': 0.04284989154184672, '1': 0.06499719116362646, '2': 0.08948171694364919, '3': 0.11180697187356108, '4': 0.12679388810158543, '5': 0.1305036357707746, '6': 0.12191068175189936, '7': 0.10336077717769068, '8': 0.07953616188005158, '9': 0.05554799025282356, '10': 0.03521007327554795, '11': 0.020256311385676972, '12': 0.01057666277148229, '13': 0.005012239419394082, '14': 0.0021558066903901722}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.3949, 'recent_quality_edge': 0.316, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.3673} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 6, 'score_text': 'STL 5 - 6 PIT', 'winner': 'PIT'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0436, 'recent_form_edge_home_minus_away': 0.526, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 6, 'winner': 'PIT', 'model_winner': 'PIT', 'simulation_winner': 'PIT', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'PIT', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'PIT', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 6}, 'simulation_score': {'away_runs': 5, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3673, 'winner': 'PIT', 'score_reviewed': {'away_runs': 5, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 133. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 175. | |||||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_PITCHER_MATCH | PIT pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PIT | PITCH_COUNT_TOTAL_MATCH | PIT pitch_count_summary total, row sum, and pitching total all match: 175. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_PITCHER_MATCH | STL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_TOTAL_MATCH | STL pitch_count_summary total, row sum, and pitching total all match: 133. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 7 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | current | STL | PITCHING_REALISM | current:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | STL | STARTER_PRESENT | current:STL includes a starter/opener role. | |||
| PASS | pitching | simulation | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | STL | PITCHING_REALISM | simulation:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | STL | STARTER_PRESENT | simulation:STL includes a starter/opener role. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: STL 5 - 6 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: STL 5 - 6 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=PIT, simulation=PIT, published=PIT. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.556. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): PIT wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PIT wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | PIT | RECENT_FORM_RANGE | PIT recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PIT | TEAM_RECENT_RECORD | PIT wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | STL | RECENT_FORM_RANGE | STL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | STL | TEAM_RECENT_RECORD | STL wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | STL | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=10, sim=9; 2B: current=2, sim=3; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=3, sim=2; SO: current=8, sim=4; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Konnor Griffin: H current=2 box=1, 2B current=0 box=1; Bryan Reynolds: H current=1 box=2, RBI current=1 box=2, BB current=1 box=0; Nick Gonzales: H current=1 box=0, 2B current=1 box=0; Ryan O'Hearn: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Jared Triolo: AB current=3 box=2, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; Rafael Flores Jr.: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Brandon Lowe: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Ronny Simon: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=8, sim=5; 3B: current=0, sim=1; HR: current=1, sim=2; R: current=4, sim=5; BB: current=3, sim=7; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: AB current=4 box=3, H current=1 box=0, BB current=1 box=2; Jordan Walker: BB current=0 box=1, SO current=1 box=0; Iván Herrera: HR current=0 box=1, BB current=1 box=0, HBP current=0 box=1; Leonardo Bernal: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Alec Burleson: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; José Fermín: H current=1 box=0, RBI current=1 box=0, SO current=0 box=3; Masyn Winn: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=2; Nathan Church: AB current=3 box=2, 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.141426641558341 | 5.5110472094073595 | Base ML historical model prediction | |
| variance_applied | 4 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 6 | 0.556 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 6 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 6 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| STL | 0 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0 | 5 | 5 |
| PIT | 0 | 2 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 6 | 9 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | STL | batting | 33 | 8 | 2 | 0 | 1 | 5 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | STL | pitching | 9 | 1 | 6 | 2 | 4 | 8.0 | 6 | 0 | 0 | |||||||||
| current | PIT | batting | 34 | 10 | 2 | 0 | 1 | 5 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | PIT | pitching | 5 | 2 | 5 | 7 | 8 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | STL | batting | 32 | 5 | 2 | 1 | 2 | 5 | 5 | 7 | 8 | 0 | 1 | |||||||
| simulation | STL | pitching | 9 | 1 | 6 | 2 | 4 | 8.0 | 6 | 36 | 133 | |||||||||
| simulation | PIT | batting | 32 | 9 | 3 | 0 | 1 | 6 | 6 | 2 | 4 | 1 | 1 | |||||||
| simulation | PIT | pitching | 5 | 2 | 5 | 7 | 8 | 9.0 | 5 | 40 | 175 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | STL | 2B | JJ Wetherholt | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | STL | RF | Jordan Walker | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | DH | Iván Herrera | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | STL | C | Leonardo Bernal | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | 1B | Alec Burleson | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | 3B | Nolan Gorman | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | STL | LF | José Fermín | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | STL | SS | Masyn Winn | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | STL | CF | Nathan Church | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | SS | Konnor Griffin | 0 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 | |
| current | PIT | LF | Bryan Reynolds | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | DH | Nick Gonzales | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | PIT | 1B | Ryan O'Hearn | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | 3B | Jared Triolo | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | C | Rafael Flores Jr. | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | 2B | Brandon Lowe | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | RF | Ronny Simon | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | CF | Jake Mangum | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | STL | 1 | 2B | JJ Wetherholt | 5 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | STL | 2 | DH | Iván Herrera | 5 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0.250 |
| simulation | STL | 3 | 1B | Alec Burleson | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | STL | 4 | RF | Jordan Walker | 5 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.250 |
| simulation | STL | 5 | C | Leonardo Bernal | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | STL | 6 | 3B | Nolan Gorman | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | STL | 7 | LF | José Fermín | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | STL | 8 | CF | Nathan Church | 4 | 2 | 1 | 0 | 1 | 0 | 1 | 1 | 2 | 0 | 0 | 0.500 |
| simulation | STL | 9 | SS | Masyn Winn | 4 | 4 | 2 | 2 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | PIT | 1 | SS | Konnor Griffin | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | PIT | 2 | C | Rafael Flores Jr. | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | PIT | 3 | LF | Bryan Reynolds | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.500 |
| simulation | PIT | 4 | 2B | Brandon Lowe | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | PIT | 5 | DH | Nick Gonzales | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | PIT | 6 | RF | Ronny Simon | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.000 |
| simulation | PIT | 7 | 1B | Ryan O'Hearn | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | PIT | 8 | 3B | Jared Triolo | 4 | 2 | 2 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 0 | 1.000 |
| simulation | PIT | 9 | CF | Jake Mangum | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | STL | 1 | Matthew Liberatore | Starter | 5.0 | 6 | 3 | 3 | 1 | 4 | 1 | 0 | 0 | 5.40 | 5.36 | 1.49 |
| current | STL | 4 | Riley O'Brien | Closer | 1.2 | 2 | 2 | 2 | 1 | 0 | 0 | 0 | 0 | 10.80 | 4.08 | 1.28 |
| current | STL | 6 | George Soriano | Setup Man | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 6.75 | 4.29 | 1.40 |
| current | PIT | 1 | Lake Bachar | Starter | 5.0 | 2 | 2 | 2 | 3 | 5 | 1 | 0 | 0 | 3.60 | 3.02 | 1.07 |
| current | PIT | 2 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 9.00 | 3.31 | 1.10 |
| current | PIT | 3 | Luke Weaver | Setup Man | 1.1 | 1 | 1 | 1 | 1 | 2 | 0 | 0 | 0 | 6.75 | 2.75 | 0.97 |
| current | PIT | 4 | Mason Montgomery | Closer | 1.2 | 1 | 1 | 1 | 3 | 1 | 0 | 0 | 0 | 5.40 | 2.32 | 1.00 |
| simulation | STL | 1 | Matthew Liberatore | Starter | 5.0 | 6 | 3 | 3 | 1 | 4 | 1 | 23 | 85 | 5.40 | 5.36 | 1.49 |
| simulation | STL | 2 | Riley O'Brien | Closer | 1.2 | 2 | 2 | 2 | 1 | 0 | 0 | 8 | 28 | 10.80 | 4.08 | 1.28 |
| simulation | STL | 3 | George Soriano | Setup Man | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 5 | 20 | 6.75 | 4.29 | 1.40 |
| simulation | PIT | 1 | Lake Bachar | Starter | 5.0 | 2 | 2 | 2 | 3 | 5 | 1 | 21 | 93 | 3.60 | 3.02 | 1.07 |
| simulation | PIT | 2 | Mason Montgomery | Closer | 1.2 | 1 | 1 | 1 | 3 | 1 | 0 | 9 | 42 | 5.40 | 2.32 | 1.00 |
| simulation | PIT | 3 | Luke Weaver | Setup Man | 1.1 | 1 | 1 | 1 | 1 | 2 | 0 | 6 | 24 | 6.75 | 2.75 | 0.97 |
| simulation | PIT | 4 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 4 | 16 | 9.00 | 3.31 | 1.10 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| STL | Matthew Liberatore | Starter | 5.0 | 3 | 6 | 1 | 4 | 23 | 85 |
| STL | Riley O'Brien | Closer | 1.2 | 2 | 2 | 1 | 0 | 8 | 28 |
| STL | George Soriano | Setup Man | 1.1 | 1 | 1 | 0 | 0 | 5 | 20 |
| PIT | Lake Bachar | Starter | 5.0 | 2 | 2 | 3 | 5 | 21 | 93 |
| PIT | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| PIT | Luke Weaver | Setup Man | 1.1 | 1 | 1 | 1 | 2 | 6 | 24 |
| PIT | Mason Montgomery | Closer | 1.2 | 1 | 1 | 3 | 1 | 9 | 42 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_TB@NYY
20260923_TB@NYY.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYY | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TB | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=31, sim=45; H: current=8, sim=12; 3B: current=0, sim=1; HR: current=1, sim=0; BB: current=3, sim=5; SO: current=10, sim=14). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Heliot Ramos: AB current=3 box=5, R current=1 box=0, BB current=0 box=1, SO current=1 box=2; George Lombard Jr.: AB current=4 box=6, H current=1 box=2, RBI current=1 box=0, SO current=1 box=2; Spencer Jones: AB current=4 box=5, 3B current=0 box=1, R current=0 box=1; José Caballero: AB current=3 box=5, H current=1 box=2; Luis García Jr.: AB current=4 box=6, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Ben Rice: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Jazz Chisholm Jr.: AB current=3 box=4, H current=1 box=0, R current=1 box=0; Ryan McMahon: AB current=3 box=4, H current=1 box=0, BB current=0 box=1, SO current=1 box=3 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=31, sim=44; H: current=8, sim=11; 2B: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=5; SO: current=8, sim=9; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Jonathan Aranda: AB current=4 box=6, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Victor Mesa Jr.: AB current=4 box=6, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Richie Palacios: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Ryan Vilade: AB current=3 box=4, H current=1 box=3, HR current=0 box=1, RBI current=0 box=2; Jonny DeLuca: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Liam Hicks: AB current=3 box=5, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Junior Caminero: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cedric Mullins: AB current=3 box=5, H current=0 box=2, 2B current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYY | BATTING_TOTALS_SUM | current:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TB | BATTING_TOTALS_SUM | current:TB batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match TB pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match TB pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match TB pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=50 matches TB BF=50. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match NYY pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match NYY pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match NYY pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match NYY pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=50 matches NYY BF=50. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.526 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 505, 'empirical_hit_rate': 0.5426, 'empirical_weight': 0.5, 'blended_confidence': 0.52635, 'published_confidence': 0.505259, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYY | CURRENT_LINEUP_SHAPE | NYY current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYY | CURRENT_MODEL_ZERO_FALLBACK | NYY current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYY | CURRENT_NAMES_PRESENT | NYY current hitter names are populated. | |||
| PASS | current_payload | current | NYY | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYY hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TB | CURRENT_LINEUP_SHAPE | TB current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TB | CURRENT_MODEL_ZERO_FALLBACK | TB current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TB | CURRENT_NAMES_PRESENT | TB current hitter names are populated. | |||
| PASS | current_payload | current | TB | CURRENT_PREDICTIONS_MATCH_FINALIZED | TB hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.768/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 11 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TB 11, NYY 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TB 5 - NYY 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TB. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TB; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head margin does not support a strong repeat pick. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head margin does not support a strong repeat pick'], 'signals': {'predicted_team': 'TB', 'opponent_team': 'NYY', 'h2h_net_margin': -5, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 6, 'opponent_runs': 1, 'margin_for_predicted_team': 5, 'winner': 'TB'}, {'date': '2026-09-22', 'predicted_team_runs': 0, 'opponent_runs': 2, 'margin_for_predicted_team': -2, 'winner': 'NYY'}, {'date': '2026-07-09', 'predicted_team_runs': 4, 'opponent_runs': 12, 'margin_for_predicted_team': -8, 'winner': 'NYY'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'TB', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 2, 'raw_pick_probability': 0.534918, 'artifact': '20260922_TB@NYY.json', 'verification': 'pregame_official_final'}, {'date': '20260922', 'away': 'TB', 'home': 'NYY', 'game_number': 2, 'predicted_team': 'NYY', 'actual_winner': 'TB', 'actual_margin': 5, 'raw_pick_probability': 0.520635, 'artifact': '20260922_TB@NYY_2.json', 'verification': 'pregame_official_final'}, {'date': '20260709', 'away': 'NYY', 'home': 'TB', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 8, 'raw_pick_probability': 0.51, 'artifact': '20260709_NYY@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260708', 'away': 'NYY', 'home': 'TB', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'TB', 'actual_margin': 3, 'raw_pick_probability': 0.64, 'artifact': '20260708_NYY@TB.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'NYY', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'NYY', 'simulation_score_winner': 'TB', 'final_score_winner': 'TB', 'pre_simulation_winner': 'TB', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0041, 'recent_form_edge_home_minus_away': -0.714, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TB', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.0639, 'winner': 'TB', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_TB@NYY. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TB@NYY. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 0.0, 'absolute_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': -0.0, 'evidence': [{'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 8.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023350462165734328}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02324541438796207}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022952660424827714}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.022849402255697013}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.020901454354002477}], 'home_distribution': {'0': 0.06848837275473106, '1': 0.10210270457043541, '2': 0.13344538976026088, '3': 0.1529029388323182, '4': 0.15359391872500192, '5': 0.1352627270480128, '6': 0.10443069951598334, '7': 0.07068449589295207, '8': 0.04194363572604676, '9': 0.021819958023027358, '10': 0.009951480091470769, '11': 0.003978939870684889, '12': 0.0013947391890745593}, 'away_distribution': {'0': 0.0658541454416154, '1': 0.09835350466698199, '2': 0.1292454125887666, '3': 0.14943729944101944, '4': 0.1520272570657015, '5': 0.13608256451497225, '6': 0.10717712086264287, '7': 0.07427116964598823, '8': 0.045285275736023665, '9': 0.02429474502482759, '10': 0.011467962138209328, '11': 0.004762979709081116, '12': 0.0017405631641702823}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.2484, 'recent_quality_edge': -0.644, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.0639} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0041, 'recent_form_edge_home_minus_away': -0.714, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TB', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.0639, 'winner': 'TB', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 202. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 203. | |||||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_PITCHER_MATCH | NYY pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_TOTAL_MATCH | NYY pitch_count_summary total, row sum, and pitching total all match: 203. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_PITCHER_MATCH | TB pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_TOTAL_MATCH | TB pitch_count_summary total, row sum, and pitching total all match: 202. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 11 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | NYY | PITCHING_REALISM | current:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYY | STARTER_PRESENT | current:NYY includes a starter/opener role. | |||
| PASS | pitching | current | TB | PITCHING_REALISM | current:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TB | STARTER_PRESENT | current:TB includes a starter/opener role. | |||
| PASS | pitching | simulation | NYY | PITCHING_REALISM | simulation:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYY | STARTER_PRESENT | simulation:NYY includes a starter/opener role. | |||
| PASS | pitching | simulation | TB | PITCHING_REALISM | simulation:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TB | STARTER_PRESENT | simulation:TB includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching IP total matches pitcher sum: 11.0. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 11.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TB 5 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TB 5 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 5-4 (Extra Innings - 11). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TB, simulation=TB, published=TB. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TB wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TB wins 5-4 (Extra Innings - 11). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYY | RECENT_FORM_RANGE | NYY recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYY | TEAM_RECENT_RECORD | NYY wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TB | RECENT_FORM_RANGE | TB recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TB | TEAM_RECENT_RECORD | TB wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYY | BATTING_TOTALS_SUM | current:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TB | BATTING_TOTALS_SUM | current:TB batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match TB pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match TB pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match TB pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=50 matches TB BF=50. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match NYY pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match NYY pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match NYY pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match NYY pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=50 matches NYY BF=50. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.526 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 505, 'empirical_hit_rate': 0.5426, 'empirical_weight': 0.5, 'blended_confidence': 0.52635, 'published_confidence': 0.505259, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYY | CURRENT_LINEUP_SHAPE | NYY current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYY | CURRENT_MODEL_ZERO_FALLBACK | NYY current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYY | CURRENT_NAMES_PRESENT | NYY current hitter names are populated. | |||
| PASS | current_payload | current | NYY | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYY hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TB | CURRENT_LINEUP_SHAPE | TB current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TB | CURRENT_MODEL_ZERO_FALLBACK | TB current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TB | CURRENT_NAMES_PRESENT | TB current hitter names are populated. | |||
| PASS | current_payload | current | TB | CURRENT_PREDICTIONS_MATCH_FINALIZED | TB hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.768/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 11 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TB 11, NYY 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TB 5 - NYY 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TB. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TB; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head margin does not support a strong repeat pick. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head margin does not support a strong repeat pick'], 'signals': {'predicted_team': 'TB', 'opponent_team': 'NYY', 'h2h_net_margin': -5, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 6, 'opponent_runs': 1, 'margin_for_predicted_team': 5, 'winner': 'TB'}, {'date': '2026-09-22', 'predicted_team_runs': 0, 'opponent_runs': 2, 'margin_for_predicted_team': -2, 'winner': 'NYY'}, {'date': '2026-07-09', 'predicted_team_runs': 4, 'opponent_runs': 12, 'margin_for_predicted_team': -8, 'winner': 'NYY'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'TB', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 2, 'raw_pick_probability': 0.534918, 'artifact': '20260922_TB@NYY.json', 'verification': 'pregame_official_final'}, {'date': '20260922', 'away': 'TB', 'home': 'NYY', 'game_number': 2, 'predicted_team': 'NYY', 'actual_winner': 'TB', 'actual_margin': 5, 'raw_pick_probability': 0.520635, 'artifact': '20260922_TB@NYY_2.json', 'verification': 'pregame_official_final'}, {'date': '20260709', 'away': 'NYY', 'home': 'TB', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 8, 'raw_pick_probability': 0.51, 'artifact': '20260709_NYY@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260708', 'away': 'NYY', 'home': 'TB', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'TB', 'actual_margin': 3, 'raw_pick_probability': 0.64, 'artifact': '20260708_NYY@TB.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'NYY', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'NYY', 'simulation_score_winner': 'TB', 'final_score_winner': 'TB', 'pre_simulation_winner': 'TB', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0041, 'recent_form_edge_home_minus_away': -0.714, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TB', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.0639, 'winner': 'TB', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_TB@NYY. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TB@NYY. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': 0.0, 'absolute_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': -0.0, 'evidence': [{'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 8.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023350462165734328}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02324541438796207}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022952660424827714}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.022849402255697013}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.020901454354002477}], 'home_distribution': {'0': 0.06848837275473106, '1': 0.10210270457043541, '2': 0.13344538976026088, '3': 0.1529029388323182, '4': 0.15359391872500192, '5': 0.1352627270480128, '6': 0.10443069951598334, '7': 0.07068449589295207, '8': 0.04194363572604676, '9': 0.021819958023027358, '10': 0.009951480091470769, '11': 0.003978939870684889, '12': 0.0013947391890745593}, 'away_distribution': {'0': 0.0658541454416154, '1': 0.09835350466698199, '2': 0.1292454125887666, '3': 0.14943729944101944, '4': 0.1520272570657015, '5': 0.13608256451497225, '6': 0.10717712086264287, '7': 0.07427116964598823, '8': 0.045285275736023665, '9': 0.02429474502482759, '10': 0.011467962138209328, '11': 0.004762979709081116, '12': 0.0017405631641702823}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.2484, 'recent_quality_edge': -0.644, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.0639} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TB 5 - 4 NYY', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0041, 'recent_form_edge_home_minus_away': -0.714, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TB', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.0639, 'winner': 'TB', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 202. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 203. | |||||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_PITCHER_MATCH | NYY pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_TOTAL_MATCH | NYY pitch_count_summary total, row sum, and pitching total all match: 203. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_PITCHER_MATCH | TB pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_TOTAL_MATCH | TB pitch_count_summary total, row sum, and pitching total all match: 202. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 11 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | NYY | PITCHING_REALISM | current:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYY | STARTER_PRESENT | current:NYY includes a starter/opener role. | |||
| PASS | pitching | current | TB | PITCHING_REALISM | current:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TB | STARTER_PRESENT | current:TB includes a starter/opener role. | |||
| PASS | pitching | simulation | NYY | PITCHING_REALISM | simulation:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYY | STARTER_PRESENT | simulation:NYY includes a starter/opener role. | |||
| PASS | pitching | simulation | TB | PITCHING_REALISM | simulation:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TB | STARTER_PRESENT | simulation:TB includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching IP total matches pitcher sum: 11.0. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 11.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TB 5 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TB 5 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 5-4 (Extra Innings - 11). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TB, simulation=TB, published=TB. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TB wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TB wins 5-4 (Extra Innings - 11). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYY | RECENT_FORM_RANGE | NYY recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYY | TEAM_RECENT_RECORD | NYY wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TB | RECENT_FORM_RANGE | TB recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TB | TEAM_RECENT_RECORD | TB wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYY | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TB | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=31, sim=45; H: current=8, sim=12; 3B: current=0, sim=1; HR: current=1, sim=0; BB: current=3, sim=5; SO: current=10, sim=14). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Heliot Ramos: AB current=3 box=5, R current=1 box=0, BB current=0 box=1, SO current=1 box=2; George Lombard Jr.: AB current=4 box=6, H current=1 box=2, RBI current=1 box=0, SO current=1 box=2; Spencer Jones: AB current=4 box=5, 3B current=0 box=1, R current=0 box=1; José Caballero: AB current=3 box=5, H current=1 box=2; Luis García Jr.: AB current=4 box=6, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Ben Rice: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Jazz Chisholm Jr.: AB current=3 box=4, H current=1 box=0, R current=1 box=0; Ryan McMahon: AB current=3 box=4, H current=1 box=0, BB current=0 box=1, SO current=1 box=3 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=31, sim=44; H: current=8, sim=11; 2B: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=5; SO: current=8, sim=9; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Jonathan Aranda: AB current=4 box=6, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Victor Mesa Jr.: AB current=4 box=6, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Richie Palacios: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Ryan Vilade: AB current=3 box=4, H current=1 box=3, HR current=0 box=1, RBI current=0 box=2; Jonny DeLuca: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Liam Hicks: AB current=3 box=5, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Junior Caminero: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cedric Mullins: AB current=3 box=5, H current=0 box=2, 2B current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.881671033367293 | 5.271093600949147 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TB | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 5 | 11 |
| NYY | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 4 | 12 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TB | batting | 31 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | TB | pitching | 12 | 0 | 4 | 5 | 14 | 9.0 | 4 | 0 | 0 | |||||||||
| current | NYY | batting | 31 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 10 | 0 | 0 | 0 | 0 | |||||
| current | NYY | pitching | 11 | 1 | 5 | 5 | 9 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | TB | batting | 44 | 11 | 3 | 0 | 1 | 5 | 5 | 5 | 9 | 0 | 1 | |||||||
| simulation | TB | pitching | 12 | 0 | 4 | 5 | 14 | 11.0 | 4 | 50 | 202 | |||||||||
| simulation | NYY | batting | 45 | 12 | 1 | 1 | 0 | 4 | 4 | 5 | 14 | 0 | 0 | |||||||
| simulation | NYY | pitching | 11 | 1 | 5 | 5 | 9 | 11.0 | 5 | 50 | 203 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TB | DH | Jonathan Aranda | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | LF | Victor Mesa Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TB | 2B | Richie Palacios | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | TB | 1B | Ryan Vilade | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | RF | Jonny DeLuca | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TB | C | Liam Hicks | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| current | TB | 3B | Junior Caminero | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | CF | Cedric Mullins | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TB | SS | Jorge Mateo | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | RF | Heliot Ramos | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | SS | George Lombard Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYY | CF | Spencer Jones | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0.250 | |
| current | NYY | LF | José Caballero | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | 1B | Luis García Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYY | DH | Ben Rice | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYY | 2B | Jazz Chisholm Jr. | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | NYY | 3B | Ryan McMahon | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | C | Ali Sánchez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | TB | 1 | LF | Victor Mesa Jr. | 6 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | TB | 2 | DH | Jonathan Aranda | 6 | 6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.167 |
| simulation | TB | 3 | 3B | Junior Caminero | 6 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.200 |
| simulation | TB | 4 | C | Liam Hicks | 6 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.200 |
| simulation | TB | 5 | RF | Jonny DeLuca | 6 | 5 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.200 |
| simulation | TB | 6 | 2B | Richie Palacios | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | TB | 7 | 1B | Ryan Vilade | 5 | 4 | 3 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 0.750 |
| simulation | TB | 8 | CF | Cedric Mullins | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | TB | 9 | SS | Jorge Mateo | 5 | 4 | 2 | 1 | 0 | 0 | 1 | 3 | 1 | 1 | 0 | 0.500 |
| simulation | NYY | 1 | DH | Ben Rice | 6 | 5 | 2 | 1 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0.400 |
| simulation | NYY | 2 | SS | George Lombard Jr. | 6 | 6 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.333 |
| simulation | NYY | 3 | 1B | Luis García Jr. | 6 | 6 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.333 |
| simulation | NYY | 4 | RF | Heliot Ramos | 6 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.200 |
| simulation | NYY | 5 | CF | Spencer Jones | 6 | 5 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 2 | 0 | 0.200 |
| simulation | NYY | 6 | 2B | Jazz Chisholm Jr. | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | NYY | 7 | LF | José Caballero | 5 | 5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | NYY | 8 | 3B | Ryan McMahon | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0.000 |
| simulation | NYY | 9 | C | Ali Sánchez | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.400 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TB | 1 | Mason Englert | Starter | 5.0 | 9 | 3 | 3 | 2 | 8 | 0 | 0 | 0 | 5.40 | 4.54 | 1.43 |
| current | TB | 2 | Bryan Baker | Closer | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.32 | 0.88 |
| current | TB | 3 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.06 | 0.76 |
| current | TB | 5 | Kevin Kelly | Setup Man | 0.2 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0.00 | 2.48 | 0.91 |
| current | TB | 7 | Alex Cook | Reliever | 0.0 | 2 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | |||
| current | TB | 8 | Ty Johnson | Reliever | 0.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | |||
| current | NYY | 1 | Gerrit Cole | Starter | 5.2 | 2 | 1 | 1 | 5 | 5 | 1 | 0 | 0 | 1.59 | 3.63 | 1.10 |
| current | NYY | 2 | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.10 | 1.18 |
| current | NYY | 3 | David Bednar | Closer | 1.2 | 2 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.54 | 1.02 |
| current | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 0.2 | 5 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 27.00 | 1.63 | 1.07 |
| current | NYY | 5 | Tim Hill | Middle Reliever (High Leverage) | 0.0 | 2 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 4.24 | 1.06 | |
| simulation | TB | 1 | Mason Englert | Starter | 5.0 | 9 | 3 | 3 | 2 | 8 | 0 | 26 | 105 | 5.40 | 4.54 | 1.43 |
| simulation | TB | 2 | Bryan Baker | Closer | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 29 | 0.00 | 1.32 | 0.88 |
| simulation | TB | 3 | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 3 | 13 | 0.00 | 2.48 | 0.91 |
| simulation | TB | 4 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 20 | 0.00 | 2.06 | 0.76 |
| simulation | TB | 5 | Alex Cook | Reliever | 1.0 | 2 | 1 | 1 | 1 | 1 | 0 | 6 | 23 | 9.00 | 4.76 | 1.06 |
| simulation | TB | 6 | Ty Johnson | Reliever | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 12 | 0.00 | 4.05 | 1.20 |
| simulation | NYY | 1 | Gerrit Cole | Starter | 5.2 | 2 | 1 | 1 | 5 | 5 | 1 | 25 | 108 | 1.59 | 3.63 | 1.10 |
| simulation | NYY | 2 | David Bednar | Closer | 1.2 | 2 | 0 | 0 | 0 | 2 | 0 | 7 | 27 | 0.00 | 2.54 | 1.02 |
| simulation | NYY | 3 | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.10 | 1.18 |
| simulation | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 5 | 2 | 2 | 0 | 0 | 0 | 8 | 28 | 18.00 | 1.63 | 1.07 |
| simulation | NYY | 5 | Tim Hill | Middle Reliever (High Leverage) | 1.2 | 2 | 2 | 2 | 0 | 1 | 0 | 7 | 27 | 10.80 | 4.24 | 1.06 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TB | Mason Englert | Starter | 5.0 | 3 | 9 | 2 | 8 | 26 | 105 |
| TB | Bryan Baker | Closer | 2.1 | 0 | 0 | 0 | 0 | 7 | 29 |
| TB | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 1 | 1 | 5 | 20 |
| TB | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 3 | 3 | 13 |
| TB | Alex Cook | Reliever | 1.0 | 1 | 2 | 1 | 1 | 6 | 23 |
| TB | Ty Johnson | Reliever | 0.2 | 0 | 0 | 1 | 1 | 3 | 12 |
| NYY | Gerrit Cole | Starter | 5.2 | 1 | 2 | 5 | 5 | 25 | 108 |
| NYY | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| NYY | David Bednar | Closer | 1.2 | 0 | 2 | 0 | 2 | 7 | 27 |
| NYY | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 2 | 5 | 0 | 0 | 8 | 28 |
| NYY | Tim Hill | Middle Reliever (High Leverage) | 1.2 | 2 | 2 | 0 | 1 | 7 | 27 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_TOR@BAL
20260923_TOR@BAL.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=7, sim=11; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=9, sim=4). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Christian Encarnacion-Strand: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Pete Alonso: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gunnar Henderson: H current=1 box=3, 2B current=0 box=1, BB current=1 box=0, SO current=1 box=0; Dylan Beavers: 2B current=1 box=0, R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Leody Taveras: AB current=3 box=4; Jeremiah Jackson: H current=1 box=2, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Carlos Narváez: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=30, sim=34; 2B: current=1, sim=2; HR: current=1, sim=0; R: current=3, sim=4; BB: current=3, sim=1; SO: current=6, sim=10; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Josh Smith: H current=0 box=2, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Sean Keys: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Nathan Lukes: RBI current=0 box=1, SO current=0 box=1; Andrés Giménez: H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Brandon Valenzuela: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=1; Ernie Clement: AB current=3 box=4, H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1; George Springer: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Kazuma Okamoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match TOR pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match TOR pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match TOR pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match TOR pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=36 matches TOR BF=36. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match BAL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match BAL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match BAL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match BAL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=36 matches BAL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.460 -> 0.503 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.4601, 'sample_size': 531, 'empirical_hit_rate': 0.5461, 'empirical_weight': 0.5, 'blended_confidence': 0.5031, 'published_confidence': 0.505, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.581/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 8, BAL 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 4 - BAL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: BAL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for BAL; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup'], 'signals': {'predicted_team': 'BAL', 'opponent_team': 'TOR', 'h2h_net_margin': -10, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-21', 'predicted_team_runs': 4, 'opponent_runs': 3, 'margin_for_predicted_team': 1, 'winner': 'BAL'}, {'date': '2026-09-13', 'predicted_team_runs': 1, 'opponent_runs': 8, 'margin_for_predicted_team': -7, 'winner': 'TOR'}, {'date': '2026-09-12', 'predicted_team_runs': 3, 'opponent_runs': 7, 'margin_for_predicted_team': -4, 'winner': 'TOR'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260921', 'away': 'TOR', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 1, 'raw_pick_probability': 0.5052570000000001, 'artifact': '20260921_TOR@BAL.json', 'verification': 'pregame_official_final'}, {'date': '20260913', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 7, 'raw_pick_probability': 0.529621, 'artifact': '20260913_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260912', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260912_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260911', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 3, 'raw_pick_probability': 0.505, 'artifact': '20260911_BAL@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'BAL', 'guardrail_opponent_team': 'TOR', 'output_pre_simulation_winner': 'BAL', 'output_opponent_team': 'TOR', 'simulation_score_winner': 'BAL', 'final_score_winner': 'BAL', 'pre_simulation_winner': 'BAL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0793, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'BAL', 'model_winner': 'BAL', 'simulation_winner': 'BAL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'BAL', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.077, 'winner': 'BAL', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_TOR@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -9.0, 'absolute_net_margin': 9.0, 'home_average_margin': -1.8, 'home_run_delta': -0.0519, 'away_run_delta': 0.0519, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.019451104604635196}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.019066265036462554}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.01884807216281558}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01847516357487368}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.0179760338396466}], 'home_distribution': {'0': 0.050945885066459085, '1': 0.0768595950439625, '2': 0.1041046590966101, '3': 0.12659755983324278, '4': 0.13821767939618812, '5': 0.135483046421155, '6': 0.11923105967555545, '7': 0.09420564949050461, '8': 0.06682632621699716, '9': 0.042559970540728104, '10': 0.024335380713494097, '11': 0.012492750461067565, '12': 0.005757859713546341, '13': 0.002382578330489157}, 'away_distribution': {'0': 0.05294351196692946, '1': 0.07977123522102063, '2': 0.10763466448875478, '3': 0.13005596619894025, '4': 0.14072805077909328, '5': 0.13636513248633944, '6': 0.1183309303910143, '7': 0.0919529133735811, '8': 0.06398894974873111, '9': 0.039876473534194136, '10': 0.02225362580395864, '11': 0.011121339319321601, '12': 0.004977206688121319}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0732, 'recent_quality_edge': 0.084, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.077} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0793, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'BAL', 'model_winner': 'BAL', 'simulation_winner': 'BAL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'BAL', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.077, 'winner': 'BAL', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 137. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 153. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 153. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 137. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 4 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 4 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: BAL wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=BAL, simulation=BAL, published=BAL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): BAL wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: BAL wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: BAL wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match TOR pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match TOR pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match TOR pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match TOR pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=36 matches TOR BF=36. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match BAL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match BAL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match BAL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match BAL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=36 matches BAL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.460 -> 0.503 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.4601, 'sample_size': 531, 'empirical_hit_rate': 0.5461, 'empirical_weight': 0.5, 'blended_confidence': 0.5031, 'published_confidence': 0.505, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.581/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 8, BAL 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 4 - BAL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: BAL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for BAL; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup'], 'signals': {'predicted_team': 'BAL', 'opponent_team': 'TOR', 'h2h_net_margin': -10, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-21', 'predicted_team_runs': 4, 'opponent_runs': 3, 'margin_for_predicted_team': 1, 'winner': 'BAL'}, {'date': '2026-09-13', 'predicted_team_runs': 1, 'opponent_runs': 8, 'margin_for_predicted_team': -7, 'winner': 'TOR'}, {'date': '2026-09-12', 'predicted_team_runs': 3, 'opponent_runs': 7, 'margin_for_predicted_team': -4, 'winner': 'TOR'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260921', 'away': 'TOR', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 1, 'raw_pick_probability': 0.5052570000000001, 'artifact': '20260921_TOR@BAL.json', 'verification': 'pregame_official_final'}, {'date': '20260913', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 7, 'raw_pick_probability': 0.529621, 'artifact': '20260913_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260912', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260912_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260911', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 3, 'raw_pick_probability': 0.505, 'artifact': '20260911_BAL@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'BAL', 'guardrail_opponent_team': 'TOR', 'output_pre_simulation_winner': 'BAL', 'output_opponent_team': 'TOR', 'simulation_score_winner': 'BAL', 'final_score_winner': 'BAL', 'pre_simulation_winner': 'BAL', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0793, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'BAL', 'model_winner': 'BAL', 'simulation_winner': 'BAL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'BAL', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.077, 'winner': 'BAL', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_TOR@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -9.0, 'absolute_net_margin': 9.0, 'home_average_margin': -1.8, 'home_run_delta': -0.0519, 'away_run_delta': 0.0519, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.019451104604635196}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.019066265036462554}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.01884807216281558}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01847516357487368}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.0179760338396466}], 'home_distribution': {'0': 0.050945885066459085, '1': 0.0768595950439625, '2': 0.1041046590966101, '3': 0.12659755983324278, '4': 0.13821767939618812, '5': 0.135483046421155, '6': 0.11923105967555545, '7': 0.09420564949050461, '8': 0.06682632621699716, '9': 0.042559970540728104, '10': 0.024335380713494097, '11': 0.012492750461067565, '12': 0.005757859713546341, '13': 0.002382578330489157}, 'away_distribution': {'0': 0.05294351196692946, '1': 0.07977123522102063, '2': 0.10763466448875478, '3': 0.13005596619894025, '4': 0.14072805077909328, '5': 0.13636513248633944, '6': 0.1183309303910143, '7': 0.0919529133735811, '8': 0.06398894974873111, '9': 0.039876473534194136, '10': 0.02225362580395864, '11': 0.011121339319321601, '12': 0.004977206688121319}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0732, 'recent_quality_edge': 0.084, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.077} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TOR 4 - 5 BAL', 'winner': 'BAL'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0793, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'BAL', 'model_winner': 'BAL', 'simulation_winner': 'BAL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'BAL', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.077, 'winner': 'BAL', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 137. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 153. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 153. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 137. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 4 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 4 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: BAL wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=BAL, simulation=BAL, published=BAL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): BAL wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: BAL wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: BAL wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=7, sim=11; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=9, sim=4). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Christian Encarnacion-Strand: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Pete Alonso: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gunnar Henderson: H current=1 box=3, 2B current=0 box=1, BB current=1 box=0, SO current=1 box=0; Dylan Beavers: 2B current=1 box=0, R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Leody Taveras: AB current=3 box=4; Jeremiah Jackson: H current=1 box=2, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Carlos Narváez: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=30, sim=34; 2B: current=1, sim=2; HR: current=1, sim=0; R: current=3, sim=4; BB: current=3, sim=1; SO: current=6, sim=10; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Josh Smith: H current=0 box=2, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Sean Keys: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Nathan Lukes: RBI current=0 box=1, SO current=0 box=1; Andrés Giménez: H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Brandon Valenzuela: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=1; Ernie Clement: AB current=3 box=4, H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1; George Springer: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Kazuma Okamoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.5395742796774305 | 4.497874391086703 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | 1 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 4 | 8 |
| BAL | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 5 | 11 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | batting | 30 | 8 | 1 | 0 | 1 | 4 | 3 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | TOR | pitching | 11 | 2 | 5 | 1 | 4 | 8.0 | 5 | 0 | 0 | |||||||||
| current | BAL | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | BAL | pitching | 8 | 0 | 4 | 1 | 10 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | TOR | batting | 34 | 8 | 2 | 0 | 0 | 4 | 4 | 1 | 10 | 1 | 0 | |||||||
| simulation | TOR | pitching | 11 | 2 | 5 | 1 | 4 | 8.0 | 5 | 36 | 137 | |||||||||
| simulation | BAL | batting | 35 | 11 | 2 | 0 | 2 | 5 | 5 | 1 | 4 | 0 | 0 | |||||||
| simulation | BAL | pitching | 8 | 0 | 4 | 1 | 10 | 9.0 | 4 | 36 | 153 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | LF | Josh Smith | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | TOR | 1B | Sean Keys | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TOR | RF | Nathan Lukes | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TOR | SS | Andrés Giménez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TOR | C | Brandon Valenzuela | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | TOR | 2B | Ernie Clement | 0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | TOR | DH | George Springer | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TOR | 3B | Kazuma Okamoto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TOR | CF | Myles Straw | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BAL | DH | Coby Mayo | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | 3B | Christian Encarnacion-Strand | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | 1B | Pete Alonso | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BAL | SS | Gunnar Henderson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BAL | LF | Dylan Beavers | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BAL | RF | Leody Taveras | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BAL | 2B | Jeremiah Jackson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | BAL | C | Carlos Narváez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BAL | CF | Colton Cowser | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | TOR | 1 | RF | Nathan Lukes | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | TOR | 2 | LF | Josh Smith | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.667 |
| simulation | TOR | 3 | 3B | Kazuma Okamoto | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TOR | 4 | DH | George Springer | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TOR | 5 | 1B | Sean Keys | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TOR | 6 | SS | Andrés Giménez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TOR | 7 | C | Brandon Valenzuela | 4 | 4 | 2 | 2 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.500 |
| simulation | TOR | 8 | CF | Myles Straw | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TOR | 9 | 2B | Ernie Clement | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | BAL | 1 | LF | Dylan Beavers | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | BAL | 2 | 1B | Pete Alonso | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BAL | 3 | SS | Gunnar Henderson | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 |
| simulation | BAL | 4 | DH | Coby Mayo | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | BAL | 5 | 3B | Christian Encarnacion-Strand | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | BAL | 6 | CF | Colton Cowser | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.500 |
| simulation | BAL | 7 | 2B | Jeremiah Jackson | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | BAL | 8 | RF | Leody Taveras | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BAL | 9 | C | Carlos Narváez | 4 | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | 1 | Max Scherzer | Starter | 5.0 | 7 | 3 | 3 | 1 | 3 | 1 | 0 | 0 | 5.40 | 6.07 | 1.36 |
| current | TOR | 2 | Louis Varland | Closer | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 1.29 | 1.01 |
| current | TOR | 3 | Spencer Miles | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 9.00 | 2.57 | 1.08 |
| current | TOR | 4 | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.80 | 1.17 |
| current | BAL | 1 | Chris Bassitt | Starter | 5.0 | 6 | 3 | 3 | 0 | 8 | 0 | 0 | 0 | 5.40 | 4.64 | 1.55 |
| current | BAL | 2 | Andrew Kittredge | Closer | 1.2 | 2 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 5.40 | 3.61 | 1.37 |
| current | BAL | 4 | Rico Garcia | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.59 | 0.92 |
| current | BAL | 5 | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.19 | 0.91 |
| simulation | TOR | 1 | Max Scherzer | Starter | 5.0 | 7 | 3 | 3 | 1 | 3 | 1 | 23 | 88 | 5.40 | 6.07 | 1.36 |
| simulation | TOR | 2 | Louis Varland | Closer | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 6 | 20 | 9.00 | 1.29 | 1.01 |
| simulation | TOR | 3 | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.80 | 1.17 |
| simulation | TOR | 4 | Spencer Miles | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 4 | 16 | 9.00 | 2.57 | 1.08 |
| simulation | BAL | 1 | Chris Bassitt | Starter | 5.0 | 6 | 3 | 3 | 0 | 8 | 0 | 21 | 92 | 5.40 | 4.64 | 1.55 |
| simulation | BAL | 2 | Andrew Kittredge | Closer | 1.2 | 2 | 1 | 1 | 1 | 0 | 0 | 8 | 31 | 5.40 | 3.61 | 1.37 |
| simulation | BAL | 3 | Rico Garcia | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.59 | 0.92 |
| simulation | BAL | 4 | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 2.19 | 0.91 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Max Scherzer | Starter | 5.0 | 3 | 7 | 1 | 3 | 23 | 88 |
| TOR | Louis Varland | Closer | 1.0 | 1 | 3 | 0 | 1 | 6 | 20 |
| TOR | Spencer Miles | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| TOR | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| BAL | Chris Bassitt | Starter | 5.0 | 3 | 6 | 0 | 8 | 21 | 92 |
| BAL | Andrew Kittredge | Closer | 1.2 | 1 | 2 | 1 | 0 | 8 | 31 |
| BAL | Rico Garcia | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| BAL | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 4 | 17 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_TOR@BAL_2
20260923_TOR@BAL_2.json • 2026-09-23
Final simulation is structurally valid with warnings to review. Risk score: 20.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Innings Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Inning 9 home has outs=0; expected 3 for a played half inning. |
| WARN | Pitch count summary differs by pitcher Pitch-count rows disagree with individual pitching box-score rows. Recalculate pitch_count_summary from the same final pitcher ledger used by box_score.pitching. | 0C / 0E / 1W | TOR | TOR pitch_count row for Max Scherzer differs from pitching box score: batters_faced/BF: summary=24, box=21. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | innings | INNING_OUTS | Inning 9 home has outs=0; expected 3 for a played half inning. | |||||
| WARN | pitch_count | simulation | TOR | Max Scherzer | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count row for Max Scherzer differs from pitching box score: batters_faced/BF: summary=24, box=21. |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | innings | INNING_OUTS | Inning 9 home has outs=0; expected 3 for a played half inning. | |||||
| WARN | pitch_count | simulation | TOR | Max Scherzer | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count row for Max Scherzer differs from pitching box score: batters_faced/BF: summary=24, box=21. | ||
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=7, sim=10; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=7; SO: current=9, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Christian Encarnacion-Strand: H current=1 box=3, BB current=0 box=1, SO current=1 box=0; Gunnar Henderson: AB current=4 box=3, H current=1 box=2, BB current=1 box=2, SO current=1 box=0; Dylan Beavers: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Leody Taveras: H current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Pete Alonso: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Colton Cowser: R current=0 box=1, BB current=0 box=1, SO current=1 box=2; Carlos Narváez: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=31, sim=36; H: current=8, sim=9; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=3, sim=6; BB: current=3, sim=2; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Kazuma Okamoto: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Josh Smith: H current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; George Springer: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Vladimir Guerrero Jr.: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Nathan Lukes: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0; Andrés Giménez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Brandon Valenzuela: AB current=3 box=4, H current=1 box=3, R current=0 box=1, BB current=1 box=0; Myles Straw: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match TOR pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match TOR pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=41 matches TOR BF=41. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match BAL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match BAL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=39 matches BAL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.515 -> 0.535 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.515065, 'sample_size': 740, 'empirical_hit_rate': 0.5554, 'empirical_weight': 0.5, 'blended_confidence': 0.535232, 'published_confidence': 0.511665, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.488. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.490/0.674. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 9, BAL 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 6 - BAL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TOR. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TOR; cap=0.53, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'TOR', 'opponent_team': 'BAL', 'h2h_net_margin': 10, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-21', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'BAL'}, {'date': '2026-09-13', 'predicted_team_runs': 8, 'opponent_runs': 1, 'margin_for_predicted_team': 7, 'winner': 'TOR'}, {'date': '2026-09-12', 'predicted_team_runs': 7, 'opponent_runs': 3, 'margin_for_predicted_team': 4, 'winner': 'TOR'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260921', 'away': 'TOR', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 1, 'raw_pick_probability': 0.5052570000000001, 'artifact': '20260921_TOR@BAL.json', 'verification': 'pregame_official_final'}, {'date': '20260913', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 7, 'raw_pick_probability': 0.529621, 'artifact': '20260913_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260912', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260912_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260911', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 3, 'raw_pick_probability': 0.505, 'artifact': '20260911_BAL@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TOR', 'guardrail_opponent_team': 'BAL', 'output_pre_simulation_winner': 'TOR', 'output_opponent_team': 'BAL', 'simulation_score_winner': 'TOR', 'final_score_winner': 'TOR', 'pre_simulation_winner': 'TOR', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1181, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 5, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TOR', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.077, 'winner': 'TOR', 'score_reviewed': {'away_runs': 6, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_TOR@BAL_2. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -9.0, 'absolute_net_margin': 9.0, 'home_average_margin': -1.8, 'home_run_delta': -0.0519, 'away_run_delta': 0.0519, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 5, 'probability': 0.01712710263304328}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.016764625046188347}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01661090228200115}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.016259349546919943}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.01603392110210549}], 'home_distribution': {'0': 0.04407508619826547, '1': 0.06680033999343513, '2': 0.09173610862756851, '3': 0.11415057222076923, '4': 0.12870398983776352, '5': 0.1314867727229436, '6': 0.12171616489984356, '7': 0.10209173679317542, '8': 0.07759059149442966, '9': 0.0534322757072449, '10': 0.03334067732835901, '11': 0.018850431837767502, '12': 0.009657046605464993, '13': 0.004482739368208216, '14': 0.0018854663647613638}, 'away_distribution': {'0': 0.042559851316804925, '1': 0.0645699006407122, '2': 0.0889457700448673, '3': 0.11124631801565349, '4': 0.12633135590757907, '5': 0.13025722875662846, '6': 0.12194322493480497, '7': 0.10365223798260416, '8': 0.07999537081836573, '9': 0.056055237056008775, '10': 0.03566421722309362, '11': 0.020602236313539794, '12': 0.010805906304404027, '13': 0.0051460404538842585, '14': 0.0022251042310493176}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0732, 'recent_quality_edge': 0.084, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.077} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1181, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 5, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TOR', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.077, 'winner': 'TOR', 'score_reviewed': {'away_runs': 6, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 178. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 164. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 178. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 6 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 6 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TOR wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TOR, simulation=TOR, published=TOR. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.512. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TOR wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TOR wins 6-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-5, final 6-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TOR wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match TOR pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match TOR pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=41 matches TOR BF=41. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match BAL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match BAL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=39 matches BAL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.515 -> 0.535 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.515065, 'sample_size': 740, 'empirical_hit_rate': 0.5554, 'empirical_weight': 0.5, 'blended_confidence': 0.535232, 'published_confidence': 0.511665, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.488. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.490/0.674. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 9, BAL 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 6 - BAL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TOR. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TOR; cap=0.53, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; local prediction memory shows 4 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'local prediction memory shows 4 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'TOR', 'opponent_team': 'BAL', 'h2h_net_margin': 10, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-21', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'BAL'}, {'date': '2026-09-13', 'predicted_team_runs': 8, 'opponent_runs': 1, 'margin_for_predicted_team': 7, 'winner': 'TOR'}, {'date': '2026-09-12', 'predicted_team_runs': 7, 'opponent_runs': 3, 'margin_for_predicted_team': 4, 'winner': 'TOR'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 4, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260921', 'away': 'TOR', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 1, 'raw_pick_probability': 0.5052570000000001, 'artifact': '20260921_TOR@BAL.json', 'verification': 'pregame_official_final'}, {'date': '20260913', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 7, 'raw_pick_probability': 0.529621, 'artifact': '20260913_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260912', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260912_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260911', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 3, 'raw_pick_probability': 0.505, 'artifact': '20260911_BAL@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TOR', 'guardrail_opponent_team': 'BAL', 'output_pre_simulation_winner': 'TOR', 'output_opponent_team': 'BAL', 'simulation_score_winner': 'TOR', 'final_score_winner': 'TOR', 'pre_simulation_winner': 'TOR', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1181, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 5, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TOR', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.077, 'winner': 'TOR', 'score_reviewed': {'away_runs': 6, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_TOR@BAL_2. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -9.0, 'absolute_net_margin': 9.0, 'home_average_margin': -1.8, 'home_run_delta': -0.0519, 'away_run_delta': 0.0519, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 5, 'probability': 0.01712710263304328}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.016764625046188347}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01661090228200115}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.016259349546919943}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.01603392110210549}], 'home_distribution': {'0': 0.04407508619826547, '1': 0.06680033999343513, '2': 0.09173610862756851, '3': 0.11415057222076923, '4': 0.12870398983776352, '5': 0.1314867727229436, '6': 0.12171616489984356, '7': 0.10209173679317542, '8': 0.07759059149442966, '9': 0.0534322757072449, '10': 0.03334067732835901, '11': 0.018850431837767502, '12': 0.009657046605464993, '13': 0.004482739368208216, '14': 0.0018854663647613638}, 'away_distribution': {'0': 0.042559851316804925, '1': 0.0645699006407122, '2': 0.0889457700448673, '3': 0.11124631801565349, '4': 0.12633135590757907, '5': 0.13025722875662846, '6': 0.12194322493480497, '7': 0.10365223798260416, '8': 0.07999537081836573, '9': 0.056055237056008775, '10': 0.03566421722309362, '11': 0.020602236313539794, '12': 0.010805906304404027, '13': 0.0051460404538842585, '14': 0.0022251042310493176}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0732, 'recent_quality_edge': 0.084, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.077} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TOR 6 - 5 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1181, 'recent_form_edge_home_minus_away': 0.014, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 5, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'TOR', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.077, 'winner': 'TOR', 'score_reviewed': {'away_runs': 6, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 178. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 164. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 178. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 6 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 6 - 5 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TOR wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TOR, simulation=TOR, published=TOR. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.512. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TOR wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TOR wins 6-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-5, final 6-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TOR wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=7, sim=10; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=7; SO: current=9, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Christian Encarnacion-Strand: H current=1 box=3, BB current=0 box=1, SO current=1 box=0; Gunnar Henderson: AB current=4 box=3, H current=1 box=2, BB current=1 box=2, SO current=1 box=0; Dylan Beavers: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Leody Taveras: H current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Pete Alonso: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Colton Cowser: R current=0 box=1, BB current=0 box=1, SO current=1 box=2; Carlos Narváez: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=31, sim=36; H: current=8, sim=9; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=3, sim=6; BB: current=3, sim=2; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Kazuma Okamoto: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Josh Smith: H current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; George Springer: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Vladimir Guerrero Jr.: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Nathan Lukes: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0; Andrés Giménez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Brandon Valenzuela: AB current=3 box=4, H current=1 box=3, R current=0 box=1, BB current=1 box=0; Myles Straw: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.78850051581124 | 3.8478164913641026 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 6 | 5 | 0.512 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 6 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 6 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 6 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | 0 | 4 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 6 | 9 |
| BAL | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 5 | 10 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | batting | 31 | 8 | 1 | 0 | 1 | 4 | 3 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | TOR | pitching | 10 | 1 | 5 | 7 | 7 | 9.0 | 5 | 0 | 0 | |||||||||
| current | BAL | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | BAL | pitching | 9 | 0 | 6 | 2 | 6 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | TOR | batting | 36 | 9 | 4 | 0 | 0 | 6 | 6 | 2 | 6 | 0 | 1 | |||||||
| simulation | TOR | pitching | 10 | 1 | 5 | 7 | 7 | 8.0 | 5 | 41 | 178 | |||||||||
| simulation | BAL | batting | 34 | 10 | 1 | 0 | 1 | 5 | 5 | 7 | 7 | 0 | 0 | |||||||
| simulation | BAL | pitching | 9 | 0 | 6 | 2 | 6 | 9.0 | 6 | 39 | 164 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | 3B | Kazuma Okamoto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TOR | LF | Josh Smith | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TOR | DH | George Springer | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TOR | 1B | Vladimir Guerrero Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 | |
| current | TOR | RF | Nathan Lukes | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TOR | SS | Andrés Giménez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TOR | C | Brandon Valenzuela | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | TOR | CF | Myles Straw | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | TOR | 2B | Ernie Clement | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BAL | DH | Coby Mayo | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | 3B | Christian Encarnacion-Strand | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | SS | Gunnar Henderson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BAL | LF | Dylan Beavers | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BAL | RF | Leody Taveras | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BAL | 1B | Pete Alonso | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BAL | CF | Colton Cowser | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BAL | 2B | Jeremiah Jackson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | BAL | C | Carlos Narváez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | TOR | 1 | RF | Nathan Lukes | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TOR | 2 | 1B | Vladimir Guerrero Jr. | 5 | 5 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.200 |
| simulation | TOR | 3 | 3B | Kazuma Okamoto | 5 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0.000 |
| simulation | TOR | 4 | DH | George Springer | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TOR | 5 | LF | Josh Smith | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | TOR | 6 | SS | Andrés Giménez | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | TOR | 7 | C | Brandon Valenzuela | 4 | 4 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.750 |
| simulation | TOR | 8 | CF | Myles Straw | 4 | 4 | 2 | 2 | 0 | 0 | 1 | 4 | 0 | 0 | 0 | 0.500 |
| simulation | TOR | 9 | 2B | Ernie Clement | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BAL | 1 | LF | Dylan Beavers | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.200 |
| simulation | BAL | 2 | 1B | Pete Alonso | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BAL | 3 | SS | Gunnar Henderson | 5 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0.667 |
| simulation | BAL | 4 | DH | Coby Mayo | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0.000 |
| simulation | BAL | 5 | 3B | Christian Encarnacion-Strand | 5 | 4 | 3 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.750 |
| simulation | BAL | 6 | CF | Colton Cowser | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.333 |
| simulation | BAL | 7 | 2B | Jeremiah Jackson | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | BAL | 8 | RF | Leody Taveras | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | BAL | 9 | C | Carlos Narváez | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | 1 | Max Scherzer | Starter | 5.0 | 6 | 4 | 4 | 3 | 4 | 1 | 0 | 0 | 7.20 | 6.07 | 1.36 |
| current | TOR | 2 | Spencer Miles | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.57 | 1.08 |
| current | TOR | 3 | Louis Varland | Closer | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 1.29 | 1.01 |
| current | TOR | 4 | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0.00 | 1.80 | 1.17 |
| current | TOR | 5 | Mason Fluharty | Middle Reliever (High Leverage) | 0.2 | 2 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 13.50 | 2.95 | 1.20 |
| current | BAL | 1 | Trey Gibson | Starter | 4.0 | 6 | 6 | 6 | 2 | 2 | 0 | 0 | 0 | 13.50 | 7.36 | 1.91 |
| current | BAL | 3 | Andrew Kittredge | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.61 | 1.37 |
| current | BAL | 4 | Josh Walker | Middle Reliever (High Leverage) | 1.2 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.57 | 1.12 |
| current | BAL | 5 | Rico Garcia | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.59 | 0.92 |
| current | BAL | 6 | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.19 | 0.91 |
| simulation | TOR | 1 | Max Scherzer | Starter | 5.0 | 6 | 4 | 4 | 3 | 4 | 1 | 21 | 99 | 7.20 | 6.07 | 1.36 |
| simulation | TOR | 2 | Louis Varland | Closer | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 20 | 0.00 | 1.29 | 1.01 |
| simulation | TOR | 3 | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 2 | 0 | 5 | 21 | 0.00 | 1.80 | 1.17 |
| simulation | TOR | 4 | Spencer Miles | Middle Reliever (High Leverage) | 0.2 | 1 | 0 | 0 | 0 | 0 | 0 | 5 | 20 | 0.00 | 2.57 | 1.08 |
| simulation | TOR | 5 | Mason Fluharty | Middle Reliever (High Leverage) | 0.1 | 2 | 1 | 1 | 1 | 0 | 0 | 5 | 18 | 27.00 | 2.95 | 1.20 |
| simulation | BAL | 1 | Trey Gibson | Starter | 4.0 | 6 | 6 | 6 | 2 | 2 | 0 | 21 | 88 | 13.50 | 7.36 | 1.91 |
| simulation | BAL | 2 | Andrew Kittredge | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 3.61 | 1.37 |
| simulation | BAL | 3 | Rico Garcia | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.59 | 0.92 |
| simulation | BAL | 4 | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 5 | 20 | 0.00 | 2.19 | 0.91 |
| simulation | BAL | 5 | Josh Walker | Middle Reliever (High Leverage) | 1.2 | 1 | 0 | 0 | 0 | 1 | 0 | 6 | 27 | 0.00 | 1.57 | 1.12 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Max Scherzer | Starter | 5.0 | 4 | 6 | 3 | 4 | 24 | 99 |
| TOR | Spencer Miles | Middle Reliever (High Leverage) | 0.2 | 0 | 1 | 0 | 0 | 5 | 20 |
| TOR | Louis Varland | Closer | 1.0 | 0 | 1 | 1 | 1 | 5 | 20 |
| TOR | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 2 | 2 | 5 | 21 |
| TOR | Mason Fluharty | Middle Reliever (High Leverage) | 0.1 | 1 | 2 | 1 | 0 | 5 | 18 |
| BAL | Trey Gibson | Starter | 4.0 | 6 | 6 | 2 | 2 | 21 | 88 |
| BAL | Andrew Kittredge | Closer | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| BAL | Josh Walker | Middle Reliever (High Leverage) | 1.2 | 0 | 1 | 0 | 1 | 6 | 27 |
| BAL | Rico Garcia | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| BAL | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 0 | 1 | 0 | 1 | 5 | 20 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | warning | 0 | 0 | 1 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | warning | 0 | 0 | 1 | 1 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260923_WAS@DET
20260923_WAS@DET.json • 2026-09-23
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=31, sim=48; H: current=8, sim=9; 2B: current=1, sim=4; HR: current=1, sim=2; SO: current=8, sim=17). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: AB current=4 box=6, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Hao-Yu Lee: AB current=4 box=6, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Ben Malgeri: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Max Clark: AB current=3 box=6, H current=1 box=0, R current=1 box=0; Dillon Dingler: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Zach McKinstry: AB current=3 box=4, BB current=0 box=1, SO current=0 box=2; Spencer Torkelson: AB current=3 box=6, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Riley Greene: AB current=4 box=5, H current=1 box=4, 2B current=0 box=3, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=46; H: current=8, sim=7; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=5; SO: current=8, sim=16). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Andrés Chaparro: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; CJ Abrams: AB current=4 box=6, 3B current=0 box=1, HR current=1 box=0, RBI current=1 box=3; Dylan Crews: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Yohandy Morales: AB current=3 box=6, 2B current=0 box=1, R current=1 box=0, SO current=1 box=2; James Wood: AB current=4 box=5, SO current=1 box=0; Nasim Nuñez: AB current=3 box=5, SO current=1 box=3; Harry Ford: AB current=3 box=4, SO current=1 box=2; Brady House: AB current=4 box=5, R current=0 box=1, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | DET | BATTING_TOTALS_SUM | current:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | current | WAS | BATTING_TOTALS_SUM | current:WAS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match WAS pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match WAS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match WAS pitching: 17. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=52 matches WAS BF=52. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match DET pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match DET pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match DET pitching: 16. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=51 matches DET BF=51. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.544 -> 0.543 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.54431, 'sample_size': 505, 'empirical_hit_rate': 0.5426, 'empirical_weight': 0.5, 'blended_confidence': 0.543455, 'published_confidence': 0.505, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.581/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 13 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: WAS 7, DET 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 6 - DET 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: WAS. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for WAS; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup'], 'signals': {'predicted_team': 'WAS', 'opponent_team': 'DET', 'h2h_net_margin': -5, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 3, 'opponent_runs': 1, 'margin_for_predicted_team': 2, 'winner': 'WAS'}, {'date': '2026-09-21', 'predicted_team_runs': 2, 'opponent_runs': 9, 'margin_for_predicted_team': -7, 'winner': 'DET'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'WAS', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'WAS', 'actual_margin': 2, 'raw_pick_probability': 0.570934, 'artifact': '20260922_WAS@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260921', 'away': 'WAS', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'DET', 'actual_margin': 7, 'raw_pick_probability': 0.535809, 'artifact': '20260921_WAS@DET.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'WAS', 'guardrail_opponent_team': 'DET', 'output_pre_simulation_winner': 'WAS', 'output_opponent_team': 'DET', 'simulation_score_winner': 'WAS', 'final_score_winner': 'WAS', 'pre_simulation_winner': 'WAS', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0976, 'recent_form_edge_home_minus_away': -0.156, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'WAS', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'WAS', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.2169, 'winner': 'WAS', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_WAS@DET. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@DET. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': 5.0, 'absolute_net_margin': 5.0, 'home_average_margin': 2.5, 'home_run_delta': 0.0375, 'away_run_delta': -0.0375, 'evidence': [{'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': 7.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.019852304505044095}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.019330547809896167}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01910318619418431}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01860111776716917}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.018446563876759903}], 'home_distribution': {'0': 0.0540805971589865, '1': 0.08142141174855909, '2': 0.10960622260188714, '3': 0.13192625248681647, '4': 0.14197983722471133, '5': 0.13662228813962154, '6': 0.11754816880399356, '7': 0.09042939265880148, '8': 0.06220177713097931, '9': 0.03825563404894637, '10': 0.02103717639968044, '11': 0.010343771675466538, '12': 0.0045474699215503536}, 'away_distribution': {'0': 0.05215118832138507, '1': 0.0786198637172909, '2': 0.10625311071717437, '3': 0.12873371707986841, '4': 0.13982481522093784, '5': 0.13614995049826498, '6': 0.11884803631185431, '7': 0.09300532656249162, '8': 0.06524765722020019, '9': 0.04103583850566901, '10': 0.02313678390960834, '11': 0.011694561922003644, '12': 0.00529915001325126}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.4177, 'recent_quality_edge': -0.156, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.2169} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0976, 'recent_form_edge_home_minus_away': -0.156, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'WAS', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'WAS', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.2169, 'winner': 'WAS', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 226. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 215. | |||||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 215. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 226. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 13 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | current | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 13.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 13.0. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 6 - 4 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 6 - 4 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: WAS wins 6-4 (Extra Innings - 13). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=WAS, simulation=WAS, published=WAS. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): WAS wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: WAS wins 6-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-4, final 6-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: WAS wins 6-4 (Extra Innings - 13). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 5/10 = 0.500. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | DET | BATTING_TOTALS_SUM | current:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | current | WAS | BATTING_TOTALS_SUM | current:WAS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match WAS pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match WAS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match WAS pitching: 17. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=52 matches WAS BF=52. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match DET pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match DET pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match DET pitching: 16. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=51 matches DET BF=51. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.544 -> 0.543 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.54431, 'sample_size': 505, 'empirical_hit_rate': 0.5426, 'empirical_weight': 0.5, 'blended_confidence': 0.543455, 'published_confidence': 0.505, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.581/0.781. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 13 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: WAS 7, DET 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 6 - DET 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: WAS. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for WAS; cap=0.57, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup'], 'signals': {'predicted_team': 'WAS', 'opponent_team': 'DET', 'h2h_net_margin': -5, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-22', 'predicted_team_runs': 3, 'opponent_runs': 1, 'margin_for_predicted_team': 2, 'winner': 'WAS'}, {'date': '2026-09-21', 'predicted_team_runs': 2, 'opponent_runs': 9, 'margin_for_predicted_team': -7, 'winner': 'DET'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260922', 'away': 'WAS', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'WAS', 'actual_margin': 2, 'raw_pick_probability': 0.570934, 'artifact': '20260922_WAS@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260921', 'away': 'WAS', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'DET', 'actual_margin': 7, 'raw_pick_probability': 0.535809, 'artifact': '20260921_WAS@DET.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'WAS', 'guardrail_opponent_team': 'DET', 'output_pre_simulation_winner': 'WAS', 'output_opponent_team': 'DET', 'simulation_score_winner': 'WAS', 'final_score_winner': 'WAS', 'pre_simulation_winner': 'WAS', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0976, 'recent_form_edge_home_minus_away': -0.156, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'WAS', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'WAS', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.2169, 'winner': 'WAS', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-23. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260923_WAS@DET. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@DET. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': 5.0, 'absolute_net_margin': 5.0, 'home_average_margin': 2.5, 'home_run_delta': 0.0375, 'away_run_delta': -0.0375, 'evidence': [{'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': 7.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.019852304505044095}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.019330547809896167}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01910318619418431}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01860111776716917}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.018446563876759903}], 'home_distribution': {'0': 0.0540805971589865, '1': 0.08142141174855909, '2': 0.10960622260188714, '3': 0.13192625248681647, '4': 0.14197983722471133, '5': 0.13662228813962154, '6': 0.11754816880399356, '7': 0.09042939265880148, '8': 0.06220177713097931, '9': 0.03825563404894637, '10': 0.02103717639968044, '11': 0.010343771675466538, '12': 0.0045474699215503536}, 'away_distribution': {'0': 0.05215118832138507, '1': 0.0786198637172909, '2': 0.10625311071717437, '3': 0.12873371707986841, '4': 0.13982481522093784, '5': 0.13614995049826498, '6': 0.11884803631185431, '7': 0.09300532656249162, '8': 0.06524765722020019, '9': 0.04103583850566901, '10': 0.02313678390960834, '11': 0.011694561922003644, '12': 0.00529915001325126}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.4177, 'recent_quality_edge': -0.156, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.2169} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'WAS 6 - 4 DET', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0976, 'recent_form_edge_home_minus_away': -0.156, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'WAS', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'WAS', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.2169, 'winner': 'WAS', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 226. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 215. | |||||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 215. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 226. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 13 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | current | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 13.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 13.0. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 6 - 4 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 6 - 4 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: WAS wins 6-4 (Extra Innings - 13). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=WAS, simulation=WAS, published=WAS. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): WAS wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: WAS wins 6-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-4, final 6-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: WAS wins 6-4 (Extra Innings - 13). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 5/10 = 0.500. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=31, sim=48; H: current=8, sim=9; 2B: current=1, sim=4; HR: current=1, sim=2; SO: current=8, sim=17). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: AB current=4 box=6, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Hao-Yu Lee: AB current=4 box=6, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Ben Malgeri: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Max Clark: AB current=3 box=6, H current=1 box=0, R current=1 box=0; Dillon Dingler: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Zach McKinstry: AB current=3 box=4, BB current=0 box=1, SO current=0 box=2; Spencer Torkelson: AB current=3 box=6, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Riley Greene: AB current=4 box=5, H current=1 box=4, 2B current=0 box=3, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=46; H: current=8, sim=7; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=5; SO: current=8, sim=16). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Andrés Chaparro: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; CJ Abrams: AB current=4 box=6, 3B current=0 box=1, HR current=1 box=0, RBI current=1 box=3; Dylan Crews: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Yohandy Morales: AB current=3 box=6, 2B current=0 box=1, R current=1 box=0, SO current=1 box=2; James Wood: AB current=4 box=5, SO current=1 box=0; Nasim Nuñez: AB current=3 box=5, SO current=1 box=3; Harry Ford: AB current=3 box=4, SO current=1 box=2; Brady House: AB current=4 box=5, R current=0 box=1, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.043902576364532 | 4.639880279334525 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 6 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 6 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 6 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| WAS | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 7 |
| DET | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 9 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | batting | 32 | 8 | 1 | 0 | 1 | 4 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | WAS | pitching | 9 | 2 | 4 | 4 | 17 | 9.0 | 4 | 0 | 0 | |||||||||
| current | DET | batting | 31 | 8 | 1 | 0 | 1 | 4 | 4 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | DET | pitching | 7 | 0 | 6 | 5 | 16 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | WAS | batting | 46 | 7 | 1 | 1 | 0 | 6 | 6 | 5 | 16 | 0 | 0 | |||||||
| simulation | WAS | pitching | 9 | 2 | 4 | 4 | 17 | 13.0 | 4 | 52 | 226 | |||||||||
| simulation | DET | batting | 48 | 9 | 4 | 0 | 2 | 4 | 4 | 4 | 17 | 0 | 0 | |||||||
| simulation | DET | pitching | 7 | 0 | 6 | 5 | 16 | 13.0 | 6 | 51 | 215 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | DH | Andrés Chaparro | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | WAS | 2B | CJ Abrams | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | WAS | LF | Dylan Crews | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | WAS | 1B | Yohandy Morales | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | WAS | RF | James Wood | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | WAS | SS | Nasim Nuñez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | WAS | C | Harry Ford | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | WAS | 3B | Brady House | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | WAS | CF | Jacob Young | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | DET | 3B | Kevin McGonigle | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | DET | DH | Hao-Yu Lee | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | RF | Ben Malgeri | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | DET | CF | Max Clark | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | C | Dillon Dingler | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | 2B | Zach McKinstry | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | DET | 1B | Spencer Torkelson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | DET | LF | Riley Greene | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | DET | SS | John Peck | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | WAS | 1 | RF | James Wood | 6 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.200 |
| simulation | WAS | 2 | DH | Andrés Chaparro | 6 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.200 |
| simulation | WAS | 3 | 3B | Brady House | 6 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.200 |
| simulation | WAS | 4 | 2B | CJ Abrams | 6 | 6 | 1 | 0 | 1 | 0 | 1 | 3 | 0 | 1 | 0 | 0.167 |
| simulation | WAS | 5 | LF | Dylan Crews | 6 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 | 0 | 0.000 |
| simulation | WAS | 6 | 1B | Yohandy Morales | 6 | 6 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.167 |
| simulation | WAS | 7 | C | Harry Ford | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.250 |
| simulation | WAS | 8 | CF | Jacob Young | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.200 |
| simulation | WAS | 9 | SS | Nasim Nuñez | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | DET | 1 | 3B | Kevin McGonigle | 6 | 6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.167 |
| simulation | DET | 2 | DH | Hao-Yu Lee | 6 | 6 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 4 | 0 | 0.167 |
| simulation | DET | 3 | RF | Ben Malgeri | 6 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.400 |
| simulation | DET | 4 | LF | Riley Greene | 6 | 5 | 4 | 3 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.800 |
| simulation | DET | 5 | C | Dillon Dingler | 6 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | DET | 6 | CF | Max Clark | 6 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | DET | 7 | 1B | Spencer Torkelson | 6 | 6 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.167 |
| simulation | DET | 8 | SS | John Peck | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | DET | 9 | 2B | Zach McKinstry | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | 1 | Richard Lovelady | Starter | 3.2 | 3 | 2 | 2 | 0 | 8 | 1 | 0 | 0 | 4.91 | 3.86 | 1.84 |
| current | WAS | 2 | Brad Lord | Setup Man | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.94 | 1.24 |
| current | WAS | 3 | Erik Tolman | Closer | 1.2 | 1 | 1 | 1 | 1 | 3 | 0 | 0 | 0 | 5.40 | 3.38 | 1.35 |
| current | WAS | 4 | Luis Perales | Middle Reliever (High Leverage) | 1.0 | 3 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 9.00 | 11.45 | 2.55 |
| current | WAS | 5 | Yovanny Cruz | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 5.27 | 1.61 |
| current | WAS | 7 | Riley Cornelio | Reliever | 0.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| current | WAS | 8 | Jack Sinclair | Reliever | 0.0 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | |||
| current | DET | 1 | Framber Valdez | Starter | 6.0 | 2 | 2 | 2 | 4 | 7 | 0 | 0 | 0 | 3.00 | 4.06 | 1.36 |
| current | DET | 2 | Drew Sommers | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.00 | 1.10 |
| current | DET | 3 | Kenley Jansen | Closer | 1.1 | 5 | 4 | 4 | 0 | 2 | 0 | 0 | 0 | 27.00 | 2.93 | 1.05 |
| current | DET | 4 | Tyler Holton | Setup Man | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.76 | 1.26 |
| current | DET | 5 | Jacob Waguespack | Middle Reliever (High Leverage) | 0.0 | 0 | 0 | 0 | 1 | 5 | 0 | 0 | 0 | 2.47 | 0.89 | |
| current | DET | 6 | Tyler Kinley | Middle Reliever | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3.38 | 1.14 | |
| simulation | WAS | 1 | Richard Lovelady | Starter | 3.2 | 3 | 2 | 2 | 0 | 8 | 1 | 14 | 67 | 4.91 | 3.86 | 1.84 |
| simulation | WAS | 2 | Erik Tolman | Closer | 1.2 | 1 | 1 | 1 | 1 | 3 | 0 | 7 | 28 | 5.40 | 3.38 | 1.35 |
| simulation | WAS | 3 | Brad Lord | Setup Man | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 25 | 0.00 | 3.94 | 1.24 |
| simulation | WAS | 4 | Luis Perales | Middle Reliever (High Leverage) | 1.0 | 3 | 1 | 1 | 1 | 1 | 1 | 7 | 26 | 9.00 | 11.45 | 2.55 |
| simulation | WAS | 5 | Yovanny Cruz | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 17 | 0.00 | 5.27 | 1.61 |
| simulation | WAS | 6 | Riley Cornelio | Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 3.89 | 1.53 |
| simulation | WAS | 7 | Jack Sinclair | Reliever | 2.2 | 1 | 0 | 0 | 1 | 2 | 0 | 10 | 47 | 0.00 | 2.00 | 0.89 |
| simulation | DET | 1 | Framber Valdez | Starter | 6.0 | 2 | 2 | 2 | 4 | 7 | 0 | 24 | 107 | 3.00 | 4.06 | 1.36 |
| simulation | DET | 2 | Kenley Jansen | Closer | 1.1 | 5 | 4 | 4 | 0 | 2 | 0 | 9 | 32 | 27.00 | 2.93 | 1.05 |
| simulation | DET | 3 | Tyler Holton | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.76 | 1.26 |
| simulation | DET | 4 | Drew Sommers | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 17 | 0.00 | 3.00 | 1.10 |
| simulation | DET | 5 | Jacob Waguespack | Middle Reliever (High Leverage) | 2.2 | 0 | 0 | 0 | 1 | 5 | 0 | 9 | 38 | 0.00 | 2.47 | 0.89 |
| simulation | DET | 6 | Tyler Kinley | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 | 0.00 | 3.38 | 1.14 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| WAS | Richard Lovelady | Starter | 3.2 | 2 | 3 | 0 | 8 | 14 | 67 |
| WAS | Brad Lord | Setup Man | 2.0 | 0 | 0 | 0 | 1 | 6 | 25 |
| WAS | Erik Tolman | Closer | 1.2 | 1 | 1 | 1 | 3 | 7 | 28 |
| WAS | Luis Perales | Middle Reliever (High Leverage) | 1.0 | 1 | 3 | 1 | 1 | 7 | 26 |
| WAS | Yovanny Cruz | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 2 | 4 | 17 |
| WAS | Riley Cornelio | Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| WAS | Jack Sinclair | Reliever | 2.2 | 0 | 1 | 1 | 2 | 10 | 47 |
| DET | Framber Valdez | Starter | 6.0 | 2 | 2 | 4 | 7 | 24 | 107 |
| DET | Drew Sommers | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 2 | 4 | 17 |
| DET | Kenley Jansen | Closer | 1.1 | 4 | 5 | 0 | 2 | 9 | 32 |
| DET | Tyler Holton | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| DET | Jacob Waguespack | Middle Reliever (High Leverage) | 2.2 | 0 | 0 | 1 | 5 | 9 | 38 |
| DET | Tyler Kinley | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 8 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |