20260924_ARI@COL
20260924_ARI@COL.json • 2026-09-24
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 pitcher projections differ from final simulation pitching box score (H: current=13, sim=12). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| 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=37; H: current=10, sim=11; 2B: current=2, sim=1; 3B: current=0, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=6, sim=8; 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 | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Gabriel Moreno: H current=2 box=1, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Pavin Smith: AB current=3 box=5, SO current=1 box=2; Ketel Marte: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, 3B current=0 box=1; Nolan Arenado: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Tim Tawa: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1, BB current=0 box=1; Geraldo Perdomo: AB current=4 box=3, RBI current=0 box=1, R current=0 box=1, SF current=0 box=1; Corbin Carroll: H current=1 box=2, 3B current=0 box=1, RBI current=0 box=2, 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 | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=9, sim=12; 2B: current=2, sim=1; 3B: current=1, sim=0; HR: current=1, sim=0; R: current=4, sim=5; BB: current=3, sim=1; SO: current=7, 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 | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: H current=1 box=0, HR current=1 box=0, SO current=1 box=2, SF current=0 box=1; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; TJ Rumfield: RBI current=1 box=0, R current=0 box=1, SO current=0 box=3; Jake McCarthy: AB current=4 box=5, H current=1 box=0, 3B current=1 box=0, RBI current=1 box=0; Jordan Beck: AB current=3 box=4; Kyle Karros: H current=1 box=3, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Connor Norby: AB current=4 box=5, H current=1 box=3, RBI current=0 box=2, R current=0 box=1; Brett Sullivan: AB current=3 box=4, H current=1 box=2, R current=0 box=1, SO 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: 3. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match COL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match COL pitching: 11. | |||
| 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=41 matches COL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match ARI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match ARI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match ARI pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match ARI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=40 matches ARI BF=40. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.726 -> 0.638 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.725789, 'sample_size': 205, 'empirical_hit_rate': 0.5512, 'empirical_weight': 0.5, 'blended_confidence': 0.638495, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL 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 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.532/0.722. | |||||
| 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 11, COL 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 6 - COL 5. | |||||
| 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 5 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 5 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': 5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'ARI'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'ARI', 'home': 'COL', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'ARI', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260923_ARI@COL.json', 'verification': 'pregame_official_final'}, {'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': 6, 'home_runs': 5, 'score_text': 'ARI 6 - 5 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'ARI 6 - 5 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.1533, 'recent_form_edge_home_minus_away': -0.666, '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': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'ARI', 'published_winner_draw_share': 0.6667, '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': 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': 1.1569, 'winner': 'ARI', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': -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': -2.0}, {'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}], '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.01439676630418284}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014283674296652005}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.0139300487889791}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.01382062302285477}, {'home_runs': 6, 'away_runs': 6, 'probability': 0.013516662469649917}], 'home_distribution': {'0': 0.04217339762812111, '1': 0.0640003165874018, '2': 0.0882303192003646, '3': 0.11049580112576303, '4': 0.12570886233904058, '5': 0.1299206586334214, '6': 0.12197834246099762, '7': 0.10403499195920335, '8': 0.0806061808884701, '9': 0.056734789537886465, '10': 0.036276280216041845, '11': 0.021071150264602864, '12': 0.011118493254003324, '13': 0.00532961485783184, '14': 0.002320801046850093}, 'away_distribution': {'0': 0.025203700462339964, '1': 0.03869546020249009, '2': 0.05523982178387775, '3': 0.0733231421442314, '4': 0.09049538098489816, '5': 0.1038504311743283, '6': 0.11081198675881211, '7': 0.10994151697578915, '8': 0.1014222532613211, '9': 0.08699640990103785, '10': 0.06938505758076159, '11': 0.05145494536286701, '12': 0.03548010005735776, '13': 0.022747784043978238, '14': 0.01356094340581064, '15': 0.007516873758657749, '16': 0.003874192141440942}, '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.4589, 'recent_quality_edge': -0.596, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.1569} | ||||
| 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': 'ARI 6 - 5 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'ARI 6 - 5 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.1533, 'recent_form_edge_home_minus_away': -0.666, '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': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'ARI', 'published_winner_draw_share': 0.6667, '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': 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': 1.1569, 'winner': 'ARI', '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: 175. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 179. | |||||
| 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: 175. | |||
| 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: 179. | |||
| 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 6 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 6 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 6-5. | |||||
| 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 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI 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: ARI wins 6-5. | |||||
| 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: 3. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match COL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match COL pitching: 11. | |||
| 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=41 matches COL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match ARI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match ARI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match ARI pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match ARI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=40 matches ARI BF=40. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.726 -> 0.638 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.725789, 'sample_size': 205, 'empirical_hit_rate': 0.5512, 'empirical_weight': 0.5, 'blended_confidence': 0.638495, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL 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 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.532/0.722. | |||||
| 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 11, COL 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 6 - COL 5. | |||||
| 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 5 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 5 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': 5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'ARI'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'ARI', 'home': 'COL', 'game_number': 1, 'predicted_team': 'ARI', 'actual_winner': 'ARI', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260923_ARI@COL.json', 'verification': 'pregame_official_final'}, {'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': 6, 'home_runs': 5, 'score_text': 'ARI 6 - 5 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'ARI 6 - 5 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.1533, 'recent_form_edge_home_minus_away': -0.666, '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': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'ARI', 'published_winner_draw_share': 0.6667, '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': 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': 1.1569, 'winner': 'ARI', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': -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': -2.0}, {'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}], '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.01439676630418284}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014283674296652005}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.0139300487889791}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.01382062302285477}, {'home_runs': 6, 'away_runs': 6, 'probability': 0.013516662469649917}], 'home_distribution': {'0': 0.04217339762812111, '1': 0.0640003165874018, '2': 0.0882303192003646, '3': 0.11049580112576303, '4': 0.12570886233904058, '5': 0.1299206586334214, '6': 0.12197834246099762, '7': 0.10403499195920335, '8': 0.0806061808884701, '9': 0.056734789537886465, '10': 0.036276280216041845, '11': 0.021071150264602864, '12': 0.011118493254003324, '13': 0.00532961485783184, '14': 0.002320801046850093}, 'away_distribution': {'0': 0.025203700462339964, '1': 0.03869546020249009, '2': 0.05523982178387775, '3': 0.0733231421442314, '4': 0.09049538098489816, '5': 0.1038504311743283, '6': 0.11081198675881211, '7': 0.10994151697578915, '8': 0.1014222532613211, '9': 0.08699640990103785, '10': 0.06938505758076159, '11': 0.05145494536286701, '12': 0.03548010005735776, '13': 0.022747784043978238, '14': 0.01356094340581064, '15': 0.007516873758657749, '16': 0.003874192141440942}, '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.4589, 'recent_quality_edge': -0.596, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.1569} | ||||
| 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': 'ARI 6 - 5 COL', 'winner': 'ARI'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'ARI 6 - 5 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.1533, 'recent_form_edge_home_minus_away': -0.666, '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': 'ARI', 'model_winner': 'ARI', 'simulation_winner': 'ARI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'ARI', 'published_winner_draw_share': 0.6667, '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': 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': 1.1569, 'winner': 'ARI', '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: 175. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 179. | |||||
| 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: 175. | |||
| 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: 179. | |||
| 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 6 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 6 - 5 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 6-5. | |||||
| 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 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI 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: ARI wins 6-5. | |||||
| 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 pitcher projections differ from final simulation pitching box score (H: current=13, sim=12). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| 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=37; H: current=10, sim=11; 2B: current=2, sim=1; 3B: current=0, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=6, sim=8; 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 | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Gabriel Moreno: H current=2 box=1, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Pavin Smith: AB current=3 box=5, SO current=1 box=2; Ketel Marte: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, 3B current=0 box=1; Nolan Arenado: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Tim Tawa: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1, BB current=0 box=1; Geraldo Perdomo: AB current=4 box=3, RBI current=0 box=1, R current=0 box=1, SF current=0 box=1; Corbin Carroll: H current=1 box=2, 3B current=0 box=1, RBI current=0 box=2, 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 | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=9, sim=12; 2B: current=2, sim=1; 3B: current=1, sim=0; HR: current=1, sim=0; R: current=4, sim=5; BB: current=3, sim=1; SO: current=7, 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 | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: H current=1 box=0, HR current=1 box=0, SO current=1 box=2, SF current=0 box=1; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; TJ Rumfield: RBI current=1 box=0, R current=0 box=1, SO current=0 box=3; Jake McCarthy: AB current=4 box=5, H current=1 box=0, 3B current=1 box=0, RBI current=1 box=0; Jordan Beck: AB current=3 box=4; Kyle Karros: H current=1 box=3, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Connor Norby: AB current=4 box=5, H current=1 box=3, RBI current=0 box=2, R current=0 box=1; Brett Sullivan: AB current=3 box=4, H current=1 box=2, R current=0 box=1, SO 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.637397707968 | 3.6671756047918995 | Base ML historical model prediction | |
| variance_applied | 6 | 4 | 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 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ARI | 1 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 6 | 11 |
| COL | 0 | 1 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 5 | 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 | ARI | batting | 33 | 10 | 2 | 0 | 1 | 5 | 4 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | ARI | pitching | 13 | 0 | 5 | 1 | 11 | 9.0 | 5 | 0 | 0 | |||||||||
| current | COL | batting | 33 | 9 | 2 | 1 | 1 | 5 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | COL | pitching | 11 | 1 | 6 | 3 | 8 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | ARI | batting | 37 | 11 | 1 | 2 | 1 | 6 | 6 | 3 | 8 | 1 | 0 | |||||||
| simulation | ARI | pitching | 12 | 0 | 5 | 1 | 11 | 9.0 | 5 | 40 | 175 | |||||||||
| simulation | COL | batting | 38 | 12 | 1 | 0 | 0 | 5 | 5 | 1 | 11 | 1 | 0 | |||||||
| simulation | COL | pitching | 11 | 1 | 6 | 3 | 8 | 9.0 | 6 | 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 | ARI | LF | Lars Nootbaar | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | ARI | DH | Gabriel Moreno | 0 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.500 | |
| current | ARI | 1B | Pavin Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ARI | 2B | Ketel Marte | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | ARI | 3B | Nolan Arenado | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ARI | CF | Tim Tawa | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 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 | RF | Corbin Carroll | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | ARI | C | James McCann | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | COL | DH | Hunter Goodman | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | CF | Cole Carrigg | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | 1B | TJ Rumfield | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0.250 | |
| current | COL | LF | Jake McCarthy | 0 | 4 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | RF | Jordan Beck | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | COL | 3B | Kyle Karros | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | COL | 2B | Connor Norby | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | COL | C | Brett Sullivan | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| current | COL | SS | Ezequiel Tovar | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | ARI | 1 | LF | Lars Nootbaar | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.400 |
| simulation | ARI | 2 | 2B | Ketel Marte | 5 | 5 | 2 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | ARI | 3 | DH | Gabriel Moreno | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | ARI | 4 | SS | Geraldo Perdomo | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | ARI | 5 | 1B | Pavin Smith | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | ARI | 6 | 3B | Nolan Arenado | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | ARI | 7 | RF | Corbin Carroll | 4 | 4 | 2 | 0 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | ARI | 8 | C | James McCann | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | ARI | 9 | CF | Tim Tawa | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 1 | 0 | 0.333 |
| simulation | COL | 1 | LF | Jake McCarthy | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | COL | 2 | 2B | Connor Norby | 5 | 5 | 3 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.600 |
| simulation | COL | 3 | DH | Hunter Goodman | 5 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.000 |
| simulation | COL | 4 | 1B | TJ Rumfield | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 3 | 0 | 0.250 |
| simulation | COL | 5 | CF | Cole Carrigg | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | COL | 6 | 3B | Kyle Karros | 4 | 4 | 3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.750 |
| simulation | COL | 7 | C | Brett Sullivan | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | COL | 8 | RF | Jordan Beck | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | COL | 9 | SS | Ezequiel Tovar | 4 | 4 | 1 | 0 | 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 | ARI | 1 | Eduardo Rodriguez | Starter | 5.2 | 9 | 3 | 3 | 1 | 7 | 0 | 0 | 0 | 4.76 | 2.89 | 1.23 |
| current | ARI | 2 | Brandyn Garcia | Closer | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 1.74 | 0.68 |
| current | ARI | 3 | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.80 | 1.11 |
| current | ARI | 4 | Juan Morillo | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.54 | 0.98 |
| current | ARI | 5 | Kevin Ginkel | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 27.00 | 3.04 | 1.12 |
| current | COL | 1 | Tanner Gordon | Starter | 4.1 | 7 | 3 | 3 | 1 | 1 | 1 | 0 | 0 | 6.23 | 6.01 | 1.55 |
| current | COL | 2 | Jimmy Herget | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 5.65 | 1.47 |
| current | COL | 3 | Brennan Bernardino | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.45 | 1.09 |
| current | COL | 4 | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.19 | 1.37 |
| current | COL | 5 | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0.00 | 4.26 | 1.26 |
| current | COL | 7 | Nick Frasso | Reliever | 0.1 | 2 | 3 | 3 | 1 | 1 | 0 | 0 | 0 | 81.00 | ||
| simulation | ARI | 1 | Eduardo Rodriguez | Starter | 5.2 | 9 | 3 | 3 | 1 | 7 | 0 | 27 | 114 | 4.76 | 2.89 | 1.23 |
| simulation | ARI | 2 | Brandyn Garcia | Closer | 1.0 | 0 | 1 | 1 | 0 | 1 | 0 | 3 | 22 | 9.00 | 1.74 | 0.68 |
| simulation | ARI | 3 | Juan Morillo | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 2.54 | 0.98 |
| simulation | ARI | 4 | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 0 | 0 | 5 | 19 | 0.00 | 2.80 | 1.11 |
| simulation | ARI | 5 | Kevin Ginkel | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 0 | 1 | 0 | 2 | 7 | 27.00 | 3.04 | 1.12 |
| simulation | COL | 1 | Tanner Gordon | Starter | 4.1 | 7 | 3 | 3 | 1 | 1 | 1 | 21 | 92 | 6.23 | 6.01 | 1.55 |
| simulation | COL | 2 | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 3 | 13 | 0.00 | 4.26 | 1.26 |
| simulation | COL | 3 | Brennan Bernardino | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 4 | 16 | 0.00 | 2.45 | 1.09 |
| simulation | COL | 4 | Jimmy Herget | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 24 | 0.00 | 5.65 | 1.47 |
| simulation | COL | 5 | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 20 | 0.00 | 4.19 | 1.37 |
| simulation | COL | 6 | Nick Frasso | Reliever | 0.1 | 2 | 3 | 3 | 1 | 1 | 0 | 4 | 14 | 81.00 | 6.41 | 1.58 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| ARI | Eduardo Rodriguez | Starter | 5.2 | 3 | 9 | 1 | 7 | 27 | 114 |
| ARI | Brandyn Garcia | Closer | 1.0 | 1 | 0 | 0 | 1 | 3 | 22 |
| ARI | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 0 | 2 | 0 | 0 | 5 | 19 |
| ARI | Juan Morillo | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| ARI | Kevin Ginkel | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 0 | 1 | 2 | 7 |
| COL | Tanner Gordon | Starter | 4.1 | 3 | 7 | 1 | 1 | 21 | 92 |
| COL | Jimmy Herget | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 4 | 24 |
| COL | Brennan Bernardino | Setup Man | 1.0 | 0 | 1 | 0 | 2 | 4 | 16 |
| COL | Jaden Hill | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 1 | 1 | 5 | 20 |
| COL | Jordan Romano | Closer | 1.0 | 0 | 0 | 0 | 3 | 3 | 13 |
| COL | Nick Frasso | Reliever | 0.1 | 3 | 2 | 1 | 1 | 4 | 14 |
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. |
20260924_CHW@KC
20260924_CHW@KC.json • 2026-09-24
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=37; H: current=8, sim=10; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=4, sim=7; SO: current=7, 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 | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: RBI current=0 box=1, BB current=0 box=1, SO current=0 box=2; Munetaka Murakami: AB current=4 box=5, 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=0, RBI current=1 box=0, BB current=1 box=0; Tristan Peters: AB current=3 box=5, H current=1 box=2, R current=0 box=1, SO current=0 box=1; Andrew Benintendi: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=0 box=1; Braden Montgomery: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=3, BB current=1 box=0; Miguel Vargas: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, BB current=1 box=2; Colson Montgomery: H current=0 box=1, RBI current=1 box=0, R current=0 box=1, BB 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 | 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 (AB: current=33, sim=32; H: current=8, sim=5; 2B: current=2, sim=0; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; 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 | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Carter Jensen: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=3, BB current=1 box=0; Salvador Perez: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Vinnie Pasquantino: RBI current=1 box=0, BB current=1 box=0, SO current=0 box=2; Bobby Witt Jr.: AB current=4 box=3, H current=1 box=2, BB current=0 box=1; Michael Massey: AB current=4 box=3, 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Nick Loftin: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=0 box=1; John Rave: H current=1 box=0, R current=1 box=0, SO current=1 box=0, HBP current=0 box=1; Kyle Isbel: AB current=3 box=4, H current=1 box=0, SO current=1 box=3 | 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: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match KC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match KC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=44 matches KC BF=44. | |||
| 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: 4. | |||
| 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: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match CHW pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=37 matches CHW BF=37. | |||
| 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.741 -> 0.657 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.740741, 'sample_size': 422, 'empirical_hit_rate': 0.5735, 'empirical_weight': 0.5, 'blended_confidence': 0.65712, 'published_confidence': 0.54462, '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.545. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.545. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.455. | |||||
| 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.566/0.762. | |||||
| 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 10, KC 5. | |||||
| 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=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.56, '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'], 'signals': {'predicted_team': 'CHW', 'opponent_team': 'KC', 'h2h_net_margin': 1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 4, 'opponent_runs': 5, 'margin_for_predicted_team': -1, 'winner': 'KC'}, {'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'}], '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': '20260923', 'away': 'CHW', 'home': 'KC', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'KC', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260923_CHW@KC.json', 'verification': 'pregame_official_final'}, {'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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0461, 'recent_form_edge_home_minus_away': -0.738, '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': 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': 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.9229, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': -23.0, 'absolute_net_margin': 23.0, 'home_average_margin': -4.6, 'home_run_delta': -0.1327, 'away_run_delta': 0.1327, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'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}], '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': 7, 'probability': 0.01379351015036055}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.013612021151675183}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.013177266329399013}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.013157957290284083}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.013038733397839838}], 'home_distribution': {'0': 0.039843393141624245, '1': 0.06055999761125719, '2': 0.08388408670337608, '3': 0.10588574826790544, '4': 0.1218034635831074, '5': 0.12768678862662503, '6': 0.12198220772938889, '7': 0.10619674672754484, '8': 0.08425392355871203, '9': 0.060916263212171945, '10': 0.0401365993402652, '11': 0.024099725185583037, '12': 0.013187054642718158, '13': 0.00657578673400541, '14': 0.0029882149357150635}, 'away_distribution': {'0': 0.022868645092706065, '1': 0.03516754724290363, '2': 0.05044895185656073, '3': 0.06751039340886593, '4': 0.08427476556092274, '5': 0.09813702547305145, '6': 0.10660477327438109, '7': 0.10802613409516316, '8': 0.10211497632669747, '9': 0.09004476535806254, '10': 0.07406890486738502, '11': 0.05683577671363619, '12': 0.04068329299220981, '13': 0.02716556990253174, '14': 0.01692115351750591, '15': 0.00983217350711127, '16': 0.005329390276653028, '17': 0.0026947218241717688, '18': 0.0012710387094807026}, '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.0601, 'recent_quality_edge': -0.668, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.9229} | ||||
| 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0461, 'recent_form_edge_home_minus_away': -0.738, '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': 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': 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.9229, '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: 159. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 194. | |||||
| 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: 159. | |||
| 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: 194. | |||
| 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 | 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.545. | |||||
| 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): 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: 7. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match KC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match KC pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=44 matches KC BF=44. | |||
| 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: 4. | |||
| 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: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match CHW pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=37 matches CHW BF=37. | |||
| 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.741 -> 0.657 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.740741, 'sample_size': 422, 'empirical_hit_rate': 0.5735, 'empirical_weight': 0.5, 'blended_confidence': 0.65712, 'published_confidence': 0.54462, '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.545. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.545. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.455. | |||||
| 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.566/0.762. | |||||
| 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 10, KC 5. | |||||
| 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=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.56, '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'], 'signals': {'predicted_team': 'CHW', 'opponent_team': 'KC', 'h2h_net_margin': 1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 4, 'opponent_runs': 5, 'margin_for_predicted_team': -1, 'winner': 'KC'}, {'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'}], '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': '20260923', 'away': 'CHW', 'home': 'KC', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'KC', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260923_CHW@KC.json', 'verification': 'pregame_official_final'}, {'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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0461, 'recent_form_edge_home_minus_away': -0.738, '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': 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': 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.9229, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': -23.0, 'absolute_net_margin': 23.0, 'home_average_margin': -4.6, 'home_run_delta': -0.1327, 'away_run_delta': 0.1327, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'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}], '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': 7, 'probability': 0.01379351015036055}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.013612021151675183}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.013177266329399013}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.013157957290284083}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.013038733397839838}], 'home_distribution': {'0': 0.039843393141624245, '1': 0.06055999761125719, '2': 0.08388408670337608, '3': 0.10588574826790544, '4': 0.1218034635831074, '5': 0.12768678862662503, '6': 0.12198220772938889, '7': 0.10619674672754484, '8': 0.08425392355871203, '9': 0.060916263212171945, '10': 0.0401365993402652, '11': 0.024099725185583037, '12': 0.013187054642718158, '13': 0.00657578673400541, '14': 0.0029882149357150635}, 'away_distribution': {'0': 0.022868645092706065, '1': 0.03516754724290363, '2': 0.05044895185656073, '3': 0.06751039340886593, '4': 0.08427476556092274, '5': 0.09813702547305145, '6': 0.10660477327438109, '7': 0.10802613409516316, '8': 0.10211497632669747, '9': 0.09004476535806254, '10': 0.07406890486738502, '11': 0.05683577671363619, '12': 0.04068329299220981, '13': 0.02716556990253174, '14': 0.01692115351750591, '15': 0.00983217350711127, '16': 0.005329390276653028, '17': 0.0026947218241717688, '18': 0.0012710387094807026}, '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.0601, 'recent_quality_edge': -0.668, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.9229} | ||||
| 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0461, 'recent_form_edge_home_minus_away': -0.738, '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': 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': 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.9229, '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: 159. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 194. | |||||
| 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: 159. | |||
| 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: 194. | |||
| 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 | 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.545. | |||||
| 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): 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=37; H: current=8, sim=10; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=4, sim=7; SO: current=7, 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 | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: RBI current=0 box=1, BB current=0 box=1, SO current=0 box=2; Munetaka Murakami: AB current=4 box=5, 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=0, RBI current=1 box=0, BB current=1 box=0; Tristan Peters: AB current=3 box=5, H current=1 box=2, R current=0 box=1, SO current=0 box=1; Andrew Benintendi: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=0 box=1; Braden Montgomery: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=3, BB current=1 box=0; Miguel Vargas: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, BB current=1 box=2; Colson Montgomery: H current=0 box=1, RBI current=1 box=0, R current=0 box=1, BB 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 | 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 (AB: current=33, sim=32; H: current=8, sim=5; 2B: current=2, sim=0; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; 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 | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Carter Jensen: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=3, BB current=1 box=0; Salvador Perez: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Vinnie Pasquantino: RBI current=1 box=0, BB current=1 box=0, SO current=0 box=2; Bobby Witt Jr.: AB current=4 box=3, H current=1 box=2, BB current=0 box=1; Michael Massey: AB current=4 box=3, 2B current=1 box=0, R current=0 box=1, BB current=0 box=1; Nick Loftin: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=0 box=1; John Rave: H current=1 box=0, R current=1 box=0, SO current=1 box=0, HBP current=0 box=1; Kyle Isbel: AB current=3 box=4, H current=1 box=0, SO current=1 box=3 | 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.016832231717585 | 4.501236962595471 | Base ML historical model prediction | |
| variance_applied | 5 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 7 | 5 | 0.545 | 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 | 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 | 1 | 1 | 3 | 0 | 1 | 1 | 7 | 10 |
| KC | 0 | 0 | 0 | 3 | 0 | 2 | 0 | 0 | 0 | 5 | 5 |
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 | 5 | 5 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | CHW | pitching | 5 | 0 | 5 | 4 | 14 | 9.0 | 5 | 0 | 0 | |||||||||
| current | KC | batting | 33 | 8 | 2 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | KC | pitching | 10 | 2 | 7 | 7 | 9 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | CHW | batting | 37 | 10 | 3 | 0 | 2 | 7 | 7 | 7 | 9 | 0 | 0 | |||||||
| simulation | CHW | pitching | 5 | 0 | 5 | 4 | 14 | 9.0 | 5 | 37 | 159 | |||||||||
| simulation | KC | batting | 32 | 5 | 0 | 0 | 0 | 5 | 5 | 4 | 14 | 0 | 1 | |||||||
| simulation | KC | pitching | 10 | 2 | 7 | 7 | 9 | 9.0 | 7 | 44 | 194 |
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 | CF | Tristan Peters | 0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| 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 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | CHW | 3B | Miguel Vargas | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | SS | Colson Montgomery | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.000 | |
| current | CHW | 2B | Chase Meidroth | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | C | Carter Jensen | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | KC | DH | Salvador Perez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | 1B | Vinnie Pasquantino | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | KC | SS | Bobby Witt Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | KC | 2B | Michael Massey | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | KC | 3B | Nick Loftin | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | KC | RF | John Rave | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | CF | Kyle Isbel | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | LF | Isaac Collins | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| simulation | CHW | 1 | LF | Sam Antonacci | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 |
| simulation | CHW | 2 | C | Kyle Teel | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHW | 3 | 3B | Miguel Vargas | 5 | 3 | 2 | 0 | 0 | 1 | 1 | 1 | 2 | 1 | 0 | 0.667 |
| simulation | CHW | 4 | 1B | Munetaka Murakami | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | CHW | 5 | DH | Andrew Benintendi | 5 | 4 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | CHW | 6 | CF | Tristan Peters | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | CHW | 7 | 2B | Chase Meidroth | 5 | 4 | 3 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 0.750 |
| simulation | CHW | 8 | SS | Colson Montgomery | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0.333 |
| simulation | CHW | 9 | RF | Braden Montgomery | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 3 | 0 | 1 | 0 | 0.250 |
| simulation | KC | 1 | C | Carter Jensen | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 3 | 0 | 1 | 0 | 0.200 |
| simulation | KC | 2 | SS | Bobby Witt Jr. | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.667 |
| simulation | KC | 3 | 1B | Vinnie Pasquantino | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | KC | 4 | DH | Salvador Perez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | KC | 5 | 2B | Michael Massey | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | KC | 6 | 3B | Nick Loftin | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.000 |
| simulation | KC | 7 | RF | John Rave | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.000 |
| simulation | KC | 8 | CF | Kyle Isbel | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | KC | 9 | LF | Isaac Collins | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 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 | CHW | 1 | David Sandlin | Starter | 5.0 | 3 | 3 | 3 | 3 | 10 | 0 | 0 | 0 | 5.40 | 6.29 | 1.28 |
| current | CHW | 2 | Grant Taylor | Closer | 1.1 | 2 | 2 | 2 | 1 | 0 | 0 | 0 | 0 | 13.50 | 2.40 | 1.03 |
| current | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.77 | 1.11 |
| current | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.62 | 1.16 |
| current | CHW | 5 | Jordan Hicks | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.83 | 1.50 |
| current | KC | 1 | Randy Dobnak | Starter | 5.2 | 2 | 2 | 2 | 5 | 6 | 2 | 0 | 0 | 3.18 | 3.08 | 1.33 |
| current | KC | 2 | Alex Lange | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 5.98 | 1.53 |
| current | KC | 3 | Nate Pearson | Setup Man | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 3.43 | 1.30 |
| current | KC | 4 | Steven Cruz | Closer | 1.0 | 3 | 3 | 2 | 1 | 1 | 0 | 0 | 0 | 18.00 | 4.30 | 1.26 |
| current | KC | 5 | Connor Thomas | Middle Reliever (High Leverage) | 0.1 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 27.00 | 8.06 | 1.79 |
| simulation | CHW | 1 | David Sandlin | Starter | 5.0 | 3 | 3 | 3 | 3 | 10 | 0 | 22 | 96 | 5.40 | 6.29 | 1.28 |
| simulation | CHW | 2 | Grant Taylor | Closer | 1.1 | 2 | 2 | 2 | 1 | 0 | 0 | 7 | 29 | 13.50 | 2.40 | 1.03 |
| simulation | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 17 | 0.00 | 2.77 | 1.11 |
| simulation | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.62 | 1.16 |
| simulation | CHW | 5 | Jordan Hicks | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 4 | 0.00 | 3.83 | 1.50 |
| simulation | KC | 1 | Randy Dobnak | Starter | 5.2 | 2 | 2 | 2 | 5 | 6 | 2 | 24 | 109 | 3.18 | 3.08 | 1.33 |
| simulation | KC | 2 | Steven Cruz | Closer | 1.0 | 3 | 3 | 3 | 1 | 1 | 0 | 7 | 26 | 27.00 | 4.30 | 1.26 |
| simulation | KC | 3 | Nate Pearson | Setup Man | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 20 | 0.00 | 3.43 | 1.30 |
| simulation | KC | 4 | Alex Lange | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 5 | 29 | 9.00 | 5.98 | 1.53 |
| simulation | KC | 5 | Connor Thomas | Middle Reliever (High Leverage) | 0.1 | 2 | 1 | 1 | 0 | 0 | 0 | 3 | 10 | 27.00 | 8.06 | 1.79 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CHW | David Sandlin | Starter | 5.0 | 3 | 3 | 3 | 10 | 22 | 96 |
| CHW | Grant Taylor | Closer | 1.1 | 2 | 2 | 1 | 0 | 7 | 29 |
| CHW | Sean Newcomb | Setup Man | 1.1 | 0 | 0 | 0 | 2 | 4 | 17 |
| CHW | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| CHW | Jordan Hicks | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 1 | 1 | 4 |
| KC | Randy Dobnak | Starter | 5.2 | 2 | 2 | 5 | 6 | 24 | 109 |
| KC | Alex Lange | Middle Reliever (High Leverage) | 1.0 | 1 | 2 | 0 | 1 | 5 | 29 |
| KC | Nate Pearson | Setup Man | 1.0 | 0 | 1 | 1 | 1 | 5 | 20 |
| KC | Steven Cruz | Closer | 1.0 | 3 | 3 | 1 | 1 | 7 | 26 |
| KC | Connor Thomas | Middle Reliever (High Leverage) | 0.1 | 1 | 2 | 0 | 0 | 3 | 10 |
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. |
20260924_CIN@ATL
20260924_CIN@ATL.json • 2026-09-24
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 pitcher projections differ from final simulation pitching box score (BB: current=4, sim=5). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=5, sim=7; BB: current=3, sim=1; 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 | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: 2B current=0 box=1, BB current=1 box=0, SO current=1 box=2; Mauricio Dubón: 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Matt Olson: RBI current=1 box=2, BB current=1 box=0; Ozzie Albies: H current=1 box=2, RBI current=0 box=1; Ronald Acuña Jr.: AB current=4 box=3, RBI current=1 box=0; Michael Harris II: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Mike Yastrzemski: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Austin Riley: H 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 | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN 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 | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=5; 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 | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Carlos Jorge: 2B current=0 box=1, R current=0 box=1, HBP current=0 box=1; Tyler Stephenson: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Sal Stewart: 2B current=0 box=1, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Héctor Rodríguez: RBI current=0 box=1, R current=0 box=1; Elly De La Cruz: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; JJ Bleday: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=0; Eugenio Suárez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2; Ke'Bryan Hayes: AB current=3 box=4, H 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 | 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: 1. | |||
| 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: 9. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match CIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=34 matches CIN BF=34. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match ATL pitching: 5. | |||
| 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: 7. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match ATL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=41 matches ATL BF=41. | |||
| 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.664 -> 0.610 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.6636, 'sample_size': 277, 'empirical_hit_rate': 0.556, 'empirical_weight': 0.5, 'blended_confidence': 0.6098, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 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.525/0.713. | |||||
| 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: CIN 7, ATL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CIN 5 - ATL 7. | |||||
| 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=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': 'ATL', 'opponent_team': 'CIN', 'h2h_net_margin': -5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'ATL'}, {'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'}], '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': '20260923', 'away': 'CIN', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'ATL', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260923_CIN@ATL.json', 'verification': 'pregame_official_final'}, {'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': 7, 'score_text': 'CIN 5 - 7 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'CIN 5 - 7 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.032, 'recent_form_edge_home_minus_away': 0.59, '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': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'ATL', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'ATL', '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': 1.445, 'winner': 'ATL', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 5, 'sample_weight': 0.0577, 'home_net_margin': 3.0, 'absolute_net_margin': 3.0, 'home_average_margin': 0.6, 'home_run_delta': 0.0173, 'away_run_delta': -0.0173, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'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': 5, 'away_runs': 5, 'probability': 0.016224951656900445}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015948593655984826}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01590082795095461}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015629990717146262}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.015120323220516284}], 'home_distribution': {'0': 0.03604593422849962, '1': 0.054930308982711055, '2': 0.07668041295368055, '3': 0.0980558456124846, '4': 0.11486274229876531, '5': 0.1232541403908459, '6': 0.12115476477708245, '7': 0.10909280926428529, '8': 0.08998464285894701, '9': 0.06799192141651622, '10': 0.04706118693564033, '11': 0.02983905627934505, '12': 0.017331012516079877, '13': 0.009221029965428456, '14': 0.004494191519688387}, 'away_distribution': {'0': 0.0442746536825632, '1': 0.06709376889586595, '2': 0.09210185310988935, '3': 0.11452853691023365, '4': 0.12900846900990245, '5': 0.13163818761341567, '6': 0.12167594605501665, '7': 0.10187948321475972, '8': 0.07727302241776755, '9': 0.053091895354141494, '10': 0.033043628009266295, '11': 0.018629722396260675, '12': 0.009514461363446778, '13': 0.004401707651391655, '14': 0.0018446643160787504}, '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.943, 'recent_quality_edge': 0.52, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.445} | ||||
| 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': 'CIN 5 - 7 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'CIN 5 - 7 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.032, 'recent_form_edge_home_minus_away': 0.59, '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': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'ATL', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'ATL', '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': 1.445, 'winner': 'ATL', '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: 134. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| 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: 164. | |||
| 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: 134. | |||
| 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 - 7 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CIN 5 - 7 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 7-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 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL 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: ATL wins 7-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: 1. | |||
| 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: 9. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match CIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=34 matches CIN BF=34. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match ATL pitching: 5. | |||
| 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: 7. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match ATL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=41 matches ATL BF=41. | |||
| 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.664 -> 0.610 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.6636, 'sample_size': 277, 'empirical_hit_rate': 0.556, 'empirical_weight': 0.5, 'blended_confidence': 0.6098, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 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.525/0.713. | |||||
| 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: CIN 7, ATL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CIN 5 - ATL 7. | |||||
| 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=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': 'ATL', 'opponent_team': 'CIN', 'h2h_net_margin': -5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'ATL'}, {'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'}], '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': '20260923', 'away': 'CIN', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'ATL', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260923_CIN@ATL.json', 'verification': 'pregame_official_final'}, {'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': 7, 'score_text': 'CIN 5 - 7 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'CIN 5 - 7 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.032, 'recent_form_edge_home_minus_away': 0.59, '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': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'ATL', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'ATL', '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': 1.445, 'winner': 'ATL', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 5, 'sample_weight': 0.0577, 'home_net_margin': 3.0, 'absolute_net_margin': 3.0, 'home_average_margin': 0.6, 'home_run_delta': 0.0173, 'away_run_delta': -0.0173, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'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': 5, 'away_runs': 5, 'probability': 0.016224951656900445}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.015948593655984826}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01590082795095461}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.015629990717146262}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.015120323220516284}], 'home_distribution': {'0': 0.03604593422849962, '1': 0.054930308982711055, '2': 0.07668041295368055, '3': 0.0980558456124846, '4': 0.11486274229876531, '5': 0.1232541403908459, '6': 0.12115476477708245, '7': 0.10909280926428529, '8': 0.08998464285894701, '9': 0.06799192141651622, '10': 0.04706118693564033, '11': 0.02983905627934505, '12': 0.017331012516079877, '13': 0.009221029965428456, '14': 0.004494191519688387}, 'away_distribution': {'0': 0.0442746536825632, '1': 0.06709376889586595, '2': 0.09210185310988935, '3': 0.11452853691023365, '4': 0.12900846900990245, '5': 0.13163818761341567, '6': 0.12167594605501665, '7': 0.10187948321475972, '8': 0.07727302241776755, '9': 0.053091895354141494, '10': 0.033043628009266295, '11': 0.018629722396260675, '12': 0.009514461363446778, '13': 0.004401707651391655, '14': 0.0018446643160787504}, '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.943, 'recent_quality_edge': 0.52, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.445} | ||||
| 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': 'CIN 5 - 7 ATL', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 7, 'score_text': 'CIN 5 - 7 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.032, 'recent_form_edge_home_minus_away': 0.59, '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': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'ATL', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'ATL', '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': 1.445, 'winner': 'ATL', '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: 134. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| 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: 164. | |||
| 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: 134. | |||
| 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 - 7 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CIN 5 - 7 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 7-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 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL 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: ATL wins 7-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 pitcher projections differ from final simulation pitching box score (BB: current=4, sim=5). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=5, sim=7; BB: current=3, sim=1; 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 | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: 2B current=0 box=1, BB current=1 box=0, SO current=1 box=2; Mauricio Dubón: 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Matt Olson: RBI current=1 box=2, BB current=1 box=0; Ozzie Albies: H current=1 box=2, RBI current=0 box=1; Ronald Acuña Jr.: AB current=4 box=3, RBI current=1 box=0; Michael Harris II: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Mike Yastrzemski: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Austin Riley: H 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 | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN 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 | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=5; 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 | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Carlos Jorge: 2B current=0 box=1, R current=0 box=1, HBP current=0 box=1; Tyler Stephenson: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Sal Stewart: 2B current=0 box=1, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Héctor Rodríguez: RBI current=0 box=1, R current=0 box=1; Elly De La Cruz: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; JJ Bleday: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=0; Eugenio Suárez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2; Ke'Bryan Hayes: AB current=3 box=4, H 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 | 3.757130488075151 | 5.678527974623611 | Base ML historical model prediction | |
| variance_applied | 4 | 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 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CIN | 0 | 0 | 1 | 0 | 4 | 0 | 0 | 0 | 0 | 5 | 7 |
| ATL | 2 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 | 7 | 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 | CIN | batting | 33 | 8 | 1 | 0 | 1 | 4 | 3 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | CIN | pitching | 9 | 2 | 7 | 1 | 10 | 8.0 | 6 | 0 | 0 | |||||||||
| current | ATL | batting | 33 | 9 | 1 | 0 | 1 | 4 | 5 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | ATL | pitching | 7 | 0 | 5 | 4 | 4 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | CIN | batting | 34 | 7 | 4 | 0 | 0 | 5 | 5 | 5 | 4 | 0 | 2 | |||||||
| simulation | CIN | pitching | 9 | 2 | 7 | 1 | 10 | 8.0 | 7 | 34 | 134 | |||||||||
| simulation | ATL | batting | 33 | 9 | 1 | 1 | 2 | 7 | 7 | 1 | 10 | 0 | 0 | |||||||
| simulation | ATL | pitching | 7 | 0 | 5 | 5 | 4 | 9.0 | 5 | 41 | 164 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CIN | CF | Carlos Jorge | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CIN | C | Tyler Stephenson | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | 1B | Sal Stewart | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CIN | RF | Héctor Rodríguez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CIN | SS | Elly De La Cruz | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | LF | JJ Bleday | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CIN | DH | Eugenio Suárez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 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 | CIN | 2B | Matt McLain | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | DH | Drake Baldwin | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | SS | Mauricio Dubón | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | ATL | 1B | Matt Olson | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | 2B | Ozzie Albies | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | ATL | RF | Ronald Acuña Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | CF | Michael Harris II | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | LF | Mike Yastrzemski | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | 3B | Austin Riley | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | C | Sean Murphy | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | CIN | 1 | CF | Carlos Jorge | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0.250 |
| simulation | CIN | 2 | SS | Elly De La Cruz | 5 | 5 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.200 |
| simulation | CIN | 3 | 1B | Sal Stewart | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | CIN | 4 | C | Tyler Stephenson | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.000 |
| simulation | CIN | 5 | LF | JJ Bleday | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0.000 |
| simulation | CIN | 6 | DH | Eugenio Suárez | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | CIN | 7 | RF | Héctor Rodríguez | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 8 | 2B | Matt McLain | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | CIN | 9 | 3B | Ke'Bryan Hayes | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | ATL | 1 | DH | Drake Baldwin | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | ATL | 2 | RF | Ronald Acuña Jr. | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | ATL | 3 | 1B | Matt Olson | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 4 | CF | Michael Harris II | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | ATL | 5 | SS | Mauricio Dubón | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | ATL | 6 | 2B | Ozzie Albies | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | ATL | 7 | LF | Mike Yastrzemski | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 8 | 3B | Austin Riley | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 9 | C | Sean Murphy | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | CIN | 1 | Brady Singer | Starter | 4.0 | 7 | 5 | 4 | 1 | 7 | 1 | 0 | 0 | 9.00 | 5.67 | 1.56 |
| current | CIN | 2 | Brock Burke | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.33 | 1.27 |
| current | CIN | 3 | Emilio Pagán | Closer | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 13.50 | 3.46 | 1.03 |
| current | CIN | 6 | Luis Mey | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 5.79 | 1.65 |
| current | ATL | 1 | Tyler Mahle | Starter | 6.0 | 6 | 4 | 4 | 4 | 2 | 0 | 0 | 0 | 6.00 | 3.81 | 1.22 |
| current | ATL | 2 | Didier Fuentes | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.26 | 1.05 |
| current | ATL | 3 | Dylan Lee | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 2.86 | 0.91 |
| current | ATL | 4 | Raisel Iglesias | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.59 | 1.08 |
| simulation | CIN | 1 | Brady Singer | Starter | 4.0 | 7 | 5 | 5 | 1 | 7 | 1 | 20 | 77 | 11.25 | 5.67 | 1.56 |
| simulation | CIN | 2 | Emilio Pagán | Closer | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 6 | 23 | 13.50 | 3.46 | 1.03 |
| simulation | CIN | 3 | Luis Mey | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 5.79 | 1.65 |
| simulation | CIN | 4 | Brock Burke | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 21 | 0.00 | 2.33 | 1.27 |
| simulation | ATL | 1 | Tyler Mahle | Starter | 6.0 | 6 | 4 | 4 | 4 | 2 | 0 | 30 | 118 | 6.00 | 3.81 | 1.22 |
| simulation | ATL | 2 | Raisel Iglesias | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.59 | 1.08 |
| simulation | ATL | 3 | Dylan Lee | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 4 | 16 | 9.00 | 2.86 | 0.91 |
| simulation | ATL | 4 | Didier Fuentes | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 2.26 | 1.05 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CIN | Brady Singer | Starter | 4.0 | 5 | 7 | 1 | 7 | 20 | 77 |
| CIN | Brock Burke | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 1 | 5 | 21 |
| CIN | Emilio Pagán | Closer | 1.1 | 2 | 2 | 0 | 0 | 6 | 23 |
| CIN | Luis Mey | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| ATL | Tyler Mahle | Starter | 6.0 | 4 | 6 | 4 | 2 | 30 | 118 |
| ATL | Didier Fuentes | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| ATL | Dylan Lee | Setup Man | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| ATL | Raisel Iglesias | Closer | 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 | 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. |
20260924_CLE@BOS
20260924_CLE@BOS.json • 2026-09-24
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=32, sim=34; H: current=8, sim=7; 3B: current=0, sim=1; RBI: current=4, sim=2; R: current=5, sim=2). | 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: AB current=4 box=5, H current=1 box=0, BB current=1 box=0; Mickey Gasper: AB current=3 box=2, H current=1 box=2, 2B current=0 box=2, HR current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Wilyer Abreu: 2B current=1 box=0, HR current=0 box=1, BB current=1 box=0, SO current=1 box=2; Caleb Durbin: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=0 box=1; Isiah Kiner-Falefa: AB current=3 box=4, H current=0 box=1; Ceddanne Rafaela: R current=0 box=1, SO current=1 box=2; Jarren Duran: AB current=3 box=4, 3B current=0 box=1, 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 | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (H: current=8, sim=5; 2B: current=2, sim=1; HR: current=1, sim=2; 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 | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Jo Adell: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; David Fry: AB current=3 box=2, BB current=0 box=2; José Ramírez: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Angel Martínez: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Chase DeLauter: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Travis Bazzana: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Patrick Bailey: 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 | 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: 3. | |||
| 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: 7. | |||
| 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=37 matches CLE BF=37. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match BOS pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match BOS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match BOS pitching: 5. | |||
| 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=36 matches BOS BF=36. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.525 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': 515, 'empirical_hit_rate': 0.5398, 'empirical_weight': 0.5, 'blended_confidence': 0.52495, 'published_confidence': 0.50619, '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 | cross_schema | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE 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.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.494. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.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.525/0.713. | |||||
| 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: CLE 5, BOS 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CLE 4 - BOS 2. | |||||
| 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.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', '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': 'CLE', 'opponent_team': 'BOS', 'h2h_net_margin': -5, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 0, 'opponent_runs': 1, 'margin_for_predicted_team': -1, 'winner': 'BOS'}, {'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'}], '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': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'CLE', 'home': 'BOS', 'game_number': 1, 'predicted_team': 'CLE', 'actual_winner': 'BOS', 'actual_margin': 1, 'raw_pick_probability': 0.505259, 'artifact': '20260923_CLE@BOS.json', 'verification': 'pregame_official_final'}, {'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': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.014, 'recent_form_edge_home_minus_away': -0.41, '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': 2, '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': 2, 'published_winner': 'CLE', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'CLE', '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': 4, 'home_runs': 2}, 'simulation_score': {'away_runs': 4, 'home_runs': 2}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.1714, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, 'home_runs': 2, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 5, 'sample_weight': 0.0577, 'home_net_margin': 12.0, 'absolute_net_margin': 12.0, 'home_average_margin': 2.4, 'home_run_delta': 0.0692, 'away_run_delta': -0.0692, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'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': 3, 'away_runs': 3, 'probability': 0.030435048036703844}, {'home_runs': 2, 'away_runs': 3, 'probability': 0.028713710154834843}, {'home_runs': 3, 'away_runs': 2, 'probability': 0.0283213963507499}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.027947185636948924}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.027414073278234342}], 'home_distribution': {'0': 0.09072069864660767, '1': 0.13315616195766497, '2': 0.1660852443341064, '3': 0.17604177106472216, '4': 0.15856791177652801, '5': 0.12137515094944164, '6': 0.0789512767527257, '7': 0.04364187795410014, '8': 0.020500412589860167, '9': 0.008183454486736354, '10': 0.002776039487506855}, 'away_distribution': {'0': 0.08691496285519837, '1': 0.12792174103305415, '2': 0.16087884244437348, '3': 0.1728853774455287, '4': 0.15875314970941798, '5': 0.12456361318757192, '6': 0.0835150609401148, '7': 0.0478457278855756, '8': 0.023422124658549936, '9': 0.009797475105925485, '10': 0.0035019247346895583}, '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.5222, 'recent_quality_edge': -0.48, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.1714} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.014, 'recent_form_edge_home_minus_away': -0.41, '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': 2, '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': 2, 'published_winner': 'CLE', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'CLE', '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': 4, 'home_runs': 2}, 'simulation_score': {'away_runs': 4, 'home_runs': 2}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.1714, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, 'home_runs': 2, '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: 164. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| 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: 150. | |||
| 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: 164. | |||
| 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 | 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: 9.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: 9.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 4 - 2 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CLE 4 - 2 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CLE wins 4-2. | |||||
| 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.506. | |||||
| 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): CLE wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CLE wins 4-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-2. | |||||
| 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-2, final 4-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CLE wins 4-2. | |||||
| 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: 3. | |||
| 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: 7. | |||
| 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=37 matches CLE BF=37. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match BOS pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match BOS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match BOS pitching: 5. | |||
| 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=36 matches BOS BF=36. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.525 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': 515, 'empirical_hit_rate': 0.5398, 'empirical_weight': 0.5, 'blended_confidence': 0.52495, 'published_confidence': 0.50619, '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 | cross_schema | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE 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.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.494. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.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.525/0.713. | |||||
| 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: CLE 5, BOS 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CLE 4 - BOS 2. | |||||
| 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.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', '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': 'CLE', 'opponent_team': 'BOS', 'h2h_net_margin': -5, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 0, 'opponent_runs': 1, 'margin_for_predicted_team': -1, 'winner': 'BOS'}, {'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'}], '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': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'CLE', 'home': 'BOS', 'game_number': 1, 'predicted_team': 'CLE', 'actual_winner': 'BOS', 'actual_margin': 1, 'raw_pick_probability': 0.505259, 'artifact': '20260923_CLE@BOS.json', 'verification': 'pregame_official_final'}, {'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': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.014, 'recent_form_edge_home_minus_away': -0.41, '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': 2, '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': 2, 'published_winner': 'CLE', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'CLE', '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': 4, 'home_runs': 2}, 'simulation_score': {'away_runs': 4, 'home_runs': 2}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.1714, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, 'home_runs': 2, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 5, 'sample_weight': 0.0577, 'home_net_margin': 12.0, 'absolute_net_margin': 12.0, 'home_average_margin': 2.4, 'home_run_delta': 0.0692, 'away_run_delta': -0.0692, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'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': 3, 'away_runs': 3, 'probability': 0.030435048036703844}, {'home_runs': 2, 'away_runs': 3, 'probability': 0.028713710154834843}, {'home_runs': 3, 'away_runs': 2, 'probability': 0.0283213963507499}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.027947185636948924}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.027414073278234342}], 'home_distribution': {'0': 0.09072069864660767, '1': 0.13315616195766497, '2': 0.1660852443341064, '3': 0.17604177106472216, '4': 0.15856791177652801, '5': 0.12137515094944164, '6': 0.0789512767527257, '7': 0.04364187795410014, '8': 0.020500412589860167, '9': 0.008183454486736354, '10': 0.002776039487506855}, 'away_distribution': {'0': 0.08691496285519837, '1': 0.12792174103305415, '2': 0.16087884244437348, '3': 0.1728853774455287, '4': 0.15875314970941798, '5': 0.12456361318757192, '6': 0.0835150609401148, '7': 0.0478457278855756, '8': 0.023422124658549936, '9': 0.009797475105925485, '10': 0.0035019247346895583}, '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.5222, 'recent_quality_edge': -0.48, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.1714} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 BOS', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 2, 'score_text': 'CLE 4 - 2 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': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.014, 'recent_form_edge_home_minus_away': -0.41, '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': 2, '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': 2, 'published_winner': 'CLE', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'CLE', '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': 4, 'home_runs': 2}, 'simulation_score': {'away_runs': 4, 'home_runs': 2}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': -0.1714, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, 'home_runs': 2, '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: 164. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| 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: 150. | |||
| 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: 164. | |||
| 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 | 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: 9.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: 9.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 4 - 2 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CLE 4 - 2 BOS. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CLE wins 4-2. | |||||
| 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.506. | |||||
| 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): CLE wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CLE wins 4-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-2. | |||||
| 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-2, final 4-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CLE wins 4-2. | |||||
| 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=32, sim=34; H: current=8, sim=7; 3B: current=0, sim=1; RBI: current=4, sim=2; R: current=5, sim=2). | 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: AB current=4 box=5, H current=1 box=0, BB current=1 box=0; Mickey Gasper: AB current=3 box=2, H current=1 box=2, 2B current=0 box=2, HR current=1 box=0; Adley Rutschman: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Wilyer Abreu: 2B current=1 box=0, HR current=0 box=1, BB current=1 box=0, SO current=1 box=2; Caleb Durbin: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=0 box=1; Isiah Kiner-Falefa: AB current=3 box=4, H current=0 box=1; Ceddanne Rafaela: R current=0 box=1, SO current=1 box=2; Jarren Duran: AB current=3 box=4, 3B current=0 box=1, 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 | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (H: current=8, sim=5; 2B: current=2, sim=1; HR: current=1, sim=2; 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 | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Jo Adell: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; David Fry: AB current=3 box=2, BB current=0 box=2; José Ramírez: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Angel Martínez: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Chase DeLauter: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Travis Bazzana: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Patrick Bailey: 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 | 4.5574637701130385 | 4.208693786994984 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 3 | 0.506 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 2 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 2 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 2 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 2 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 4 | 5 |
| BOS | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 2 | 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 | CLE | batting | 32 | 8 | 2 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | CLE | pitching | 7 | 1 | 2 | 3 | 8 | 9.0 | 2 | 0 | 0 | |||||||||
| current | BOS | batting | 32 | 8 | 2 | 0 | 1 | 4 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | BOS | pitching | 5 | 2 | 4 | 4 | 7 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | CLE | batting | 32 | 5 | 1 | 0 | 2 | 4 | 4 | 4 | 7 | 0 | 0 | |||||||
| simulation | CLE | pitching | 7 | 1 | 2 | 3 | 8 | 9.0 | 2 | 37 | 164 | |||||||||
| simulation | BOS | batting | 34 | 7 | 2 | 1 | 1 | 2 | 2 | 3 | 8 | 0 | 0 | |||||||
| simulation | BOS | pitching | 5 | 2 | 4 | 4 | 7 | 9.0 | 4 | 36 | 150 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CLE | CF | Steven Kwan | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 | |
| current | CLE | DH | Jo Adell | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CLE | 1B | David Fry | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CLE | 3B | José Ramírez | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CLE | LF | Angel Martínez | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CLE | RF | Chase DeLauter | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CLE | 2B | Travis Bazzana | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| 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 | 0 | 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 | DH | Mickey Gasper | 0 | 3 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BOS | C | Adley Rutschman | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BOS | RF | Wilyer Abreu | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BOS | 3B | Caleb Durbin | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BOS | 2B | Isiah Kiner-Falefa | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BOS | CF | Ceddanne Rafaela | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | LF | Jarren Duran | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BOS | SS | Trevor Story | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| simulation | CLE | 1 | CF | Steven Kwan | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | CLE | 2 | 3B | José Ramírez | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | CLE | 3 | RF | Chase DeLauter | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | CLE | 4 | DH | Jo Adell | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | CLE | 5 | LF | Angel Martínez | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CLE | 6 | 1B | David Fry | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | CLE | 7 | 2B | Travis Bazzana | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | CLE | 8 | C | Patrick Bailey | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CLE | 9 | SS | Brayan Rocchio | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | BOS | 1 | 1B | Nick Sogard | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BOS | 2 | DH | Mickey Gasper | 4 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1.000 |
| simulation | BOS | 3 | C | Adley Rutschman | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 4 | RF | Wilyer Abreu | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | BOS | 5 | 3B | Caleb Durbin | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BOS | 6 | CF | Ceddanne Rafaela | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | BOS | 7 | LF | Jarren Duran | 4 | 4 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 8 | SS | Trevor Story | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BOS | 9 | 2B | Isiah Kiner-Falefa | 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 | CLE | 1 | Daniel Espino | Starter | 3.0 | 6 | 2 | 2 | 1 | 6 | 1 | 0 | 0 | 6.00 | 4.72 | 1.43 |
| current | CLE | 2 | Cade Smith | Closer | 2.0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0.00 | 1.99 | 0.98 |
| current | CLE | 3 | Hunter Gaddis | Setup Man | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.62 | 1.17 |
| current | CLE | 5 | Erik Sabrowski | Middle Reliever (High Leverage) | 2.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.53 | 1.06 |
| current | BOS | 1 | Ranger Suarez | Starter | 5.2 | 2 | 1 | 1 | 3 | 5 | 0 | 0 | 0 | 1.59 | 3.27 | 1.20 |
| current | BOS | 2 | Aroldis Chapman | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 6.75 | 1.39 | 1.05 |
| current | BOS | 3 | Erik Miller | Setup Man | 1.0 | 2 | 2 | 2 | 1 | 1 | 1 | 0 | 0 | 18.00 | 2.86 | 1.35 |
| current | BOS | 4 | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.72 | 0.90 |
| simulation | CLE | 1 | Daniel Espino | Starter | 3.0 | 6 | 2 | 2 | 1 | 6 | 1 | 16 | 72 | 6.00 | 4.72 | 1.43 |
| simulation | CLE | 2 | Cade Smith | Closer | 2.0 | 0 | 0 | 0 | 2 | 1 | 0 | 8 | 39 | 0.00 | 1.99 | 0.98 |
| simulation | CLE | 3 | Hunter Gaddis | Setup Man | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 25 | 0.00 | 2.62 | 1.17 |
| simulation | CLE | 4 | Erik Sabrowski | Middle Reliever (High Leverage) | 2.0 | 1 | 0 | 0 | 0 | 0 | 0 | 7 | 28 | 0.00 | 2.53 | 1.06 |
| simulation | BOS | 1 | Ranger Suarez | Starter | 5.2 | 2 | 1 | 1 | 3 | 5 | 0 | 22 | 94 | 1.59 | 3.27 | 1.20 |
| simulation | BOS | 2 | Aroldis Chapman | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 5 | 20 | 6.75 | 1.39 | 1.05 |
| simulation | BOS | 3 | Erik Miller | Setup Man | 1.0 | 2 | 2 | 2 | 1 | 1 | 1 | 6 | 23 | 18.00 | 2.86 | 1.35 |
| simulation | BOS | 4 | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 1.72 | 0.90 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CLE | Daniel Espino | Starter | 3.0 | 2 | 6 | 1 | 6 | 16 | 72 |
| CLE | Cade Smith | Closer | 2.0 | 0 | 0 | 2 | 1 | 8 | 39 |
| CLE | Hunter Gaddis | Setup Man | 2.0 | 0 | 0 | 0 | 1 | 6 | 25 |
| CLE | Erik Sabrowski | Middle Reliever (High Leverage) | 2.0 | 0 | 1 | 0 | 0 | 7 | 28 |
| BOS | Ranger Suarez | Starter | 5.2 | 1 | 2 | 3 | 5 | 22 | 94 |
| BOS | Aroldis Chapman | Closer | 1.1 | 1 | 1 | 0 | 0 | 5 | 20 |
| BOS | Erik Miller | Setup Man | 1.0 | 2 | 2 | 1 | 1 | 6 | 23 |
| BOS | Garrett Whitlock | Middle Reliever (High Leverage) | 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. |
20260924_HOU@OAK
20260924_HOU@OAK.json • 2026-09-24
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 | 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 | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=41; H: current=9, sim=11; 2B: current=2, sim=4; HR: current=2, sim=1; RBI: current=5, sim=7; R: current=4, sim=7; BB: current=4, sim=1; SO: current=7, sim=13). | 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: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2, SO current=1 box=2; Yainer Diaz: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Isaac Paredes: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Christian Walker: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=4; Lucas Spence: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=0 box=1; Jose Altuve: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1; Jeremy Peña: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Christian Vázquez: AB current=3 box=4, R current=0 box=1, SO 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 | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK 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 | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=42; H: current=9, sim=12; 2B: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=2; SO: current=7, sim=15; 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: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Henry Bolte: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0, BB current=1 box=0; Jeff McNeil: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Carlos Cortes: AB current=3 box=5, SO current=0 box=2; Joshua Kuroda-Grauer: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Lawrence Butler: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Donovan Walton: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Zack Gelof: AB current=4 box=5, H current=1 box=2, RBI 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 | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK 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 | OAK | BATTING_TOTALS_SUM | current:OAK 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 | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match OAK pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match OAK pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=42 matches OAK BF=42. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match HOU pitching: 15. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=45 matches HOU BF=45. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.730 -> 0.639 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.730339, 'sample_size': 225, 'empirical_hit_rate': 0.5467, 'empirical_weight': 0.5, 'blended_confidence': 0.638519, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU 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 | 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.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.477/0.657. | |||||
| 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: HOU 11, OAK 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 7 - OAK 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: HOU. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for HOU; 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': 'HOU', 'opponent_team': 'OAK', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-08-23', 'predicted_team_runs': 6, 'opponent_runs': 7, 'margin_for_predicted_team': -1, 'winner': 'OAK'}, {'date': '2026-08-22', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'OAK'}, {'date': '2026-08-21', 'predicted_team_runs': 4, 'opponent_runs': 0, 'margin_for_predicted_team': 4, 'winner': 'HOU'}], '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': 0, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260823', 'away': 'OAK', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'OAK', 'actual_winner': 'OAK', 'actual_margin': 1, 'raw_pick_probability': 0.505, 'artifact': '20260823_OAK@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260822', 'away': 'OAK', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'OAK', 'actual_margin': 1, 'raw_pick_probability': 0.554445, 'artifact': '20260822_OAK@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260821', 'away': 'OAK', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 4, 'raw_pick_probability': 0.51, 'artifact': '20260821_OAK@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'HOU', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'HOU', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'HOU', 'final_score_winner': 'HOU', 'pre_simulation_winner': 'HOU', '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': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, '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.0496, 'recent_form_edge_home_minus_away': -0.162, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'HOU', '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': 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.8484, 'winner': 'HOU', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_HOU@OAK. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@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': -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': 1.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': -11.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': 7, 'probability': 0.013443821412242424}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.013241344590881379}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.013103894614172103}, {'home_runs': 6, 'away_runs': 6, 'probability': 0.012906537415830302}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.012736520503298092}], 'home_distribution': {'0': 0.03716383729862856, '1': 0.05659049052478432, '2': 0.07881653106857904, '3': 0.10040194457399418, '4': 0.11698168746868688, '5': 0.1246650136969811, '6': 0.12151286092449504, '7': 0.10833052624955058, '8': 0.08833451103189752, '9': 0.06588111119067933, '10': 0.0449409627239228, '11': 0.028039791332623795, '12': 0.016001405566369545, '13': 0.008352037547030936, '14': 0.003987288801776334}, 'away_distribution': {'0': 0.022663625422882402, '1': 0.03485744299977399, '2': 0.0500263809007776, '3': 0.06699464074711861, '4': 0.08371792530962335, '5': 0.09761898082610974, '6': 0.10621540236675105, '7': 0.10783956952766116, '8': 0.10216595759782539, '9': 0.09031745509805258, '10': 0.0745031424548283, '11': 0.05734755517968684, '12': 0.04119008063903058, '13': 0.027606273982658452, '14': 0.01726475274576977, '15': 0.010075122833950116, '16': 0.005486277285282192, '17': 0.00278767779211843, '18': 0.0013217362900993892}, '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.1804, 'recent_quality_edge': -0.232, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.8484} | ||||
| 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': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, '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.0496, 'recent_form_edge_home_minus_away': -0.162, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'HOU', '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': 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.8484, 'winner': 'HOU', '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: 186. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| 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: 186. | |||
| 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: 171. | |||
| 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 | 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 | 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 | 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 | 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 | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU 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 | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU 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: 10.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: HOU 7 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 7 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: HOU wins 7-5 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=HOU, simulation=HOU, published=HOU. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| 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: 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): HOU wins 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: HOU 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: HOU wins 7-5 (Extra Innings - 10). | |||||
| 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 | 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 | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK 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 | OAK | BATTING_TOTALS_SUM | current:OAK 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 | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match OAK pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match OAK pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=42 matches OAK BF=42. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match HOU pitching: 15. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=45 matches HOU BF=45. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.730 -> 0.639 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.730339, 'sample_size': 225, 'empirical_hit_rate': 0.5467, 'empirical_weight': 0.5, 'blended_confidence': 0.638519, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU 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 | 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.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.477/0.657. | |||||
| 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: HOU 11, OAK 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 7 - OAK 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: HOU. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for HOU; 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': 'HOU', 'opponent_team': 'OAK', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-08-23', 'predicted_team_runs': 6, 'opponent_runs': 7, 'margin_for_predicted_team': -1, 'winner': 'OAK'}, {'date': '2026-08-22', 'predicted_team_runs': 3, 'opponent_runs': 4, 'margin_for_predicted_team': -1, 'winner': 'OAK'}, {'date': '2026-08-21', 'predicted_team_runs': 4, 'opponent_runs': 0, 'margin_for_predicted_team': 4, 'winner': 'HOU'}], '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': 0, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260823', 'away': 'OAK', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'OAK', 'actual_winner': 'OAK', 'actual_margin': 1, 'raw_pick_probability': 0.505, 'artifact': '20260823_OAK@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260822', 'away': 'OAK', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'OAK', 'actual_margin': 1, 'raw_pick_probability': 0.554445, 'artifact': '20260822_OAK@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260821', 'away': 'OAK', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 4, 'raw_pick_probability': 0.51, 'artifact': '20260821_OAK@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'HOU', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'HOU', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'HOU', 'final_score_winner': 'HOU', 'pre_simulation_winner': 'HOU', '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': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, '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.0496, 'recent_form_edge_home_minus_away': -0.162, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'HOU', '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': 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.8484, 'winner': 'HOU', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_HOU@OAK. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@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': -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': 1.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': -11.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': 7, 'probability': 0.013443821412242424}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.013241344590881379}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.013103894614172103}, {'home_runs': 6, 'away_runs': 6, 'probability': 0.012906537415830302}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.012736520503298092}], 'home_distribution': {'0': 0.03716383729862856, '1': 0.05659049052478432, '2': 0.07881653106857904, '3': 0.10040194457399418, '4': 0.11698168746868688, '5': 0.1246650136969811, '6': 0.12151286092449504, '7': 0.10833052624955058, '8': 0.08833451103189752, '9': 0.06588111119067933, '10': 0.0449409627239228, '11': 0.028039791332623795, '12': 0.016001405566369545, '13': 0.008352037547030936, '14': 0.003987288801776334}, 'away_distribution': {'0': 0.022663625422882402, '1': 0.03485744299977399, '2': 0.0500263809007776, '3': 0.06699464074711861, '4': 0.08371792530962335, '5': 0.09761898082610974, '6': 0.10621540236675105, '7': 0.10783956952766116, '8': 0.10216595759782539, '9': 0.09031745509805258, '10': 0.0745031424548283, '11': 0.05734755517968684, '12': 0.04119008063903058, '13': 0.027606273982658452, '14': 0.01726475274576977, '15': 0.010075122833950116, '16': 0.005486277285282192, '17': 0.00278767779211843, '18': 0.0013217362900993892}, '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.1804, 'recent_quality_edge': -0.232, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.8484} | ||||
| 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': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 5, 'score_text': 'HOU 7 - 5 OAK', 'winner': 'HOU'}, '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.0496, 'recent_form_edge_home_minus_away': -0.162, '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': 'HOU', 'model_winner': 'HOU', 'simulation_winner': 'HOU', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'HOU', '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': 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.8484, 'winner': 'HOU', '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: 186. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| 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: 186. | |||
| 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: 171. | |||
| 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 | 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 | 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 | 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 | 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 | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU 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 | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU 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: 10.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: HOU 7 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 7 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: HOU wins 7-5 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=HOU, simulation=HOU, published=HOU. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| 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: 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): HOU wins 7-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: HOU 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: HOU wins 7-5 (Extra Innings - 10). | |||||
| 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 | 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 | 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 | 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 | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=41; H: current=9, sim=11; 2B: current=2, sim=4; HR: current=2, sim=1; RBI: current=5, sim=7; R: current=4, sim=7; BB: current=4, sim=1; SO: current=7, sim=13). | 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: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2, SO current=1 box=2; Yainer Diaz: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Isaac Paredes: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Christian Walker: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=4; Lucas Spence: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=0 box=1; Jose Altuve: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1; Jeremy Peña: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Christian Vázquez: AB current=3 box=4, R current=0 box=1, SO 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 | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK 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 | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=42; H: current=9, sim=12; 2B: current=2, sim=3; R: current=4, sim=5; BB: current=3, sim=2; SO: current=7, sim=15; 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: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Henry Bolte: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0, BB current=1 box=0; Jeff McNeil: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Carlos Cortes: AB current=3 box=5, SO current=0 box=2; Joshua Kuroda-Grauer: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Lawrence Butler: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Donovan Walton: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Zack Gelof: AB current=4 box=5, H current=1 box=2, RBI 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.715862166826688 | 3.8038099980312245 | Base ML historical model prediction | |
| variance_applied | 6 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 7 | 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 | 10 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0 | 0 | 2 | 7 | 11 |
| OAK | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 1 | 5 | 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 | HOU | batting | 33 | 9 | 2 | 0 | 2 | 5 | 4 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | HOU | pitching | 12 | 1 | 5 | 2 | 15 | 9.0 | 5 | 0 | 0 | |||||||||
| current | OAK | batting | 32 | 9 | 2 | 0 | 1 | 5 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | OAK | pitching | 11 | 1 | 7 | 1 | 13 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | HOU | batting | 41 | 11 | 4 | 0 | 1 | 7 | 7 | 1 | 13 | 0 | 0 | |||||||
| simulation | HOU | pitching | 12 | 1 | 5 | 2 | 15 | 10.0 | 5 | 45 | 186 | |||||||||
| simulation | OAK | batting | 42 | 12 | 3 | 0 | 1 | 5 | 5 | 2 | 15 | 0 | 1 | |||||||
| simulation | OAK | pitching | 11 | 1 | 7 | 1 | 13 | 10.0 | 7 | 42 | 171 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | LF | Yordan Alvarez | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | HOU | DH | Yainer Diaz | 0 | 4 | 1 | 1 | 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 | 1B | Christian Walker | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | CF | Lucas Spence | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | HOU | 2B | Jose Altuve | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | HOU | SS | Jeremy Peña | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | C | Christian Vázquez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | HOU | RF | Cam Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | DH | Shea Langeliers | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 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 | 0 | 0 | 0.333 | |
| current | OAK | SS | Joshua Kuroda-Grauer | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | RF | Lawrence Butler | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | OAK | 2B | Donovan Walton | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.333 | |
| current | OAK | 3B | Zack Gelof | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | OAK | C | Jonah Heim | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | HOU | 1 | SS | Jeremy Peña | 5 | 5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | HOU | 2 | LF | Yordan Alvarez | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 2 | 0 | 0.250 |
| simulation | HOU | 3 | 3B | Isaac Paredes | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.400 |
| simulation | HOU | 4 | 2B | Jose Altuve | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.400 |
| simulation | HOU | 5 | DH | Yainer Diaz | 5 | 5 | 2 | 1 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.400 |
| simulation | HOU | 6 | 1B | Christian Walker | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.000 |
| simulation | HOU | 7 | RF | Cam Smith | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | HOU | 8 | CF | Lucas Spence | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.750 |
| simulation | HOU | 9 | C | Christian Vázquez | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | OAK | 1 | CF | Henry Bolte | 5 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | OAK | 2 | RF | Lawrence Butler | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.500 |
| simulation | OAK | 3 | DH | Shea Langeliers | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 3 | 0 | 0.400 |
| simulation | OAK | 4 | 1B | Jeff McNeil | 5 | 4 | 2 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 0 | 0.500 |
| simulation | OAK | 5 | 3B | Zack Gelof | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | OAK | 6 | 2B | Donovan Walton | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.000 |
| simulation | OAK | 7 | LF | Carlos Cortes | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | OAK | 8 | SS | Joshua Kuroda-Grauer | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.400 |
| simulation | OAK | 9 | C | Jonah Heim | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 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 | HOU | 1 | Peter Lambert | Starter | 5.2 | 4 | 1 | 1 | 1 | 9 | 0 | 0 | 0 | 1.59 | 3.70 | 1.23 |
| current | HOU | 2 | Logan VanWey | Setup Man | 1.1 | 4 | 2 | 2 | 0 | 2 | 1 | 0 | 0 | 13.50 | 1.74 | 0.87 |
| current | HOU | 3 | Josh Hader | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 0.81 | 0.69 |
| current | HOU | 4 | Bryan Abreu | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 1 | 2 | 0 | 0 | 0 | 9.00 | 3.82 | 1.32 |
| current | HOU | 7 | Bryan King | Reliever | 0.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | |||
| current | OAK | 1 | Mason Barnett | Starter | 3.2 | 6 | 4 | 3 | 1 | 4 | 1 | 0 | 0 | 7.36 | 7.16 | 1.75 |
| current | OAK | 2 | Scott Blewett | Middle Reliever (High Leverage) | 2.0 | 3 | 2 | 2 | 0 | 3 | 0 | 0 | 0 | 9.00 | 2.62 | 1.28 |
| current | OAK | 3 | Elvis Alvarado | Closer | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 6.75 | 3.74 | 1.25 |
| current | OAK | 4 | Hogan Harris | Setup Man | 1.2 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0.00 | 3.38 | 1.46 |
| current | OAK | 5 | Luis Medina | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.86 | 1.30 |
| simulation | HOU | 1 | Peter Lambert | Starter | 5.2 | 4 | 1 | 1 | 1 | 9 | 0 | 23 | 99 | 1.59 | 3.70 | 1.23 |
| simulation | HOU | 2 | Josh Hader | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 0.81 | 0.69 |
| simulation | HOU | 3 | Logan VanWey | Setup Man | 1.1 | 4 | 2 | 2 | 0 | 2 | 1 | 8 | 29 | 13.50 | 1.74 | 0.87 |
| simulation | HOU | 4 | Bryan Abreu | Middle Reliever (High Leverage) | 1.2 | 2 | 1 | 1 | 1 | 2 | 0 | 8 | 35 | 5.40 | 3.82 | 1.32 |
| simulation | HOU | 5 | Bryan King | Reliever | 0.1 | 1 | 1 | 1 | 0 | 1 | 0 | 2 | 7 | 27.00 | 4.32 | 1.39 |
| simulation | OAK | 1 | Mason Barnett | Starter | 3.2 | 6 | 4 | 4 | 1 | 4 | 1 | 18 | 76 | 9.82 | 7.16 | 1.75 |
| simulation | OAK | 2 | Elvis Alvarado | Closer | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 6 | 23 | 6.75 | 3.74 | 1.25 |
| simulation | OAK | 3 | Hogan Harris | Setup Man | 1.2 | 0 | 0 | 0 | 0 | 3 | 0 | 5 | 21 | 0.00 | 3.38 | 1.46 |
| simulation | OAK | 4 | Luis Medina | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 17 | 0.00 | 2.86 | 1.30 |
| simulation | OAK | 5 | Scott Blewett | Middle Reliever (High Leverage) | 2.0 | 3 | 2 | 2 | 0 | 3 | 0 | 9 | 34 | 9.00 | 2.62 | 1.28 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| HOU | Peter Lambert | Starter | 5.2 | 1 | 4 | 1 | 9 | 23 | 99 |
| HOU | Logan VanWey | Setup Man | 1.1 | 2 | 4 | 0 | 2 | 8 | 29 |
| HOU | Josh Hader | Closer | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| HOU | Bryan Abreu | Middle Reliever (High Leverage) | 1.2 | 1 | 2 | 1 | 2 | 8 | 35 |
| HOU | Bryan King | Reliever | 0.1 | 1 | 1 | 0 | 1 | 2 | 7 |
| OAK | Mason Barnett | Starter | 3.2 | 4 | 6 | 1 | 4 | 18 | 76 |
| OAK | Scott Blewett | Middle Reliever (High Leverage) | 2.0 | 2 | 3 | 0 | 3 | 9 | 34 |
| OAK | Elvis Alvarado | Closer | 1.1 | 1 | 2 | 0 | 1 | 6 | 23 |
| OAK | Hogan Harris | Setup Man | 1.2 | 0 | 0 | 0 | 3 | 5 | 21 |
| OAK | Luis Medina | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 2 | 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 | 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. |
20260924_LAA@SEA
20260924_LAA@SEA.json • 2026-09-24
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 | 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 | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=3, sim=4; R: current=3, sim=4; BB: current=2, sim=1; 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: Wade Meckler: H current=1 box=0, 2B current=1 box=0, BB current=1 box=0; Mike Trout: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Vaughn Grissom: RBI current=1 box=0; Moisés Ballesteros: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Josh Lowe: H current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Bryce Teodosio: AB current=3 box=4, SO current=1 box=2; Zach Neto: HR current=1 box=0, RBI current=0 box=2, SO current=2 box=1; Christian Moore: 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 | 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=29; H: current=8, sim=5; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=9, 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 | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: J.P. Crawford: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Dominic Canzone: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randy Arozarena: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Cal Raleigh: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0; Cole Young: AB current=4 box=3, R current=0 box=1; Julio Rodríguez: RBI current=1 box=0, SO current=1 box=0; Lazaro Montes: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Josh Naylor: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=3, 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 | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA 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 | SEA | BATTING_TOTALS_SUM | current:SEA 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 | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match SEA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match SEA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match SEA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match SEA pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=36 matches SEA BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match LAA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match LAA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match LAA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=32 matches LAA BF=32. | |||
| 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.692 -> 0.621 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.692256, 'sample_size': 229, 'empirical_hit_rate': 0.5502, 'empirical_weight': 0.5, 'blended_confidence': 0.621228, 'published_confidence': 0.56, '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 | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA 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 | 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.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 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.525/0.713. | |||||
| 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: LAA 7, SEA 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAA 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.56, reasons=recent head-to-head is split and volatile; 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', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'SEA', 'opponent_team': 'LAA', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'SEA'}, {'date': '2026-09-15', 'predicted_team_runs': 1, 'opponent_runs': 2, 'margin_for_predicted_team': -1, 'winner': 'LAA'}, {'date': '2026-09-14', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'LAA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 6, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'SEA', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'SEA', 'actual_margin': 5, 'raw_pick_probability': 0.505216, 'artifact': '20260916_SEA@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'SEA', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.53, 'artifact': '20260915_SEA@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260914', 'away': 'SEA', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'LAA', 'actual_margin': 2, 'raw_pick_probability': 0.527588, 'artifact': '20260914_SEA@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260702', 'away': 'LAA', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.64, 'artifact': '20260702_LAA@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260630', 'away': 'LAA', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'SEA', 'actual_margin': 5, 'raw_pick_probability': 0.5445139999999999, 'artifact': '20260630_LAA@SEA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'LAA', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'LAA', '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': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'LAA 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'LAA 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.1394, 'recent_form_edge_home_minus_away': 0.614, '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': 6, 'published_winner': 'SEA', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'SEA', '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.4043, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_LAA@SEA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAA@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': 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': 5.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -2.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': 4, 'probability': 0.017910381022075355}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.017859751424455103}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.0172327038371028}, {'home_runs': 6, 'away_runs': 3, 'probability': 0.01718398991749907}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.016496199644683237}], 'home_distribution': {'0': 0.03406694041287963, '1': 0.051982288625744166, '2': 0.07284962584698108, '3': 0.09376676196006999, '4': 0.11084603833671716, '5': 0.12034861508468961, '6': 0.12000841004112396, '7': 0.10990866450249531, '8': 0.09244892032547052, '9': 0.0714202589111521, '10': 0.05067463868894591, '11': 0.03302247083998893, '12': 0.01976414965696672, '13': 0.010864165331267732, '14': 0.005484843778427619, '15': 0.0025432076570796845}, 'away_distribution': {'0': 0.0613894153703072, '1': 0.09196598188015676, '2': 0.1219645137221095, '3': 0.14318988070594832, '4': 0.14882083195948517, '5': 0.13692655792780714, '6': 0.11152807749454892, '7': 0.08041800649596394, '8': 0.051332799800363184, '9': 0.029007424033095596, '10': 0.014510953049904947, '11': 0.006426215309727206, '12': 0.0025193422505820737}, '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.3291, 'recent_quality_edge': 0.544, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.4043} | ||||
| 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': 'LAA 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'LAA 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.1394, 'recent_form_edge_home_minus_away': 0.614, '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': 6, 'published_winner': 'SEA', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'SEA', '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.4043, '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: 131. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 148. | |||||
| 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: 131. | |||
| 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: 148. | |||
| 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 | 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 | 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 | 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 | 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 | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA 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 | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA 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: 9.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: LAA 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAA 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 5-4. | |||||
| 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.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: 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): 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. | |||||
| 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 | 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: 4/10 = 0.400. |
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 | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA 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 | SEA | BATTING_TOTALS_SUM | current:SEA 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 | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match SEA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match SEA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match SEA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match SEA pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=36 matches SEA BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match LAA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match LAA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match LAA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=32 matches LAA BF=32. | |||
| 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.692 -> 0.621 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.692256, 'sample_size': 229, 'empirical_hit_rate': 0.5502, 'empirical_weight': 0.5, 'blended_confidence': 0.621228, 'published_confidence': 0.56, '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 | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA 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 | 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.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 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.525/0.713. | |||||
| 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: LAA 7, SEA 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAA 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.56, reasons=recent head-to-head is split and volatile; 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', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'SEA', 'opponent_team': 'LAA', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-16', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'SEA'}, {'date': '2026-09-15', 'predicted_team_runs': 1, 'opponent_runs': 2, 'margin_for_predicted_team': -1, 'winner': 'LAA'}, {'date': '2026-09-14', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'LAA'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 6, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260916', 'away': 'SEA', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'SEA', 'actual_margin': 5, 'raw_pick_probability': 0.505216, 'artifact': '20260916_SEA@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260915', 'away': 'SEA', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.53, 'artifact': '20260915_SEA@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260914', 'away': 'SEA', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'LAA', 'actual_margin': 2, 'raw_pick_probability': 0.527588, 'artifact': '20260914_SEA@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260702', 'away': 'LAA', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.64, 'artifact': '20260702_LAA@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260630', 'away': 'LAA', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'SEA', 'actual_margin': 5, 'raw_pick_probability': 0.5445139999999999, 'artifact': '20260630_LAA@SEA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'LAA', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'LAA', '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': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'LAA 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'LAA 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.1394, 'recent_form_edge_home_minus_away': 0.614, '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': 6, 'published_winner': 'SEA', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'SEA', '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.4043, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_LAA@SEA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAA@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': 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': 5.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -2.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': 4, 'probability': 0.017910381022075355}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.017859751424455103}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.0172327038371028}, {'home_runs': 6, 'away_runs': 3, 'probability': 0.01718398991749907}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.016496199644683237}], 'home_distribution': {'0': 0.03406694041287963, '1': 0.051982288625744166, '2': 0.07284962584698108, '3': 0.09376676196006999, '4': 0.11084603833671716, '5': 0.12034861508468961, '6': 0.12000841004112396, '7': 0.10990866450249531, '8': 0.09244892032547052, '9': 0.0714202589111521, '10': 0.05067463868894591, '11': 0.03302247083998893, '12': 0.01976414965696672, '13': 0.010864165331267732, '14': 0.005484843778427619, '15': 0.0025432076570796845}, 'away_distribution': {'0': 0.0613894153703072, '1': 0.09196598188015676, '2': 0.1219645137221095, '3': 0.14318988070594832, '4': 0.14882083195948517, '5': 0.13692655792780714, '6': 0.11152807749454892, '7': 0.08041800649596394, '8': 0.051332799800363184, '9': 0.029007424033095596, '10': 0.014510953049904947, '11': 0.006426215309727206, '12': 0.0025193422505820737}, '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.3291, 'recent_quality_edge': 0.544, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.4043} | ||||
| 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': 'LAA 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'LAA 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.1394, 'recent_form_edge_home_minus_away': 0.614, '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': 6, 'published_winner': 'SEA', 'published_winner_draw_share': 0.8333, 'draw_majority_team': 'SEA', '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.4043, '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: 131. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 148. | |||||
| 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: 131. | |||
| 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: 148. | |||
| 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 | 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 | 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 | 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 | 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 | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA 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 | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA 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: 9.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: LAA 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAA 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 5-4. | |||||
| 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.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: 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): 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. | |||||
| 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 | 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: 4/10 = 0.400. |
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 | 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 | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=3, sim=4; R: current=3, sim=4; BB: current=2, sim=1; 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: Wade Meckler: H current=1 box=0, 2B current=1 box=0, BB current=1 box=0; Mike Trout: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Vaughn Grissom: RBI current=1 box=0; Moisés Ballesteros: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Josh Lowe: H current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Bryce Teodosio: AB current=3 box=4, SO current=1 box=2; Zach Neto: HR current=1 box=0, RBI current=0 box=2, SO current=2 box=1; Christian Moore: 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 | 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=29; H: current=8, sim=5; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=9, 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 | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: J.P. Crawford: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Dominic Canzone: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randy Arozarena: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Cal Raleigh: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0; Cole Young: AB current=4 box=3, R current=0 box=1; Julio Rodríguez: RBI current=1 box=0, SO current=1 box=0; Lazaro Montes: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Josh Naylor: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=3, 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.5277320890660566 | 5.10270922324052 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 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 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAA | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 7 |
| SEA | 0 | 0 | 0 | 0 | 2 | 3 | 0 | 0 | 0 | 5 | 5 |
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 | 7 | 1 | 0 | 1 | 3 | 3 | 2 | 11 | 0 | 0 | 0 | 0 | |||||
| current | LAA | pitching | 5 | 2 | 5 | 3 | 6 | 8.0 | 5 | 0 | 0 | |||||||||
| current | SEA | batting | 34 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | SEA | pitching | 7 | 0 | 4 | 1 | 11 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | LAA | batting | 34 | 7 | 2 | 0 | 0 | 4 | 4 | 1 | 11 | 0 | 1 | |||||||
| simulation | LAA | pitching | 5 | 2 | 5 | 3 | 6 | 8.0 | 5 | 32 | 131 | |||||||||
| simulation | SEA | batting | 29 | 5 | 0 | 0 | 2 | 5 | 5 | 3 | 6 | 0 | 0 | |||||||
| simulation | SEA | pitching | 7 | 0 | 4 | 1 | 11 | 9.0 | 4 | 36 | 148 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAA | LF | Wade Meckler | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAA | DH | Mike Trout | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAA | 1B | Vaughn Grissom | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | C | Moisés Ballesteros | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | RF | Josh Lowe | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | LAA | CF | Bryce Teodosio | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | LAA | SS | Zach Neto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.250 | |
| current | LAA | 2B | Christian Moore | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.333 | |
| current | LAA | 3B | Denzer Guzman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 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 | LF | Randy Arozarena | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SEA | C | Cal Raleigh | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| 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 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | RF | Lazaro Montes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SEA | 1B | Josh Naylor | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SEA | 3B | Leo Rivas | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | LAA | 1 | SS | Zach Neto | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | LAA | 2 | DH | Mike Trout | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.000 |
| simulation | LAA | 3 | LF | Wade Meckler | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | LAA | 4 | 1B | Vaughn Grissom | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | LAA | 5 | C | Moisés Ballesteros | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | LAA | 6 | 3B | Denzer Guzman | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | LAA | 7 | RF | Josh Lowe | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | LAA | 8 | 2B | Christian Moore | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | LAA | 9 | CF | Bryce Teodosio | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SEA | 1 | SS | J.P. Crawford | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SEA | 2 | LF | Randy Arozarena | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | SEA | 3 | DH | Dominic Canzone | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SEA | 4 | C | Cal Raleigh | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | SEA | 5 | CF | Julio Rodríguez | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | SEA | 6 | 1B | Josh Naylor | 3 | 3 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.333 |
| simulation | SEA | 7 | 2B | Cole Young | 3 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 |
| simulation | SEA | 8 | RF | Lazaro Montes | 3 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.333 |
| simulation | SEA | 9 | 3B | Leo Rivas | 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 | LAA | 1 | Grayson Rodriguez | Starter | 5.0 | 5 | 5 | 5 | 3 | 5 | 2 | 0 | 0 | 9.00 | 5.96 | 1.54 |
| 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 | 5 | Ben Joyce | Closer | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.11 | 1.11 |
| current | SEA | 1 | Bryan Woo | Starter | 5.2 | 3 | 3 | 3 | 1 | 7 | 0 | 0 | 0 | 4.76 | 3.92 | 1.08 |
| current | SEA | 2 | Andrés Muñoz | Closer | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 6.75 | 3.92 | 1.19 |
| current | SEA | 3 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.72 | 1.42 |
| current | SEA | 4 | José A. Ferrer | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.92 | 1.40 |
| simulation | LAA | 1 | Grayson Rodriguez | Starter | 5.0 | 5 | 5 | 5 | 3 | 5 | 2 | 23 | 93 | 9.00 | 5.96 | 1.54 |
| simulation | LAA | 2 | Ben Joyce | Closer | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 25 | 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 | SEA | 1 | Bryan Woo | Starter | 5.2 | 3 | 3 | 3 | 1 | 7 | 0 | 22 | 93 | 4.76 | 3.92 | 1.08 |
| simulation | SEA | 2 | Andrés Muñoz | Closer | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 6 | 23 | 6.75 | 3.92 | 1.19 |
| simulation | SEA | 3 | José A. Ferrer | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.92 | 1.40 |
| simulation | SEA | 4 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 2 | 0 | 5 | 19 | 0.00 | 3.72 | 1.42 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| LAA | Grayson Rodriguez | Starter | 5.0 | 5 | 5 | 3 | 5 | 23 | 93 |
| LAA | Ryan Watson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| LAA | Ben Joyce | Closer | 2.0 | 0 | 0 | 0 | 1 | 6 | 25 |
| SEA | Bryan Woo | Starter | 5.2 | 3 | 3 | 1 | 7 | 22 | 93 |
| SEA | Andrés Muñoz | Closer | 1.1 | 1 | 2 | 0 | 1 | 6 | 23 |
| SEA | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 0 | 2 | 0 | 2 | 5 | 19 |
| SEA | José A. Ferrer | Setup Man | 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 | 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. |
20260924_MIA@CHC
20260924_MIA@CHC.json • 2026-09-24
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=38; HR: current=1, sim=2; BB: current=4, sim=6; SO: current=7, 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 | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Michael Conforto: AB current=3 box=4, H current=1 box=3, R current=0 box=1, BB current=0 box=1; Seiya Suzuki: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Michael Busch: SO current=1 box=0; Pete Crow-Armstrong: H current=1 box=2; Pedro Ramirez: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0; Ian Happ: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=2; Nico Hoerner: AB current=4 box=5, H current=1 box=0; Dansby Swanson: AB current=3 box=5, H current=0 box=1, 2B current=0 box=1, 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 | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (H: current=9, sim=8). | 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=32, sim=40; H: current=8, sim=10; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; R: current=5, sim=4; BB: current=3, sim=2; SO: current=7, 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 | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Heriberto Hernández: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Javier Sanoja: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, R current=0 box=1; Agustín Ramírez: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Deyvison De Los Santos: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Jared Serna: H current=1 box=2, 2B current=0 box=1, R current=1 box=0, BB current=0 box=1; Esteury Ruiz: AB current=3 box=5, H current=1 box=0; Otto Lopez: AB current=4 box=5, RBI current=1 box=2, SO current=0 box=1; Brian Navarreto: AB current=3 box=4, H current=0 box=1, 3B current=0 box=1, RBI 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 | 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: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match MIA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match MIA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=45 matches MIA BF=45. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC runs match final score and opposing pitching runs: 5. | |||
| 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: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match CHC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match CHC pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=42 matches CHC BF=42. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.460 -> 0.507 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': 756, 'empirical_hit_rate': 0.5542, 'empirical_weight': 0.5, 'blended_confidence': 0.50715, 'published_confidence': 0.519035, '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.481. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.519. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.519. | |||||
| 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.566/0.762. | |||||
| 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: MIA 10, CHC 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIA 4 - CHC 5. | |||||
| 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; local prediction memory shows 5 straight prior same-side picks. | {'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', 'local prediction memory shows 5 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': -14, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 2, 'opponent_runs': 3, 'margin_for_predicted_team': -1, 'winner': 'MIA'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 3, 'same_pick_blowout_loss_count': 2, 'prior_predictions': [{'date': '20260923', 'away': 'MIA', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'MIA', 'actual_margin': 1, 'raw_pick_probability': 0.53, 'artifact': '20260923_MIA@CHC.json', 'verification': 'pregame_official_final'}, {'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': 4, 'home_runs': 5, 'score_text': 'MIA 4 - 5 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIA 4 - 5 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.0807, 'recent_form_edge_home_minus_away': -0.098, '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': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, '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': 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.6258, 'winner': 'CHC', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 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': -1.0}, {'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': 4, 'away_runs': 4, 'probability': 0.020546606196630235}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01973532021493096}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.01949004873838817}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.019305632001415426}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.019118759767775}], 'home_distribution': {'0': 0.05437763727599484, '1': 0.08185206049005056, '2': 0.11011908621881367, '3': 0.1324095411534763, '4': 0.14229828356034604, '5': 0.13667961342243728, '6': 0.11733606547975525, '7': 0.09002911897683658, '8': 0.0617387991933848, '9': 0.03784051650711363, '10': 0.020729061136446753, '11': 0.010149062065774697, '12': 0.004441154519569752}, 'away_distribution': {'0': 0.05641786757699703, '1': 0.08480519903021629, '2': 0.11361745126482618, '3': 0.13567016775173024, '4': 0.14439110355056956, '5': 0.13696615483153599, '6': 0.11579847657677493, '7': 0.08725878923159619, '8': 0.05860467658545647, '9': 0.035081012464733954, '10': 0.01871667583565478, '11': 0.00890024727237316, '12': 0.0037721780275351063}, '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.9778, 'recent_quality_edge': -0.028, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.6258} | ||||
| 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': 'MIA 4 - 5 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIA 4 - 5 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.0807, 'recent_form_edge_home_minus_away': -0.098, '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': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, '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': 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.6258, 'winner': 'CHC', '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: 194. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 172. | |||||
| 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: 172. | |||
| 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: 194. | |||
| 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 | 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: 10.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: 10.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 4 - 5 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIA 4 - 5 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 5-4 (Extra Innings - 10). | |||||
| 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.519. | |||||
| 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: 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): CHC wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC 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: CHC 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 | 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: 5/10 = 0.500. | |||
| 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: 5/10 = 0.500. |
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: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match MIA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match MIA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=45 matches MIA BF=45. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC runs match final score and opposing pitching runs: 5. | |||
| 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: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match CHC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match CHC pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=42 matches CHC BF=42. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.460 -> 0.507 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': 756, 'empirical_hit_rate': 0.5542, 'empirical_weight': 0.5, 'blended_confidence': 0.50715, 'published_confidence': 0.519035, '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.481. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.519. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.519. | |||||
| 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.566/0.762. | |||||
| 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: MIA 10, CHC 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIA 4 - CHC 5. | |||||
| 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; local prediction memory shows 5 straight prior same-side picks. | {'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', 'local prediction memory shows 5 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': -14, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 2, 'opponent_runs': 3, 'margin_for_predicted_team': -1, 'winner': 'MIA'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 3, 'same_pick_blowout_loss_count': 2, 'prior_predictions': [{'date': '20260923', 'away': 'MIA', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'MIA', 'actual_margin': 1, 'raw_pick_probability': 0.53, 'artifact': '20260923_MIA@CHC.json', 'verification': 'pregame_official_final'}, {'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': 4, 'home_runs': 5, 'score_text': 'MIA 4 - 5 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIA 4 - 5 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.0807, 'recent_form_edge_home_minus_away': -0.098, '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': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, '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': 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.6258, 'winner': 'CHC', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 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': -1.0}, {'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': 4, 'away_runs': 4, 'probability': 0.020546606196630235}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01973532021493096}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.01949004873838817}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.019305632001415426}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.019118759767775}], 'home_distribution': {'0': 0.05437763727599484, '1': 0.08185206049005056, '2': 0.11011908621881367, '3': 0.1324095411534763, '4': 0.14229828356034604, '5': 0.13667961342243728, '6': 0.11733606547975525, '7': 0.09002911897683658, '8': 0.0617387991933848, '9': 0.03784051650711363, '10': 0.020729061136446753, '11': 0.010149062065774697, '12': 0.004441154519569752}, 'away_distribution': {'0': 0.05641786757699703, '1': 0.08480519903021629, '2': 0.11361745126482618, '3': 0.13567016775173024, '4': 0.14439110355056956, '5': 0.13696615483153599, '6': 0.11579847657677493, '7': 0.08725878923159619, '8': 0.05860467658545647, '9': 0.035081012464733954, '10': 0.01871667583565478, '11': 0.00890024727237316, '12': 0.0037721780275351063}, '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.9778, 'recent_quality_edge': -0.028, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.6258} | ||||
| 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': 'MIA 4 - 5 CHC', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIA 4 - 5 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.0807, 'recent_form_edge_home_minus_away': -0.098, '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': 'CHC', 'model_winner': 'CHC', 'simulation_winner': 'CHC', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, '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': 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.6258, 'winner': 'CHC', '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: 194. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 172. | |||||
| 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: 172. | |||
| 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: 194. | |||
| 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 | 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: 10.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: 10.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 4 - 5 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIA 4 - 5 CHC. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 5-4 (Extra Innings - 10). | |||||
| 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.519. | |||||
| 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: 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): CHC wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC 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: CHC 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 | 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: 5/10 = 0.500. | |||
| 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: 5/10 = 0.500. |
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=38; HR: current=1, sim=2; BB: current=4, sim=6; SO: current=7, 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 | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Michael Conforto: AB current=3 box=4, H current=1 box=3, R current=0 box=1, BB current=0 box=1; Seiya Suzuki: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Michael Busch: SO current=1 box=0; Pete Crow-Armstrong: H current=1 box=2; Pedro Ramirez: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0; Ian Happ: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=2; Nico Hoerner: AB current=4 box=5, H current=1 box=0; Dansby Swanson: AB current=3 box=5, H current=0 box=1, 2B current=0 box=1, 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 | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (H: current=9, sim=8). | 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=32, sim=40; H: current=8, sim=10; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; R: current=5, sim=4; BB: current=3, sim=2; SO: current=7, 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 | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Heriberto Hernández: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Javier Sanoja: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, R current=0 box=1; Agustín Ramírez: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Deyvison De Los Santos: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Jared Serna: H current=1 box=2, 2B current=0 box=1, R current=1 box=0, BB current=0 box=1; Esteury Ruiz: AB current=3 box=5, H current=1 box=0; Otto Lopez: AB current=4 box=5, RBI current=1 box=2, SO current=0 box=1; Brian Navarreto: AB current=3 box=4, H current=0 box=1, 3B current=0 box=1, RBI 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.605789355682878 | 4.8372261014176825 | Base ML historical model prediction | |
| variance_applied | 5 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.519 | 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 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 4 | 10 |
| CHC | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 1 | 1 | 5 | 8 |
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 | 32 | 8 | 1 | 0 | 1 | 4 | 5 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | MIA | pitching | 9 | 2 | 5 | 6 | 5 | 8.0 | 5 | 0 | 0 | |||||||||
| current | CHC | batting | 33 | 8 | 1 | 0 | 1 | 5 | 5 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | CHC | pitching | 10 | 0 | 4 | 2 | 5 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | MIA | batting | 40 | 10 | 2 | 1 | 0 | 4 | 4 | 2 | 5 | 0 | 0 | |||||||
| simulation | MIA | pitching | 8 | 2 | 5 | 6 | 5 | 10.0 | 5 | 45 | 194 | |||||||||
| simulation | CHC | batting | 38 | 8 | 1 | 0 | 2 | 5 | 5 | 6 | 5 | 0 | 1 | |||||||
| simulation | CHC | pitching | 10 | 0 | 4 | 2 | 5 | 10.0 | 4 | 42 | 172 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIA | LF | Heriberto Hernández | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIA | 3B | Javier Sanoja | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | MIA | DH | Agustín Ramírez | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIA | 1B | Deyvison De Los Santos | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | 2B | Jared Serna | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | RF | Esteury Ruiz | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | SS | Otto Lopez | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | MIA | C | Brian Navarreto | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | MIA | CF | Jakob Marsee | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHC | DH | Michael Conforto | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 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 | 1 | 0 | 0.250 | |
| current | CHC | LF | Ian Happ | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHC | 2B | Nico Hoerner | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | CHC | SS | Dansby Swanson | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CHC | C | Carson Kelly | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| simulation | MIA | 1 | SS | Otto Lopez | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.200 |
| simulation | MIA | 2 | LF | Heriberto Hernández | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | MIA | 3 | CF | Jakob Marsee | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | MIA | 4 | 3B | Javier Sanoja | 5 | 5 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.600 |
| simulation | MIA | 5 | DH | Agustín Ramírez | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | MIA | 6 | RF | Esteury Ruiz | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIA | 7 | 1B | Deyvison De Los Santos | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.500 |
| simulation | MIA | 8 | 2B | Jared Serna | 4 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | MIA | 9 | C | Brian Navarreto | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | CHC | 1 | CF | Pete Crow-Armstrong | 5 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.500 |
| simulation | CHC | 2 | RF | Seiya Suzuki | 5 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 1 | 0.333 |
| simulation | CHC | 3 | 1B | Michael Busch | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | CHC | 4 | DH | Michael Conforto | 5 | 4 | 3 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.750 |
| simulation | CHC | 5 | LF | Ian Happ | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | CHC | 6 | 2B | Nico Hoerner | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CHC | 7 | 3B | Pedro Ramirez | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHC | 8 | C | Carson Kelly | 5 | 5 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.000 |
| simulation | CHC | 9 | SS | Dansby Swanson | 5 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 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 | MIA | 1 | Tyler Phillips | Starter | 5.0 | 4 | 1 | 1 | 5 | 3 | 0 | 0 | 0 | 1.80 | 3.45 | 1.31 |
| current | MIA | 2 | Calvin Faucher | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.34 | 1.29 |
| current | MIA | 3 | Michael Petersen | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.08 | 1.13 |
| current | MIA | 4 | Victor Vodnik | Middle Reliever (High Leverage) | 0.2 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 13.50 | 4.61 | 1.52 |
| current | MIA | 6 | Tyler Zuber | Setup Man | 0.0 | 3 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 5.67 | 1.44 | |
| current | MIA | 7 | Bradley Blalock | Reliever | 0.0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |||
| current | CHC | 1 | Matthew Boyd | Starter | 5.2 | 4 | 3 | 3 | 1 | 1 | 0 | 0 | 0 | 4.76 | 4.06 | 1.22 |
| current | CHC | 2 | Daniel Palencia | Middle Reliever (High Leverage) | 1.2 | 3 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 5.40 | 3.45 | 1.12 |
| current | CHC | 3 | Jacob Webb | Closer | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.41 | 1.27 |
| current | CHC | 4 | Ryan Zeferjahn | Setup Man | 0.1 | 2 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 3.93 | 1.30 |
| current | CHC | 5 | Caleb Thielbar | Middle Reliever (High Leverage) | 0.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 4.81 | 1.27 | |
| simulation | MIA | 1 | Tyler Phillips | Starter | 5.0 | 4 | 1 | 1 | 5 | 3 | 0 | 25 | 107 | 1.80 | 3.45 | 1.31 |
| simulation | MIA | 2 | Calvin Faucher | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.34 | 1.29 |
| simulation | MIA | 3 | Tyler Zuber | Setup Man | 1.1 | 3 | 2 | 2 | 0 | 0 | 1 | 7 | 26 | 13.50 | 5.67 | 1.44 |
| simulation | MIA | 4 | Michael Petersen | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 24 | 0.00 | 3.08 | 1.13 |
| simulation | MIA | 5 | Victor Vodnik | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 1 | 1 | 1 | 5 | 20 | 9.00 | 4.61 | 1.52 |
| simulation | MIA | 6 | Bradley Blalock | Reliever | 0.1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 4 | 27.00 | 5.62 | 1.50 |
| simulation | CHC | 1 | Matthew Boyd | Starter | 5.2 | 4 | 3 | 3 | 1 | 1 | 0 | 22 | 95 | 4.76 | 4.06 | 1.22 |
| simulation | CHC | 2 | Jacob Webb | Closer | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 5 | 20 | 0.00 | 3.41 | 1.27 |
| simulation | CHC | 3 | Ryan Zeferjahn | Setup Man | 1.0 | 2 | 0 | 0 | 1 | 1 | 0 | 6 | 23 | 0.00 | 3.93 | 1.30 |
| simulation | CHC | 4 | Daniel Palencia | Middle Reliever (High Leverage) | 1.2 | 3 | 1 | 1 | 0 | 1 | 0 | 8 | 30 | 5.40 | 3.45 | 1.12 |
| simulation | CHC | 5 | Caleb Thielbar | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 4 | 0.00 | 4.81 | 1.27 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIA | Tyler Phillips | Starter | 5.0 | 1 | 4 | 5 | 3 | 25 | 107 |
| MIA | Calvin Faucher | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| MIA | Michael Petersen | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 4 | 24 |
| MIA | Victor Vodnik | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 1 | 5 | 20 |
| MIA | Tyler Zuber | Setup Man | 1.1 | 2 | 3 | 0 | 0 | 7 | 26 |
| MIA | Bradley Blalock | Reliever | 0.1 | 1 | 0 | 0 | 0 | 1 | 4 |
| CHC | Matthew Boyd | Starter | 5.2 | 3 | 4 | 1 | 1 | 22 | 95 |
| CHC | Daniel Palencia | Middle Reliever (High Leverage) | 1.2 | 1 | 3 | 0 | 1 | 8 | 30 |
| CHC | Jacob Webb | Closer | 1.1 | 0 | 1 | 0 | 1 | 5 | 20 |
| CHC | Ryan Zeferjahn | Setup Man | 1.0 | 0 | 2 | 1 | 1 | 6 | 23 |
| CHC | Caleb Thielbar | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 1 | 1 | 4 |
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. |
20260924_MIL@PHI
20260924_MIL@PHI.json • 2026-09-24
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=32, sim=34; H: current=8, sim=7; 2B: current=1, sim=2; HR: current=1, sim=0; 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 | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Jake Bauers: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Luis Lara: 2B current=0 box=1, R current=0 box=1; Brice Turang: 2B current=1 box=0, BB current=1 box=0; Sal Frelick: H current=1 box=0, BB current=0 box=1; Joey Ortiz: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Garrett Mitchell: AB current=4 box=5, SO current=1 box=0; Gary Sánchez: 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 | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=8, 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 | 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, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Alec Bohm: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Bryan De La Cruz: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Bryson Stott: AB current=3 box=4, 2B current=0 box=1, BB current=1 box=0; Trea Turner: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; J.T. Realmuto: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Luis Arraez: H current=1 box=2, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Kyle Schwarber: HR current=1 box=0, RBI 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 | 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: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match PHI pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=37 matches PHI BF=37. | |||
| 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: 4. | |||
| 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: 6. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match MIL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=37 matches MIL BF=37. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.599 -> 0.578 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.598991, 'sample_size': 684, 'empirical_hit_rate': 0.557, 'empirical_weight': 0.5, 'blended_confidence': 0.577996, 'published_confidence': 0.53921, '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.539. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.539. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.461. | |||||
| 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.524/0.713. | |||||
| 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 7, PHI 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 5 - PHI 4. | |||||
| 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=recent head-to-head is split and volatile; 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', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'PHI', 'h2h_net_margin': 5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'MIL'}, {'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'}], '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': '20260923', 'away': 'MIL', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 3, 'raw_pick_probability': 0.56, 'artifact': '20260923_MIL@PHI.json', 'verification': 'pregame_official_final'}, {'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': 4, 'score_text': 'MIL 5 - 4 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIL 5 - 4 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.0056, 'recent_form_edge_home_minus_away': -0.53, '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': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'MIL', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'MIL', '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.955, 'winner': 'MIL', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 5, 'sample_weight': 0.0577, 'home_net_margin': -10.0, 'absolute_net_margin': 10.0, 'home_average_margin': -2.0, 'home_run_delta': -0.0577, 'away_run_delta': 0.0577, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'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': 4, 'away_runs': 4, 'probability': 0.02067453283365242}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.02032381664148272}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.020065780159342978}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.01972539065371197}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.018894117637333303}], 'home_distribution': {'0': 0.06320482560435103, '1': 0.09456820179238254, '2': 0.12494962158772885, '3': 0.14578729563260306, '4': 0.15021016907145937, '5': 0.13667022535840367, '6': 0.1098103830791064, '7': 0.07791262257548115, '8': 0.04881655863213836, '9': 0.02700980306634653, '10': 0.013196859580078941, '11': 0.005693963699863035, '12': 0.002169470320057257}, 'away_distribution': {'0': 0.05047343361311109, '1': 0.07617115133689235, '2': 0.10327106681742092, '3': 0.12578454410995848, '4': 0.13763737143400018, '5': 0.1353025348890599, '6': 0.11949121294572429, '7': 0.09480396022155445, '8': 0.06757366312928156, '9': 0.043270201609812216, '10': 0.02489206052524471, '11': 0.012864510067248352, '12': 0.005972912151957583, '13': 0.002491377148733949}, '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.2215, 'recent_quality_edge': -0.46, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.955} | ||||
| 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': 'MIL 5 - 4 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIL 5 - 4 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.0056, 'recent_form_edge_home_minus_away': -0.53, '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': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'MIL', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'MIL', '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.955, 'winner': 'MIL', '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: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 147. | |||||
| 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: 157. | |||
| 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: 147. | |||
| 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 | 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 - 4 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 5 - 4 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 5-4. | |||||
| 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.539. | |||||
| 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-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL 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: MIL wins 5-4. | |||||
| 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: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match PHI pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=37 matches PHI BF=37. | |||
| 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: 4. | |||
| 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: 6. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match MIL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=37 matches MIL BF=37. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.599 -> 0.578 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.598991, 'sample_size': 684, 'empirical_hit_rate': 0.557, 'empirical_weight': 0.5, 'blended_confidence': 0.577996, 'published_confidence': 0.53921, '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.539. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.539. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.461. | |||||
| 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.524/0.713. | |||||
| 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 7, PHI 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 5 - PHI 4. | |||||
| 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=recent head-to-head is split and volatile; 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', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'PHI', 'h2h_net_margin': 5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 4, 'opponent_runs': 1, 'margin_for_predicted_team': 3, 'winner': 'MIL'}, {'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'}], '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': '20260923', 'away': 'MIL', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 3, 'raw_pick_probability': 0.56, 'artifact': '20260923_MIL@PHI.json', 'verification': 'pregame_official_final'}, {'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': 4, 'score_text': 'MIL 5 - 4 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIL 5 - 4 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.0056, 'recent_form_edge_home_minus_away': -0.53, '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': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'MIL', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'MIL', '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.955, 'winner': 'MIL', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 5, 'sample_weight': 0.0577, 'home_net_margin': -10.0, 'absolute_net_margin': 10.0, 'home_average_margin': -2.0, 'home_run_delta': -0.0577, 'away_run_delta': 0.0577, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'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': 4, 'away_runs': 4, 'probability': 0.02067453283365242}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.02032381664148272}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.020065780159342978}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.01972539065371197}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.018894117637333303}], 'home_distribution': {'0': 0.06320482560435103, '1': 0.09456820179238254, '2': 0.12494962158772885, '3': 0.14578729563260306, '4': 0.15021016907145937, '5': 0.13667022535840367, '6': 0.1098103830791064, '7': 0.07791262257548115, '8': 0.04881655863213836, '9': 0.02700980306634653, '10': 0.013196859580078941, '11': 0.005693963699863035, '12': 0.002169470320057257}, 'away_distribution': {'0': 0.05047343361311109, '1': 0.07617115133689235, '2': 0.10327106681742092, '3': 0.12578454410995848, '4': 0.13763737143400018, '5': 0.1353025348890599, '6': 0.11949121294572429, '7': 0.09480396022155445, '8': 0.06757366312928156, '9': 0.043270201609812216, '10': 0.02489206052524471, '11': 0.012864510067248352, '12': 0.005972912151957583, '13': 0.002491377148733949}, '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.2215, 'recent_quality_edge': -0.46, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.955} | ||||
| 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': 'MIL 5 - 4 PHI', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIL 5 - 4 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.0056, 'recent_form_edge_home_minus_away': -0.53, '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': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 4, 'published_winner': 'MIL', 'published_winner_draw_share': 0.75, 'draw_majority_team': 'MIL', '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.955, 'winner': 'MIL', '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: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 147. | |||||
| 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: 157. | |||
| 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: 147. | |||
| 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 | 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 - 4 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 5 - 4 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 5-4. | |||||
| 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.539. | |||||
| 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-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL 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: MIL wins 5-4. | |||||
| 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=32, sim=34; H: current=8, sim=7; 2B: current=1, sim=2; HR: current=1, sim=0; 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 | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Jake Bauers: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Luis Lara: 2B current=0 box=1, R current=0 box=1; Brice Turang: 2B current=1 box=0, BB current=1 box=0; Sal Frelick: H current=1 box=0, BB current=0 box=1; Joey Ortiz: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Garrett Mitchell: AB current=4 box=5, SO current=1 box=0; Gary Sánchez: 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 | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=8, 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 | 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, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Alec Bohm: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Bryan De La Cruz: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Bryson Stott: AB current=3 box=4, 2B current=0 box=1, BB current=1 box=0; Trea Turner: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; J.T. Realmuto: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Luis Arraez: H current=1 box=2, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Kyle Schwarber: HR current=1 box=0, RBI 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 | 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.560245375889323 | 3.8725780447560214 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.539 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 0 | 0 | 5 | 7 |
| PHI | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 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 | MIL | batting | 32 | 8 | 1 | 0 | 1 | 5 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIL | pitching | 6 | 2 | 4 | 4 | 4 | 9.0 | 4 | 0 | 0 | |||||||||
| current | PHI | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | PHI | pitching | 7 | 0 | 5 | 3 | 6 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | MIL | batting | 34 | 7 | 2 | 0 | 0 | 5 | 5 | 3 | 6 | 0 | 0 | |||||||
| simulation | MIL | pitching | 6 | 2 | 4 | 4 | 4 | 9.0 | 4 | 37 | 157 | |||||||||
| simulation | PHI | batting | 33 | 6 | 1 | 0 | 2 | 4 | 4 | 4 | 4 | 0 | 0 | |||||||
| simulation | PHI | pitching | 7 | 0 | 5 | 3 | 6 | 9.0 | 5 | 37 | 147 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | DH | William Contreras | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIL | 1B | Jake Bauers | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | RF | Luis Lara | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 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 | LF | Sal Frelick | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | MIL | 3B | Joey Ortiz | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIL | CF | Garrett Mitchell | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIL | C | Gary Sánchez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.000 | |
| current | MIL | SS | Cooper Pratt | 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 | LF | Bryan De La Cruz | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | PHI | 3B | Bryson Stott | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | PHI | SS | Trea Turner | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PHI | C | J.T. Realmuto | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | PHI | 2B | Luis Arraez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | PHI | DH | Kyle Schwarber | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | CF | Justin Crawford | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | MIL | 1 | CF | Garrett Mitchell | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.200 |
| simulation | MIL | 2 | 2B | Brice Turang | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | MIL | 3 | DH | William Contreras | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | MIL | 4 | 1B | Jake Bauers | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.333 |
| simulation | MIL | 5 | C | Gary Sánchez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | MIL | 6 | RF | Luis Lara | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | MIL | 7 | SS | Cooper Pratt | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | MIL | 8 | LF | Sal Frelick | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | MIL | 9 | 3B | Joey Ortiz | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PHI | 1 | DH | Kyle Schwarber | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | PHI | 2 | SS | Trea Turner | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | PHI | 3 | RF | Bryce Harper | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | PHI | 4 | 2B | Luis Arraez | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.500 |
| simulation | PHI | 5 | 1B | Alec Bohm | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | PHI | 6 | LF | Bryan De La Cruz | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | PHI | 7 | 3B | Bryson Stott | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | PHI | 8 | C | J.T. Realmuto | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | PHI | 9 | CF | Justin Crawford | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 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 | MIL | 1 | Shane Drohan | Starter | 4.2 | 3 | 1 | 1 | 2 | 3 | 0 | 0 | 0 | 1.93 | 4.26 | 1.33 |
| current | MIL | 2 | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.27 | 1.37 |
| current | MIL | 3 | Abner Uribe | Setup Man | 1.0 | 1 | 2 | 2 | 2 | 0 | 1 | 0 | 0 | 18.00 | 2.01 | 1.03 |
| current | MIL | 5 | Trevor Megill | Closer | 2.1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 3.86 | 2.08 | 0.86 |
| current | PHI | 1 | Andrew Painter | Starter | 5.0 | 7 | 5 | 5 | 2 | 3 | 0 | 0 | 0 | 9.00 | 5.59 | 1.42 |
| current | PHI | 2 | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.57 | 0.98 |
| current | PHI | 3 | Jonathan Bowlan | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.36 | 1.03 |
| current | PHI | 4 | Tim Mayza | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.44 | 1.10 |
| current | PHI | 5 | Brooks Raley | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.96 | 1.18 |
| simulation | MIL | 1 | Shane Drohan | Starter | 4.2 | 3 | 1 | 1 | 2 | 3 | 0 | 19 | 85 | 1.93 | 4.26 | 1.33 |
| simulation | MIL | 2 | Trevor Megill | Closer | 2.1 | 1 | 1 | 1 | 0 | 1 | 1 | 8 | 32 | 3.86 | 2.08 | 0.86 |
| simulation | MIL | 3 | Abner Uribe | Setup Man | 1.0 | 1 | 2 | 2 | 2 | 0 | 1 | 6 | 24 | 18.00 | 2.01 | 1.03 |
| simulation | MIL | 4 | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 3.27 | 1.37 |
| simulation | PHI | 1 | Andrew Painter | Starter | 5.0 | 7 | 5 | 5 | 2 | 3 | 0 | 24 | 92 | 9.00 | 5.59 | 1.42 |
| simulation | PHI | 2 | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.57 | 0.98 |
| simulation | PHI | 3 | Jonathan Bowlan | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.36 | 1.03 |
| simulation | PHI | 4 | Brooks Raley | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 16 | 0.00 | 2.96 | 1.18 |
| simulation | PHI | 5 | Tim Mayza | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.44 | 1.10 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Shane Drohan | Starter | 4.2 | 1 | 3 | 2 | 3 | 19 | 85 |
| MIL | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| MIL | Abner Uribe | Setup Man | 1.0 | 2 | 1 | 2 | 0 | 6 | 24 |
| MIL | Trevor Megill | Closer | 2.1 | 1 | 1 | 0 | 1 | 8 | 32 |
| PHI | Andrew Painter | Starter | 5.0 | 5 | 7 | 2 | 3 | 24 | 92 |
| PHI | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| PHI | Jonathan Bowlan | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| PHI | Tim Mayza | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| PHI | Brooks Raley | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 16 |
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. |
20260924_NYM@TEX
20260924_NYM@TEX.json • 2026-09-24
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 (H: current=8, sim=6; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=6; 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 | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Carson Benge: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1; Juan Soto: AB current=4 box=3, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Brett Baty: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; A.J. Ewing: H current=1 box=0, BB current=1 box=0; Luis Torrens: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Nick Morabito: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Francisco Lindor: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Marcus Semien: AB current=4 box=3, H current=1 box=0, 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 | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=8, sim=7; 2B: current=2, sim=3; HR: current=1, sim=0; BB: current=2, sim=3; SO: current=8, sim=3; 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 | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Jake Burger: RBI current=1 box=2, R current=0 box=1, SF current=0 box=1; Corey Seager: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Josh Jung: H current=1 box=3, RBI current=0 box=1; Ezequiel Duran: 2B current=0 box=1, RBI current=1 box=0; Justin Foscue: AB current=3 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Danny Jansen: AB current=3 box=2, BB current=0 box=2; Brandon Nimmo: H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Elias Díaz: AB current=3 box=4, 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 | 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: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match TEX pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match TEX pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match TEX pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=39 matches TEX BF=39. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match NYM pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match NYM pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match NYM pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=37 matches NYM BF=37. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.485 -> 0.512 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.484874, 'sample_size': 524, 'empirical_hit_rate': 0.5401, 'empirical_weight': 0.5, 'blended_confidence': 0.512487, 'published_confidence': 0.520878, '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.521. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.521. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.479. | |||||
| 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.566/0.762. | |||||
| 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 6, TEX 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYM 5 - TEX 4. | |||||
| 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.5208777, 'h2h_net_margin': 8, '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': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'NYM', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 5, 'raw_pick_probability': 0.595426, 'artifact': '20260923_NYM@TEX.json', 'verification': 'pregame_official_final'}, {'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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 2, 'sample_weight': 0.03, 'home_net_margin': -8.0, 'absolute_net_margin': 8.0, 'home_average_margin': -4.0, 'home_run_delta': -0.06, 'away_run_delta': 0.06, 'evidence': [{'game_id': None, 'home_margin': -5.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': 4, 'away_runs': 4, 'probability': 0.020696401842226857}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.02008850845860596}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.019750093631245778}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.019244840880597407}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.019169995151526863}], 'home_distribution': {'0': 0.05966652248076004, '1': 0.08949011247027157, '2': 0.11910038582539374, '3': 0.14065172738187146, '4': 0.1473909300912483, '5': 0.137053533192518, '6': 0.11308460877601628, '7': 0.08279622787953618, '8': 0.05379121944232406, '9': 0.031010303434215774, '10': 0.015863332569276713, '11': 0.00720073170843909, '12': 0.002900364748128737}, 'away_distribution': {'0': 0.05266936339449768, '1': 0.07937299545634657, '2': 0.10715736048494888, '3': 0.12960023236543636, '4': 0.1404184221472374, '5': 0.13629406128429586, '6': 0.11851254178198656, '7': 0.09231796621064453, '8': 0.06442325733484792, '9': 0.04027482542802806, '10': 0.02255584956298271, '11': 0.011316685531051583, '12': 0.00508643901769592}, '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.0095, 'recent_quality_edge': 0.332, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.11} | ||||
| 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': 'NYM 5 - 4 TEX', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'NYM 5 - 4 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.0998, 'recent_form_edge_home_minus_away': -0.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': 5, 'home_runs': 4, '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': 2, 'published_winner': 'NYM', 'published_winner_draw_share': 1.0, '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': 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.11, 'winner': 'NYM', '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: 143. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 145. | |||||
| 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: 143. | |||
| 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: 145. | |||
| 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 5 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYM 5 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 5-4. | |||||
| 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.521. | |||||
| 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 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM 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: NYM wins 5-4. | |||||
| 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: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match TEX pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match TEX pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match TEX pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=39 matches TEX BF=39. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match NYM pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match NYM pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match NYM pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=37 matches NYM BF=37. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.485 -> 0.512 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.484874, 'sample_size': 524, 'empirical_hit_rate': 0.5401, 'empirical_weight': 0.5, 'blended_confidence': 0.512487, 'published_confidence': 0.520878, '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.521. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.521. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.479. | |||||
| 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.566/0.762. | |||||
| 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 6, TEX 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYM 5 - TEX 4. | |||||
| 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.5208777, 'h2h_net_margin': 8, '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': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'NYM', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 5, 'raw_pick_probability': 0.595426, 'artifact': '20260923_NYM@TEX.json', 'verification': 'pregame_official_final'}, {'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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 2, 'sample_weight': 0.03, 'home_net_margin': -8.0, 'absolute_net_margin': 8.0, 'home_average_margin': -4.0, 'home_run_delta': -0.06, 'away_run_delta': 0.06, 'evidence': [{'game_id': None, 'home_margin': -5.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': 4, 'away_runs': 4, 'probability': 0.020696401842226857}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.02008850845860596}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.019750093631245778}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.019244840880597407}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.019169995151526863}], 'home_distribution': {'0': 0.05966652248076004, '1': 0.08949011247027157, '2': 0.11910038582539374, '3': 0.14065172738187146, '4': 0.1473909300912483, '5': 0.137053533192518, '6': 0.11308460877601628, '7': 0.08279622787953618, '8': 0.05379121944232406, '9': 0.031010303434215774, '10': 0.015863332569276713, '11': 0.00720073170843909, '12': 0.002900364748128737}, 'away_distribution': {'0': 0.05266936339449768, '1': 0.07937299545634657, '2': 0.10715736048494888, '3': 0.12960023236543636, '4': 0.1404184221472374, '5': 0.13629406128429586, '6': 0.11851254178198656, '7': 0.09231796621064453, '8': 0.06442325733484792, '9': 0.04027482542802806, '10': 0.02255584956298271, '11': 0.011316685531051583, '12': 0.00508643901769592}, '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.0095, 'recent_quality_edge': 0.332, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.11} | ||||
| 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': 'NYM 5 - 4 TEX', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'NYM 5 - 4 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.0998, 'recent_form_edge_home_minus_away': -0.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': 5, 'home_runs': 4, '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': 2, 'published_winner': 'NYM', 'published_winner_draw_share': 1.0, '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': 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.11, 'winner': 'NYM', '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: 143. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 145. | |||||
| 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: 143. | |||
| 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: 145. | |||
| 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 5 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYM 5 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 5-4. | |||||
| 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.521. | |||||
| 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 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM 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: NYM wins 5-4. | |||||
| 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 (H: current=8, sim=6; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=6; 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 | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Carson Benge: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1; Juan Soto: AB current=4 box=3, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Brett Baty: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; A.J. Ewing: H current=1 box=0, BB current=1 box=0; Luis Torrens: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Nick Morabito: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Francisco Lindor: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Marcus Semien: AB current=4 box=3, H current=1 box=0, 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 | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=8, sim=7; 2B: current=2, sim=3; HR: current=1, sim=0; BB: current=2, sim=3; SO: current=8, sim=3; 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 | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Jake Burger: RBI current=1 box=2, R current=0 box=1, SF current=0 box=1; Corey Seager: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Josh Jung: H current=1 box=3, RBI current=0 box=1; Ezequiel Duran: 2B current=0 box=1, RBI current=1 box=0; Justin Foscue: AB current=3 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Danny Jansen: AB current=3 box=2, BB current=0 box=2; Brandon Nimmo: H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Elias Díaz: AB current=3 box=4, 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 | 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.321852187230532 | 4.346007229238714 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.521 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYM | 1 | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 0 | 5 | 6 |
| TEX | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 4 | 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 | NYM | batting | 33 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | NYM | pitching | 7 | 0 | 4 | 3 | 3 | 9.0 | 4 | 0 | 0 | |||||||||
| current | TEX | batting | 31 | 8 | 2 | 0 | 1 | 4 | 4 | 2 | 8 | 0 | 0 | 0 | 0 | |||||
| current | TEX | pitching | 6 | 1 | 5 | 6 | 6 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | NYM | batting | 33 | 6 | 1 | 0 | 1 | 5 | 5 | 6 | 6 | 0 | 0 | |||||||
| simulation | NYM | pitching | 7 | 0 | 4 | 3 | 3 | 9.0 | 4 | 37 | 143 | |||||||||
| simulation | TEX | batting | 33 | 7 | 3 | 0 | 0 | 4 | 4 | 3 | 3 | 1 | 0 | |||||||
| simulation | TEX | pitching | 6 | 1 | 5 | 6 | 6 | 9.0 | 5 | 39 | 145 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYM | RF | Carson Benge | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | DH | Juan Soto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | NYM | 1B | Brett Baty | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | CF | A.J. Ewing | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | NYM | C | Luis Torrens | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | NYM | LF | Nick Morabito | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYM | SS | Francisco Lindor | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | 2B | Marcus Semien | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | 3B | Bo Bichette | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 1B | Jake Burger | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TEX | SS | Corey Seager | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TEX | 3B | Josh Jung | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TEX | CF | Ezequiel Duran | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 2B | Justin Foscue | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TEX | DH | Danny Jansen | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TEX | RF | Brandon Nimmo | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | C | Elias Díaz | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TEX | LF | Wyatt Langford | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| simulation | NYM | 1 | SS | Francisco Lindor | 5 | 4 | 2 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 0 | 0.500 |
| simulation | NYM | 2 | DH | Juan Soto | 5 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0.667 |
| simulation | NYM | 3 | 3B | Bo Bichette | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | NYM | 4 | RF | Carson Benge | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | NYM | 5 | 1B | Brett Baty | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | NYM | 6 | 2B | Marcus Semien | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.000 |
| simulation | NYM | 7 | CF | A.J. Ewing | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYM | 8 | C | Luis Torrens | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYM | 9 | LF | Nick Morabito | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | TEX | 1 | 2B | Justin Foscue | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TEX | 2 | SS | Corey Seager | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | TEX | 3 | 3B | Josh Jung | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.750 |
| simulation | TEX | 4 | 1B | Jake Burger | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.333 |
| simulation | TEX | 5 | RF | Brandon Nimmo | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TEX | 6 | LF | Wyatt Langford | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TEX | 7 | CF | Ezequiel Duran | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TEX | 8 | C | Elias Díaz | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | TEX | 9 | DH | Danny Jansen | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 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 | NYM | 1 | Zac Thornton | Starter | 5.2 | 5 | 2 | 2 | 0 | 2 | 0 | 0 | 0 | 3.18 | 3.40 | 1.15 |
| 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 | 1 | 0 | 0 | 0 | 0 | 9.00 | 7.34 | 1.65 |
| current | NYM | 4 | Nathan Lavender | Setup Man | 1.1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 6.75 | 1.83 | 0.81 |
| current | TEX | 1 | Kumar Rocker | Starter | 4.2 | 3 | 4 | 4 | 5 | 4 | 1 | 0 | 0 | 7.71 | 4.47 | 1.42 |
| current | TEX | 2 | Jacob Latz | Closer | 1.2 | 2 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 5.40 | 1.77 | 0.76 |
| current | TEX | 3 | Jakob Junis | Setup Man | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.89 | 1.17 |
| current | TEX | 5 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.22 | 1.47 |
| simulation | NYM | 1 | Zac Thornton | Starter | 5.2 | 5 | 2 | 2 | 0 | 2 | 0 | 22 | 86 | 3.18 | 3.40 | 1.15 |
| simulation | NYM | 2 | Kodai Senga | Closer | 1.0 | 1 | 1 | 1 | 1 | 0 | 0 | 5 | 20 | 9.00 | 7.34 | 1.65 |
| simulation | NYM | 3 | Nathan Lavender | Setup Man | 1.1 | 1 | 1 | 1 | 1 | 0 | 0 | 6 | 20 | 6.75 | 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 | Kumar Rocker | Starter | 4.2 | 3 | 4 | 4 | 5 | 4 | 1 | 22 | 88 | 7.71 | 4.47 | 1.42 |
| simulation | TEX | 2 | Jacob Latz | Closer | 1.2 | 2 | 1 | 1 | 1 | 1 | 0 | 8 | 20 | 5.40 | 1.77 | 0.76 |
| simulation | TEX | 3 | Jakob Junis | Setup Man | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 21 | 0.00 | 2.89 | 1.17 |
| simulation | TEX | 4 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 3.22 | 1.47 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| NYM | Zac Thornton | Starter | 5.2 | 2 | 5 | 0 | 2 | 22 | 86 |
| NYM | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| NYM | Kodai Senga | Closer | 1.0 | 1 | 1 | 1 | 0 | 5 | 20 |
| NYM | Nathan Lavender | Setup Man | 1.1 | 1 | 1 | 1 | 0 | 6 | 20 |
| TEX | Kumar Rocker | Starter | 4.2 | 4 | 3 | 5 | 4 | 22 | 88 |
| TEX | Jacob Latz | Closer | 1.2 | 1 | 2 | 1 | 1 | 8 | 20 |
| TEX | Jakob Junis | Setup Man | 1.2 | 0 | 0 | 0 | 0 | 5 | 21 |
| TEX | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
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. |
20260924_SD@LAD
20260924_SD@LAD.json • 2026-09-24
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-prediction batting totals differ from final simulation box score (H: current=8, sim=10; 3B: current=0, sim=1; RBI: current=4, sim=5; 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 | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: AB current=4 box=5, H current=1 box=2, 3B current=0 box=1, HR current=1 box=0; Freddie Freeman: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2; Mookie Betts: AB current=4 box=5, H current=1 box=3, 2B current=0 box=1, RBI current=1 box=0; Teoscar Hernández: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kyle Tucker: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Max Muncy: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Andy Pages: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1, SO current=1 box=0; Hunter Feduccia: AB current=3 box=4, 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 | SD | CURRENT_FINALIZED_MATCH_BOX | SD model pitcher projections differ from final simulation pitching box score (H: current=8, sim=10). | 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=37; H: current=7, sim=10; R: current=6, sim=4; BB: current=3, sim=2; SO: current=10, 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 | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Manny Machado: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Dustin Harris: H current=1 box=3, RBI current=0 box=2, BB current=0 box=1, SO current=1 box=0; Ty France: H current=1 box=0, RBI current=1 box=0; Fernando Tatis Jr.: 2B current=1 box=0, RBI current=1 box=0; Samad Taylor: AB current=3 box=4, R current=1 box=0; Jackson Merrill: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=2 box=0; Xander Bogaerts: H current=0 box=2, 2B current=0 box=1, BB current=1 box=0; Ethan Salas: AB current=3 box=4, H current=0 box=2, HR current=0 box=1, RBI current=0 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: 4. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match SD pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match SD pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=38 matches SD BF=38. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match LAD pitching: 2. | |||
| 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: 10. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match LAD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=39 matches LAD BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.529 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': 689, 'empirical_hit_rate': 0.5486, 'empirical_weight': 0.5, 'blended_confidence': 0.52935, 'published_confidence': 0.509796, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD current pitcher projected totals match final simulation pitching box score. | |||
| 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.490. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.510. | |||||
| 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.692/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_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 10, LAD 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SD 4 - LAD 5. | |||||
| 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.53, reasons=latest same-matchup result beat the predicted side; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 5 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 margin does not support a strong repeat pick', 'local prediction memory shows 5 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', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'SD', 'h2h_net_margin': 0, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 1, 'opponent_runs': 5, 'margin_for_predicted_team': -4, 'winner': 'SD'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 8, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260923', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'SD', 'actual_margin': 4, 'raw_pick_probability': 0.535156, 'artifact': '20260923_SD@LAD.json', 'verification': 'pregame_official_final'}, {'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'}]}, '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': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'SD 4 - 5 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'SD 4 - 5 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.0449, 'recent_form_edge_home_minus_away': -0.002, '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': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', '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': 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.6803, 'winner': 'LAD', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 4.0, 'absolute_net_margin': 4.0, 'home_average_margin': 0.8, 'home_run_delta': 0.0231, 'away_run_delta': -0.0231, 'evidence': [{'game_id': None, 'home_margin': -4.0}, {'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}], '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.01828600254744064}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01827808388698091}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.01808552680520174}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.018077694959743217}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.016632370696392652}], 'home_distribution': {'0': 0.04773391427896599, '1': 0.07217045144873978, '2': 0.09839242724720419, '3': 0.12095777961005333, '4': 0.1340836479099121, '5': 0.13402558366770026, '6': 0.12080070719412504, '7': 0.09817956997800228, '8': 0.07195196412691617, '9': 0.04754819784480317, '10': 0.028333181769212287, '11': 0.01522392072497899, '12': 0.007376112961114932, '13': 0.0032225412382714254}, 'away_distribution': {'0': 0.049473323278532357, '1': 0.07471235079318687, '2': 0.1014989352444301, '3': 0.12404473592162098, '4': 0.13637757349596136, '5': 0.13488241919964034, '6': 0.12000946564949615, '7': 0.09605576275441231, '8': 0.06916384288124984, '9': 0.04480047036469838, '10': 0.02610560722661625, '11': 0.013684621597194165, '12': 0.006453265808624789, '13': 0.0027376257843361946}, '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.0854, 'recent_quality_edge': -0.072, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.6803} | ||||
| 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': 'SD 4 - 5 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'SD 4 - 5 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.0449, 'recent_form_edge_home_minus_away': -0.002, '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': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', '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': 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.6803, 'winner': 'LAD', '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: 166. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 158. | |||||
| 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: 158. | |||
| 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: 166. | |||
| 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 | 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 4 - 5 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SD 4 - 5 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 5-4. | |||||
| 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.510. | |||||
| 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 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD 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: LAD wins 5-4. | |||||
| 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: 4. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match SD pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match SD pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=38 matches SD BF=38. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match LAD pitching: 2. | |||
| 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: 10. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match LAD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=39 matches LAD BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.529 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': 689, 'empirical_hit_rate': 0.5486, 'empirical_weight': 0.5, 'blended_confidence': 0.52935, 'published_confidence': 0.509796, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD current pitcher projected totals match final simulation pitching box score. | |||
| 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.490. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.510. | |||||
| 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.692/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_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 10, LAD 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SD 4 - LAD 5. | |||||
| 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.53, reasons=latest same-matchup result beat the predicted side; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 5 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 margin does not support a strong repeat pick', 'local prediction memory shows 5 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', 'latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'SD', 'h2h_net_margin': 0, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 1, 'opponent_runs': 5, 'margin_for_predicted_team': -4, 'winner': 'SD'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 8, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260923', 'away': 'SD', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'SD', 'actual_margin': 4, 'raw_pick_probability': 0.535156, 'artifact': '20260923_SD@LAD.json', 'verification': 'pregame_official_final'}, {'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'}]}, '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': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'SD 4 - 5 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'SD 4 - 5 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.0449, 'recent_form_edge_home_minus_away': -0.002, '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': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', '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': 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.6803, 'winner': 'LAD', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 4.0, 'absolute_net_margin': 4.0, 'home_average_margin': 0.8, 'home_run_delta': 0.0231, 'away_run_delta': -0.0231, 'evidence': [{'game_id': None, 'home_margin': -4.0}, {'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}], '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.01828600254744064}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01827808388698091}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.01808552680520174}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.018077694959743217}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.016632370696392652}], 'home_distribution': {'0': 0.04773391427896599, '1': 0.07217045144873978, '2': 0.09839242724720419, '3': 0.12095777961005333, '4': 0.1340836479099121, '5': 0.13402558366770026, '6': 0.12080070719412504, '7': 0.09817956997800228, '8': 0.07195196412691617, '9': 0.04754819784480317, '10': 0.028333181769212287, '11': 0.01522392072497899, '12': 0.007376112961114932, '13': 0.0032225412382714254}, 'away_distribution': {'0': 0.049473323278532357, '1': 0.07471235079318687, '2': 0.1014989352444301, '3': 0.12404473592162098, '4': 0.13637757349596136, '5': 0.13488241919964034, '6': 0.12000946564949615, '7': 0.09605576275441231, '8': 0.06916384288124984, '9': 0.04480047036469838, '10': 0.02610560722661625, '11': 0.013684621597194165, '12': 0.006453265808624789, '13': 0.0027376257843361946}, '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.0854, 'recent_quality_edge': -0.072, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.6803} | ||||
| 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': 'SD 4 - 5 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'SD 4 - 5 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.0449, 'recent_form_edge_home_minus_away': -0.002, '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': 'LAD', 'model_winner': 'LAD', 'simulation_winner': 'LAD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAD', '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': 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.6803, 'winner': 'LAD', '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: 166. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 158. | |||||
| 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: 158. | |||
| 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: 166. | |||
| 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 | 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 4 - 5 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SD 4 - 5 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 5-4. | |||||
| 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.510. | |||||
| 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 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD 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: LAD wins 5-4. | |||||
| 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-prediction batting totals differ from final simulation box score (H: current=8, sim=10; 3B: current=0, sim=1; RBI: current=4, sim=5; 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 | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: AB current=4 box=5, H current=1 box=2, 3B current=0 box=1, HR current=1 box=0; Freddie Freeman: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2; Mookie Betts: AB current=4 box=5, H current=1 box=3, 2B current=0 box=1, RBI current=1 box=0; Teoscar Hernández: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kyle Tucker: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Max Muncy: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Andy Pages: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1, SO current=1 box=0; Hunter Feduccia: AB current=3 box=4, 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 | SD | CURRENT_FINALIZED_MATCH_BOX | SD model pitcher projections differ from final simulation pitching box score (H: current=8, sim=10). | 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=37; H: current=7, sim=10; R: current=6, sim=4; BB: current=3, sim=2; SO: current=10, 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 | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Manny Machado: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Dustin Harris: H current=1 box=3, RBI current=0 box=2, BB current=0 box=1, SO current=1 box=0; Ty France: H current=1 box=0, RBI current=1 box=0; Fernando Tatis Jr.: 2B current=1 box=0, RBI current=1 box=0; Samad Taylor: AB current=3 box=4, R current=1 box=0; Jackson Merrill: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=2 box=0; Xander Bogaerts: H current=0 box=2, 2B current=0 box=1, BB current=1 box=0; Ethan Salas: AB current=3 box=4, H current=0 box=2, HR current=0 box=1, RBI current=0 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.470916469863103 | 4.874281242705484 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.510 | 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 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 4 | 10 |
| LAD | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 3 | 0 | 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 | SD | batting | 34 | 7 | 1 | 0 | 1 | 4 | 6 | 3 | 10 | 0 | 0 | 0 | 0 | |||||
| current | SD | pitching | 8 | 1 | 5 | 4 | 9 | 8.0 | 5 | 0 | 0 | |||||||||
| current | LAD | batting | 34 | 8 | 2 | 0 | 1 | 4 | 5 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | LAD | pitching | 10 | 1 | 4 | 2 | 8 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | SD | batting | 37 | 10 | 1 | 0 | 1 | 4 | 4 | 2 | 8 | 0 | 0 | |||||||
| simulation | SD | pitching | 10 | 1 | 5 | 4 | 9 | 8.0 | 5 | 38 | 166 | |||||||||
| simulation | LAD | batting | 34 | 10 | 2 | 1 | 1 | 5 | 5 | 4 | 9 | 0 | 0 | |||||||
| simulation | LAD | pitching | 10 | 1 | 4 | 2 | 8 | 9.0 | 4 | 39 | 158 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SD | 3B | Manny Machado | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SD | LF | Dustin Harris | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | 1B | Ty France | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | RF | Fernando Tatis Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SD | DH | Samad Taylor | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SD | CF | Jackson Merrill | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 | |
| current | SD | SS | Xander Bogaerts | 0 | 4 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 | |
| current | SD | C | Ethan Salas | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SD | 2B | Jake Cronenworth | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAD | DH | Shohei Ohtani | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAD | 1B | Freddie Freeman | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAD | SS | Mookie Betts | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAD | LF | Teoscar Hernández | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAD | RF | Kyle Tucker | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAD | 3B | Max Muncy | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAD | CF | Andy Pages | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAD | C | Hunter Feduccia | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | LAD | 2B | Tommy Edman | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | SD | 1 | RF | Fernando Tatis Jr. | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | SD | 2 | LF | Dustin Harris | 5 | 4 | 3 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.750 |
| simulation | SD | 3 | 3B | Manny Machado | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | SD | 4 | 1B | Ty France | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | SD | 5 | CF | Jackson Merrill | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SD | 6 | SS | Xander Bogaerts | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | SD | 7 | 2B | Jake Cronenworth | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | SD | 8 | DH | Samad Taylor | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | SD | 9 | C | Ethan Salas | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.500 |
| simulation | LAD | 1 | DH | Shohei Ohtani | 5 | 5 | 2 | 0 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | 0.400 |
| simulation | LAD | 2 | SS | Mookie Betts | 5 | 5 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.600 |
| simulation | LAD | 3 | 1B | Freddie Freeman | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | LAD | 4 | LF | Teoscar Hernández | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | LAD | 5 | RF | Kyle Tucker | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | LAD | 6 | 3B | Max Muncy | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | LAD | 7 | CF | Andy Pages | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | LAD | 8 | C | Hunter Feduccia | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | LAD | 9 | 2B | Tommy Edman | 4 | 3 | 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 | SD | 1 | Nick Pivetta | Starter | 5.0 | 5 | 2 | 2 | 3 | 6 | 1 | 0 | 0 | 3.60 | 3.30 | 1.00 |
| current | SD | 2 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.1 | 3 | 3 | 3 | 1 | 2 | 0 | 0 | 0 | 20.25 | 1.75 | 0.97 |
| current | SD | 3 | Mason Miller | Closer | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.19 | 0.84 |
| current | LAD | 1 | Tyler Glasnow | Starter | 6.0 | 5 | 2 | 2 | 2 | 7 | 0 | 0 | 0 | 3.00 | 3.46 | 0.96 |
| current | LAD | 2 | Alex Vesia | Middle Reliever (High Leverage) | 1.0 | 4 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 18.00 | 2.73 | 1.11 |
| current | LAD | 3 | Brock Stewart | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.10 | 0.94 |
| current | LAD | 4 | Tanner Scott | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.77 | 1.01 |
| simulation | SD | 1 | Nick Pivetta | Starter | 5.0 | 5 | 2 | 2 | 3 | 6 | 1 | 23 | 102 | 3.60 | 3.30 | 1.00 |
| simulation | SD | 2 | Mason Miller | Closer | 1.2 | 2 | 0 | 0 | 0 | 1 | 0 | 7 | 34 | 0.00 | 1.19 | 0.84 |
| simulation | SD | 3 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.1 | 3 | 3 | 3 | 1 | 2 | 0 | 8 | 30 | 20.25 | 1.75 | 0.97 |
| simulation | LAD | 1 | Tyler Glasnow | Starter | 6.0 | 5 | 2 | 2 | 2 | 7 | 0 | 25 | 104 | 3.00 | 3.46 | 0.96 |
| simulation | LAD | 2 | Tanner Scott | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.77 | 1.01 |
| simulation | LAD | 3 | Brock Stewart | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 2.10 | 0.94 |
| simulation | LAD | 4 | Alex Vesia | Middle Reliever (High Leverage) | 1.0 | 4 | 2 | 2 | 0 | 0 | 1 | 7 | 25 | 18.00 | 2.73 | 1.11 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| SD | Nick Pivetta | Starter | 5.0 | 2 | 5 | 3 | 6 | 23 | 102 |
| SD | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.1 | 3 | 3 | 1 | 2 | 8 | 30 |
| SD | Mason Miller | Closer | 1.2 | 0 | 2 | 0 | 1 | 7 | 34 |
| LAD | Tyler Glasnow | Starter | 6.0 | 2 | 5 | 2 | 7 | 25 | 104 |
| LAD | Alex Vesia | Middle Reliever (High Leverage) | 1.0 | 2 | 4 | 0 | 0 | 7 | 25 |
| LAD | Brock Stewart | Setup Man | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| LAD | Tanner Scott | Closer | 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 | 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. |
20260924_STL@PIT
20260924_STL@PIT.json • 2026-09-24
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=33; H: current=9, sim=7; 2B: current=2, sim=3; BB: current=3, sim=6; SO: current=8, sim=7; HBP: current=0, sim=2). | 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: Ryan O'Hearn: AB current=4 box=5, 2B current=1 box=0, SO current=1 box=0; Oneil Cruz: AB current=4 box=1, H current=1 box=0, RBI current=1 box=0, BB current=1 box=3; Konnor Griffin: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Brandon Lowe: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jake Mangum: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Nick Gonzales: H current=1 box=3, 2B current=0 box=2, RBI current=0 box=2, R current=0 box=1; Ronny Simon: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Henry Davis: R current=0 box=1, HBP 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 | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=5, sim=4; BB: current=3, sim=1; SO: current=9, 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 | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: RBI current=0 box=2, BB current=1 box=0; Iván Herrera: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Leonardo Bernal: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Bryan Torres: AB current=3 box=4, 2B current=0 box=1; Thomas Saggese: H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Masyn Winn: H current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Alec Burleson: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jordan Walker: 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 | 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: 6. | |||
| 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: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match STL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=41 matches STL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match PIT pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match PIT pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match PIT pitching: 7. | |||
| 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=35 matches PIT BF=35. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.534 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': 682, 'empirical_hit_rate': 0.5587, 'empirical_weight': 0.5, 'blended_confidence': 0.5344, 'published_confidence': 0.52755, '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.472. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.528. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.528. | |||||
| 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.566/0.762. | |||||
| 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: STL 7, PIT 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: STL 4 - PIT 5. | |||||
| 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.53, 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; local prediction memory shows 5 straight prior same-side picks. | {'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', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 5 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': 'PIT', 'opponent_team': 'STL', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 1, 'opponent_runs': 5, 'margin_for_predicted_team': -4, 'winner': 'STL'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'STL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'STL', 'actual_margin': 4, 'raw_pick_probability': 0.556013, 'artifact': '20260923_STL@PIT.json', 'verification': 'pregame_official_final'}, {'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': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'STL 4 - 5 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'STL 4 - 5 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.0209, 'recent_form_edge_home_minus_away': 0.462, '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': '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': 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.3532, 'winner': 'PIT', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 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': -4.0}, {'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}], '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.02081226366379775}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01988115466374111}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.01964305753488803}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.019628646279969634}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.019448738897863256}], 'home_distribution': {'0': 0.05527235233938568, '1': 0.08314814931543317, '2': 0.11165846104402682, '3': 0.13385207241831928, '4': 0.14323626008583368, '5': 0.13682808781515637, '6': 0.11667879996343887, '7': 0.08881842368854992, '8': 0.06035435042126447, '9': 0.036610740261761435, '10': 0.019824527812681268, '11': 0.00958278192305989, '12': 0.004134992911089104}, 'away_distribution': {'0': 0.057357500708918915, '1': 0.0861624525195108, '2': 0.11521437926850878, '3': 0.13713746451573797, '4': 0.14530024486345913, '5': 0.1370368527369205, '6': 0.11504538574890458, '7': 0.08597295071200058, '8': 0.057189363064547624, '9': 0.03386331620799585, '10': 0.01784861457333401, '11': 0.008374142290211129, '12': 0.003497332789950093}, '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.3323, 'recent_quality_edge': 0.392, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.3532} | ||||
| 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': 'STL 4 - 5 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'STL 4 - 5 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.0209, 'recent_form_edge_home_minus_away': 0.462, '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': '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': 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.3532, 'winner': 'PIT', '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: 191. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 132. | |||||
| 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: 132. | |||
| 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: 191. | |||
| 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.2. | |||
| 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 4 - 5 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: STL 4 - 5 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 5-4. | |||||
| 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.528. | |||||
| 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 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT 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: PIT wins 5-4. | |||||
| 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: 6. | |||
| 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: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match STL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=41 matches STL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match PIT pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match PIT pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match PIT pitching: 7. | |||
| 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=35 matches PIT BF=35. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.534 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': 682, 'empirical_hit_rate': 0.5587, 'empirical_weight': 0.5, 'blended_confidence': 0.5344, 'published_confidence': 0.52755, '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.472. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.528. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.528. | |||||
| 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.566/0.762. | |||||
| 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: STL 7, PIT 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: STL 4 - PIT 5. | |||||
| 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.53, 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; local prediction memory shows 5 straight prior same-side picks. | {'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', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 5 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': 'PIT', 'opponent_team': 'STL', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 1, 'opponent_runs': 5, 'margin_for_predicted_team': -4, 'winner': 'STL'}, {'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'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 5, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260923', 'away': 'STL', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'STL', 'actual_margin': 4, 'raw_pick_probability': 0.556013, 'artifact': '20260923_STL@PIT.json', 'verification': 'pregame_official_final'}, {'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': True, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'STL 4 - 5 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'STL 4 - 5 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.0209, 'recent_form_edge_home_minus_away': 0.462, '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': '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': 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.3532, 'winner': 'PIT', '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 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': -4.0}, {'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}], '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.02081226366379775}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01988115466374111}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.01964305753488803}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.019628646279969634}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.019448738897863256}], 'home_distribution': {'0': 0.05527235233938568, '1': 0.08314814931543317, '2': 0.11165846104402682, '3': 0.13385207241831928, '4': 0.14323626008583368, '5': 0.13682808781515637, '6': 0.11667879996343887, '7': 0.08881842368854992, '8': 0.06035435042126447, '9': 0.036610740261761435, '10': 0.019824527812681268, '11': 0.00958278192305989, '12': 0.004134992911089104}, 'away_distribution': {'0': 0.057357500708918915, '1': 0.0861624525195108, '2': 0.11521437926850878, '3': 0.13713746451573797, '4': 0.14530024486345913, '5': 0.1370368527369205, '6': 0.11504538574890458, '7': 0.08597295071200058, '8': 0.057189363064547624, '9': 0.03386331620799585, '10': 0.01784861457333401, '11': 0.008374142290211129, '12': 0.003497332789950093}, '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.3323, 'recent_quality_edge': 0.392, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.3532} | ||||
| 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': 'STL 4 - 5 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'STL 4 - 5 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.0209, 'recent_form_edge_home_minus_away': 0.462, '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': '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': 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.3532, 'winner': 'PIT', '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: 191. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 132. | |||||
| 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: 132. | |||
| 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: 191. | |||
| 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.2. | |||
| 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 4 - 5 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: STL 4 - 5 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 5-4. | |||||
| 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.528. | |||||
| 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 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT 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: PIT wins 5-4. | |||||
| 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=33; H: current=9, sim=7; 2B: current=2, sim=3; BB: current=3, sim=6; SO: current=8, sim=7; HBP: current=0, sim=2). | 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: Ryan O'Hearn: AB current=4 box=5, 2B current=1 box=0, SO current=1 box=0; Oneil Cruz: AB current=4 box=1, H current=1 box=0, RBI current=1 box=0, BB current=1 box=3; Konnor Griffin: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Brandon Lowe: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jake Mangum: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Nick Gonzales: H current=1 box=3, 2B current=0 box=2, RBI current=0 box=2, R current=0 box=1; Ronny Simon: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Henry Davis: R current=0 box=1, HBP 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 | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=5, sim=4; BB: current=3, sim=1; SO: current=9, 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 | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: RBI current=0 box=2, BB current=1 box=0; Iván Herrera: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Leonardo Bernal: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Bryan Torres: AB current=3 box=4, 2B current=0 box=1; Thomas Saggese: H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Masyn Winn: H current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Alec Burleson: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jordan Walker: 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.788436048325341 | 5.500705428463004 | Base ML historical model prediction | |
| variance_applied | 5 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.528 | 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 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| STL | 0 | 1 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 4 | 7 |
| PIT | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 3 | 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 | STL | batting | 32 | 8 | 2 | 0 | 1 | 5 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | STL | pitching | 7 | 1 | 5 | 6 | 7 | 8.0 | 5 | 0 | 0 | |||||||||
| current | PIT | batting | 34 | 9 | 2 | 0 | 1 | 5 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | PIT | pitching | 7 | 0 | 4 | 1 | 8 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | STL | batting | 34 | 7 | 1 | 0 | 0 | 4 | 4 | 1 | 8 | 0 | 0 | |||||||
| simulation | STL | pitching | 7 | 1 | 5 | 6 | 7 | 8.2 | 5 | 41 | 191 | |||||||||
| simulation | PIT | batting | 33 | 7 | 3 | 0 | 1 | 5 | 5 | 6 | 7 | 0 | 2 | |||||||
| simulation | PIT | pitching | 7 | 0 | 4 | 1 | 8 | 9.0 | 4 | 35 | 132 |
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 | C | Iván Herrera | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | STL | DH | Leonardo Bernal | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | LF | Bryan Torres | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | STL | 3B | Thomas Saggese | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | STL | SS | Masyn Winn | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | STL | 1B | Alec Burleson | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 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 | CF | Nathan Church | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | PIT | DH | Ryan O'Hearn | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | CF | Oneil Cruz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | SS | Konnor Griffin | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | 2B | Brandon Lowe | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | LF | Jake Mangum | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | 3B | Nick Gonzales | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | RF | Ronny Simon | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | C | Henry Davis | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | 1B | Spencer Horwitz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0.250 | |
| simulation | STL | 1 | 2B | JJ Wetherholt | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | STL | 2 | C | Iván Herrera | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | STL | 3 | 1B | Alec Burleson | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | STL | 4 | RF | Jordan Walker | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | STL | 5 | DH | Leonardo Bernal | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | STL | 6 | LF | Bryan Torres | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | STL | 7 | 3B | Thomas Saggese | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | STL | 8 | CF | Nathan Church | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | STL | 9 | SS | Masyn Winn | 3 | 3 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.333 |
| simulation | PIT | 1 | CF | Oneil Cruz | 5 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 1 | 0.000 |
| simulation | PIT | 2 | SS | Konnor Griffin | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 3 | 2B | Brandon Lowe | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | PIT | 4 | DH | Ryan O'Hearn | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.200 |
| simulation | PIT | 5 | 3B | Nick Gonzales | 5 | 4 | 3 | 2 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0.750 |
| simulation | PIT | 6 | RF | Ronny Simon | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PIT | 7 | 1B | Spencer Horwitz | 4 | 4 | 2 | 1 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | PIT | 8 | LF | Jake Mangum | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | PIT | 9 | C | Henry Davis | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 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 | STL | 1 | Kyle Leahy | Starter | 5.0 | 2 | 2 | 2 | 4 | 6 | 0 | 0 | 0 | 3.60 | 3.65 | 1.34 |
| current | STL | 2 | Justin Bruihl | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 9.00 | 3.69 | 1.33 |
| current | STL | 3 | Riley O'Brien | Closer | 1.0 | 3 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 18.00 | 4.08 | 1.28 |
| current | STL | 4 | Ryne Stanek | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 3.94 | 1.30 |
| current | PIT | 1 | Paul Skenes | Starter | 5.2 | 7 | 4 | 4 | 1 | 7 | 0 | 0 | 0 | 6.35 | 3.91 | 1.13 |
| current | PIT | 3 | Luke Weaver | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.75 | 0.97 |
| current | PIT | 4 | Mason Montgomery | Closer | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.32 | 1.00 |
| simulation | STL | 1 | Kyle Leahy | Starter | 5.0 | 2 | 2 | 2 | 4 | 6 | 0 | 24 | 97 | 3.60 | 3.65 | 1.34 |
| simulation | STL | 2 | Riley O'Brien | Closer | 1.0 | 3 | 2 | 2 | 0 | 0 | 1 | 6 | 34 | 18.00 | 4.08 | 1.28 |
| simulation | STL | 3 | Ryne Stanek | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 25 | 0.00 | 3.94 | 1.30 |
| simulation | STL | 4 | Justin Bruihl | Middle Reliever (High Leverage) | 1.2 | 2 | 1 | 1 | 1 | 0 | 0 | 7 | 35 | 5.40 | 3.69 | 1.33 |
| simulation | PIT | 1 | Paul Skenes | Starter | 5.2 | 7 | 4 | 4 | 1 | 7 | 0 | 25 | 96 | 6.35 | 3.91 | 1.13 |
| simulation | PIT | 2 | Mason Montgomery | Closer | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 19 | 0.00 | 2.32 | 1.00 |
| simulation | PIT | 3 | Luke Weaver | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 2.75 | 0.97 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| STL | Kyle Leahy | Starter | 5.0 | 2 | 2 | 4 | 6 | 24 | 97 |
| STL | Justin Bruihl | Middle Reliever (High Leverage) | 1.2 | 1 | 2 | 1 | 0 | 7 | 35 |
| STL | Riley O'Brien | Closer | 1.0 | 2 | 3 | 0 | 0 | 6 | 34 |
| STL | Ryne Stanek | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 25 |
| PIT | Paul Skenes | Starter | 5.2 | 4 | 7 | 1 | 7 | 25 | 96 |
| PIT | Luke Weaver | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| PIT | Mason Montgomery | Closer | 2.0 | 0 | 0 | 0 | 1 | 6 | 19 |
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. |
20260924_TB@NYY
20260924_TB@NYY.json • 2026-09-24
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 (3B: current=0, sim=1; BB: current=3, sim=2; SO: current=10, 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 | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Paul Goldschmidt: HR current=0 box=1, SO current=2 box=1; Ben Rice: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Heliot Ramos: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Anthony Volpe: AB current=3 box=4, H current=1 box=0, BB current=1 box=0; Cody Bellinger: H current=1 box=3, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; George Lombard Jr.: 3B current=0 box=1, RBI current=0 box=2; José Caballero: H current=1 box=0, SO current=1 box=0; Amed Rosario: AB current=3 box=4, 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 | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 2B: current=1, sim=0; HR: current=1, sim=0; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=3, sim=2). | 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: Liam Hicks: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Yandy Díaz: RBI current=1 box=2, SO current=1 box=3; Jonny DeLuca: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Junior Caminero: HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Ryan Vilade: AB current=3 box=2, BB current=0 box=1; Victor Mesa Jr.: H current=1 box=0, R current=1 box=0; Richie Palacios: BB current=1 box=0; Taylor Walls: 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 | 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: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match TB pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match TB pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=34 matches TB BF=34. | |||
| 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: 2. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match NYY pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match NYY pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match NYY pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=33 matches NYY BF=33. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 2. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.549 -> 0.551 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.548657, 'sample_size': 691, 'empirical_hit_rate': 0.5528, 'empirical_weight': 0.5, 'blended_confidence': 0.550728, 'published_confidence': 0.531136, '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.469. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.531. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.531. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.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.692/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_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: TB 4, NYY 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TB 2 - NYY 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYY. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYY; cap=0.54, reasons=predicted side recently lost this matchup by 5+ runs; 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': ['predicted side recently lost this matchup by 5+ runs', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'NYY', 'opponent_team': 'TB', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 9, 'opponent_runs': 2, 'margin_for_predicted_team': 7, 'winner': 'NYY'}, {'date': '2026-09-22', 'predicted_team_runs': 1, 'opponent_runs': 6, 'margin_for_predicted_team': -5, 'winner': 'TB'}, {'date': '2026-09-22', 'predicted_team_runs': 2, 'opponent_runs': 0, 'margin_for_predicted_team': 2, 'winner': 'NYY'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260923', 'away': 'TB', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'NYY', 'actual_margin': 7, 'raw_pick_probability': 0.505259, 'artifact': '20260923_TB@NYY.json', 'verification': 'pregame_official_final'}, {'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': 'NYY', 'guardrail_opponent_team': 'TB', 'output_pre_simulation_winner': 'NYY', 'output_opponent_team': 'TB', 'simulation_score_winner': 'NYY', 'final_score_winner': 'NYY', 'pre_simulation_winner': 'NYY', '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': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, '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.0045, 'recent_form_edge_home_minus_away': -0.042, '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': 2, 'home_runs': 4, 'winner': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'NYY', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'TB', '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': 2, 'home_runs': 4}, 'simulation_score': {'away_runs': 2, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.185, 'winner': 'NYY', 'score_reviewed': {'away_runs': 2, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 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': 7.0}, {'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}], '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': 3, 'probability': 0.024285963649880254}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.024277539466072005}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.023964805104349434}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02395649232228163}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.021467001552266655}], 'home_distribution': {'0': 0.06935122731254538, '1': 0.10332759783301478, '2': 0.13480562413206995, '3': 0.15400300198833647, '4': 0.15405644025367574, '5': 0.1349460034477179, '6': 0.10350699306610085, '7': 0.06951985445352596, '8': 0.04088627193601181, '9': 0.021055990118510844, '10': 0.009495182580939109, '11': 0.0037493887227059257, '12': 0.0012964241548452167}, 'away_distribution': {'0': 0.07224826907150249, '1': 0.10743410842246989, '2': 0.13934504469218034, '3': 0.15764328716079626, '4': 0.15555860608545796, '5': 0.13388971326066465, '6': 0.10051595143725854, '7': 0.06581992332097474, '8': 0.03759363876441917, '9': 0.018728628011678572, '10': 0.00813827144656019, '11': 0.0030845583260371784}, '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.3449, 'recent_quality_edge': -0.112, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.185} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, '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.0045, 'recent_form_edge_home_minus_away': -0.042, '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': 2, 'home_runs': 4, 'winner': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'NYY', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'TB', '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': 2, 'home_runs': 4}, 'simulation_score': {'away_runs': 2, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.185, 'winner': 'NYY', 'score_reviewed': {'away_runs': 2, '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: 126. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 137. | |||||
| 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: 137. | |||
| 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: 126. | |||
| 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 | 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: 8.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: 9.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: 8.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 2 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TB 2 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 4-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=NYY, simulation=NYY, published=NYY. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.531. | |||||
| 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: 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): NYY wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY wins 2-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-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 2-4, final 2-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYY wins 4-2. | |||||
| 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: 6/10 = 0.600. | |||
| 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: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match TB pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match TB pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=34 matches TB BF=34. | |||
| 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: 2. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match NYY pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match NYY pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match NYY pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=33 matches NYY BF=33. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 2. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.549 -> 0.551 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.548657, 'sample_size': 691, 'empirical_hit_rate': 0.5528, 'empirical_weight': 0.5, 'blended_confidence': 0.550728, 'published_confidence': 0.531136, '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.469. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.531. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.531. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.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.692/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_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: TB 4, NYY 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TB 2 - NYY 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYY. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYY; cap=0.54, reasons=predicted side recently lost this matchup by 5+ runs; 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': ['predicted side recently lost this matchup by 5+ runs', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'NYY', 'opponent_team': 'TB', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-23', 'predicted_team_runs': 9, 'opponent_runs': 2, 'margin_for_predicted_team': 7, 'winner': 'NYY'}, {'date': '2026-09-22', 'predicted_team_runs': 1, 'opponent_runs': 6, 'margin_for_predicted_team': -5, 'winner': 'TB'}, {'date': '2026-09-22', 'predicted_team_runs': 2, 'opponent_runs': 0, 'margin_for_predicted_team': 2, 'winner': 'NYY'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 5, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 2, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '20260923', 'away': 'TB', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'NYY', 'actual_margin': 7, 'raw_pick_probability': 0.505259, 'artifact': '20260923_TB@NYY.json', 'verification': 'pregame_official_final'}, {'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': 'NYY', 'guardrail_opponent_team': 'TB', 'output_pre_simulation_winner': 'NYY', 'output_opponent_team': 'TB', 'simulation_score_winner': 'NYY', 'final_score_winner': 'NYY', 'pre_simulation_winner': 'NYY', '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': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, '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.0045, 'recent_form_edge_home_minus_away': -0.042, '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': 2, 'home_runs': 4, 'winner': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'NYY', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'TB', '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': 2, 'home_runs': 4}, 'simulation_score': {'away_runs': 2, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.185, 'winner': 'NYY', 'score_reviewed': {'away_runs': 2, '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-24. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260924_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': 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': 7.0}, {'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}], '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': 3, 'probability': 0.024285963649880254}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.024277539466072005}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.023964805104349434}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02395649232228163}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.021467001552266655}], 'home_distribution': {'0': 0.06935122731254538, '1': 0.10332759783301478, '2': 0.13480562413206995, '3': 0.15400300198833647, '4': 0.15405644025367574, '5': 0.1349460034477179, '6': 0.10350699306610085, '7': 0.06951985445352596, '8': 0.04088627193601181, '9': 0.021055990118510844, '10': 0.009495182580939109, '11': 0.0037493887227059257, '12': 0.0012964241548452167}, 'away_distribution': {'0': 0.07224826907150249, '1': 0.10743410842246989, '2': 0.13934504469218034, '3': 0.15764328716079626, '4': 0.15555860608545796, '5': 0.13388971326066465, '6': 0.10051595143725854, '7': 0.06581992332097474, '8': 0.03759363876441917, '9': 0.018728628011678572, '10': 0.00813827144656019, '11': 0.0030845583260371784}, '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.3449, 'recent_quality_edge': -0.112, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.185} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TB 2 - 4 NYY', 'winner': 'NYY'}, '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.0045, 'recent_form_edge_home_minus_away': -0.042, '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': 2, 'home_runs': 4, 'winner': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'NYY', 'published_winner_draw_share': 0.3333, 'draw_majority_team': 'TB', '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': 2, 'home_runs': 4}, 'simulation_score': {'away_runs': 2, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.185, 'winner': 'NYY', 'score_reviewed': {'away_runs': 2, '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: 126. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 137. | |||||
| 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: 137. | |||
| 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: 126. | |||
| 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 | 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: 8.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: 9.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: 8.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 2 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TB 2 - 4 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 4-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=NYY, simulation=NYY, published=NYY. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.531. | |||||
| 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: 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): NYY wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY wins 2-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-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 2-4, final 2-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYY wins 4-2. | |||||
| 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: 6/10 = 0.600. | |||
| 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 (3B: current=0, sim=1; BB: current=3, sim=2; SO: current=10, 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 | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Paul Goldschmidt: HR current=0 box=1, SO current=2 box=1; Ben Rice: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Heliot Ramos: AB current=4 box=3, BB current=0 box=1, SO current=1 box=0; Anthony Volpe: AB current=3 box=4, H current=1 box=0, BB current=1 box=0; Cody Bellinger: H current=1 box=3, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; George Lombard Jr.: 3B current=0 box=1, RBI current=0 box=2; José Caballero: H current=1 box=0, SO current=1 box=0; Amed Rosario: AB current=3 box=4, 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 | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 2B: current=1, sim=0; HR: current=1, sim=0; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=3, sim=2). | 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: Liam Hicks: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Yandy Díaz: RBI current=1 box=2, SO current=1 box=3; Jonny DeLuca: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Junior Caminero: HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Ryan Vilade: AB current=3 box=2, BB current=0 box=1; Victor Mesa Jr.: H current=1 box=0, R current=1 box=0; Richie Palacios: BB current=1 box=0; Taylor Walls: 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 | 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.295316691449317 | 5.235244192728143 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 3 | 4 | 0.531 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 2 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 2 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 2 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 2 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TB | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 4 |
| NYY | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 4 | 8 |
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 | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | TB | pitching | 8 | 1 | 4 | 2 | 6 | 8.0 | 4 | 0 | 0 | |||||||||
| current | NYY | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 10 | 0 | 0 | 0 | 0 | |||||
| current | NYY | pitching | 4 | 0 | 2 | 2 | 8 | 9.0 | 2 | 0 | 0 | |||||||||
| simulation | TB | batting | 31 | 4 | 0 | 0 | 0 | 2 | 2 | 2 | 8 | 0 | 0 | |||||||
| simulation | TB | pitching | 8 | 1 | 4 | 2 | 6 | 8.0 | 4 | 34 | 126 | |||||||||
| simulation | NYY | batting | 32 | 8 | 1 | 1 | 1 | 4 | 4 | 2 | 6 | 0 | 0 | |||||||
| simulation | NYY | pitching | 4 | 0 | 2 | 2 | 8 | 9.0 | 2 | 33 | 137 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TB | C | Liam Hicks | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | DH | Yandy Díaz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TB | CF | Jonny DeLuca | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TB | 3B | Junior Caminero | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | 1B | Ryan Vilade | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TB | RF | Victor Mesa Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TB | LF | Chandler Simpson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TB | 2B | Richie Palacios | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | TB | SS | Taylor Walls | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYY | DH | Paul Goldschmidt | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 | |
| current | NYY | 1B | Ben Rice | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYY | RF | Heliot Ramos | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | 2B | Anthony Volpe | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | NYY | LF | Cody Bellinger | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYY | SS | George Lombard Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | CF | José Caballero | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | 3B | Amed Rosario | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | NYY | C | Austin Wells | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | TB | 1 | DH | Yandy Díaz | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 3 | 0 | 0.250 |
| simulation | TB | 2 | C | Liam Hicks | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | TB | 3 | 3B | Junior Caminero | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TB | 4 | RF | Victor Mesa Jr. | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TB | 5 | LF | Chandler Simpson | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | TB | 6 | CF | Jonny DeLuca | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TB | 7 | 2B | Richie Palacios | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 |
| simulation | TB | 8 | 1B | Ryan Vilade | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TB | 9 | SS | Taylor Walls | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | NYY | 1 | DH | Paul Goldschmidt | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | NYY | 2 | LF | Cody Bellinger | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 |
| simulation | NYY | 3 | RF | Heliot Ramos | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | NYY | 4 | 1B | Ben Rice | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | NYY | 5 | 3B | Amed Rosario | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | NYY | 6 | SS | George Lombard Jr. | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | NYY | 7 | 2B | Anthony Volpe | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYY | 8 | C | Austin Wells | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | NYY | 9 | CF | José Caballero | 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 | TB | 1 | Ian Seymour | Starter | 5.0 | 2 | 0 | 0 | 2 | 5 | 0 | 0 | 0 | 0.00 | 4.03 | 1.13 |
| current | TB | 2 | Bryan Baker | Closer | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 1.32 | 0.88 |
| current | TB | 3 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 4 | 3 | 3 | 0 | 0 | 1 | 0 | 0 | 27.00 | 2.06 | 0.76 |
| current | TB | 4 | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.48 | 0.91 |
| current | NYY | 1 | Cam Schlittler | Starter | 6.1 | 3 | 1 | 1 | 2 | 8 | 0 | 0 | 0 | 1.42 | 1.94 | 0.91 |
| current | NYY | 2 | David Bednar | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 6.75 | 2.50 | 1.01 |
| current | NYY | 3 | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.09 | 1.19 |
| current | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.61 | 1.07 |
| simulation | TB | 1 | Ian Seymour | Starter | 5.0 | 2 | 0 | 0 | 2 | 5 | 0 | 19 | 77 | 0.00 | 4.03 | 1.13 |
| simulation | TB | 2 | Bryan Baker | Closer | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 5 | 19 | 9.00 | 1.32 | 0.88 |
| simulation | TB | 3 | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.48 | 0.91 |
| simulation | TB | 4 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 4 | 3 | 3 | 0 | 0 | 1 | 7 | 17 | 27.00 | 2.06 | 0.76 |
| simulation | NYY | 1 | Cam Schlittler | Starter | 6.1 | 3 | 1 | 1 | 2 | 8 | 0 | 24 | 100 | 1.42 | 1.94 | 0.91 |
| simulation | NYY | 2 | David Bednar | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 5 | 20 | 6.75 | 2.50 | 1.01 |
| simulation | NYY | 3 | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.09 | 1.19 |
| simulation | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 | 0.00 | 1.61 | 1.07 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TB | Ian Seymour | Starter | 5.0 | 0 | 2 | 2 | 5 | 19 | 77 |
| TB | Bryan Baker | Closer | 1.0 | 1 | 2 | 0 | 1 | 5 | 19 |
| TB | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 3 | 4 | 0 | 0 | 7 | 17 |
| TB | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| NYY | Cam Schlittler | Starter | 6.1 | 1 | 3 | 2 | 8 | 24 | 100 |
| NYY | David Bednar | Closer | 1.1 | 1 | 1 | 0 | 0 | 5 | 20 |
| NYY | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| NYY | Paul Blackburn | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 0 | 1 | 4 |
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. |