20260920_ATL@HOU
20260920_ATL@HOU.json • 2026-09-20
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 | 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_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; BB: current=4, sim=1; SO: current=9, 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 | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Ronald Acuña Jr.: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Mauricio Dubón: 3B current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2; Drake Baldwin: BB current=1 box=0, SO current=1 box=0; Ozzie Albies: AB current=4 box=3, R current=1 box=0, BB current=0 box=1; Michael Harris II: R current=0 box=1; Matt Olson: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0; Ha-Seong Kim: SO current=1 box=2; Mike Yastrzemski: AB current=3 box=4, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model pitcher projections differ from final simulation pitching box score (H: current=8, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (H: current=7, sim=6; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=4, 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 | 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, BB current=1 box=0, SO current=1 box=0; Jose Altuve: H current=1 box=2, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0; Yainer Diaz: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Jeremy Peña: H current=1 box=0, R current=1 box=0; Nick Allen: AB current=3 box=4, SO current=0 box=1; Isaac Paredes: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Christian Walker: 2B current=0 box=1, R current=0 box=1, BB current=1 box=0, SO current=1 box=2; Brice Matthews: AB current=3 box=2, H current=0 box=1, BB 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 | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU 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 | HOU | BATTING_TOTALS_SUM | current:HOU 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 | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match HOU pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match HOU pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match HOU pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=35 matches HOU BF=35. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match ATL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match ATL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match ATL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match ATL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=35 matches ATL BF=35. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.693 -> 0.628 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.692902, 'sample_size': 642, 'empirical_hit_rate': 0.5623, 'empirical_weight': 0.5, 'blended_confidence': 0.627601, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | 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 | 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 | 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.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.420. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.727/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ATL 7, HOU 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ATL 5 - HOU 3. | |||||
| 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.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'ATL', 'opponent_team': 'HOU', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 3, 'margin_for_predicted_team': 3, 'winner': 'ATL'}, {'date': '2026-09-18', 'predicted_team_runs': 6, 'opponent_runs': 2, 'margin_for_predicted_team': 4, 'winner': 'ATL'}], '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': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'ATL', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'ATL', 'actual_margin': 3, 'raw_pick_probability': 0.5620149999999999, 'artifact': '20260919_ATL@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'ATL', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'ATL', 'actual_margin': 4, 'raw_pick_probability': 0.561644, 'artifact': '20260918_ATL@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'ATL', 'guardrail_opponent_team': 'HOU', 'output_pre_simulation_winner': 'ATL', 'output_opponent_team': 'HOU', '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': 3, 'score_text': 'ATL 5 - 3 HOU', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'ATL 5 - 3 HOU', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0322, 'recent_form_edge_home_minus_away': -1.026, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'ATL', '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': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0585, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_ATL@HOU. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ATL@HOU. | |||||
| 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': -7.0, 'absolute_net_margin': 7.0, 'home_average_margin': -3.5, 'home_run_delta': -0.0525, 'away_run_delta': 0.0525, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 5, 'probability': 0.023721142069577414}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.023409852765292297}, {'home_runs': 2, 'away_runs': 5, 'probability': 0.021958400734406944}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.021744230897263732}, {'home_runs': 2, 'away_runs': 4, 'probability': 0.021670243643665776}], 'home_distribution': {'0': 0.08510912512863508, '1': 0.12769205528734606, '2': 0.1625643069210689, '3': 0.17561438406006993, '4': 0.16097874649890073, '5': 0.1252133302123433, '6': 0.08264301633280001, '7': 0.04628447285607247, '8': 0.021995713401653814, '9': 0.00886981070182725, '10': 0.0030350385992823116}, 'away_distribution': {'0': 0.04404125802491941, '1': 0.06804702162202383, '2': 0.09461399990284135, '3': 0.11838551339608924, '4': 0.13330259301131517, '5': 0.13507516594690477, '6': 0.12317123582702413, '7': 0.10107411906410227, '8': 0.0746392913700516, '9': 0.049601170711704834, '10': 0.029662873750541146, '11': 0.015963620558740423, '12': 0.0077311917764480535, '13': 0.0033694450099544734, '14': 0.0013215000273393417}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.2645, 'recent_quality_edge': -0.676, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.0585} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'ATL 5 - 3 HOU', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'ATL 5 - 3 HOU', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0322, 'recent_form_edge_home_minus_away': -1.026, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'ATL', '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': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0585, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| 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: 143. | |||
| 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: 157. | |||
| 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 | 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 | 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 | 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 | 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_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 | 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 | 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 | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ATL 5 - 3 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ATL 5 - 3 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 5-3. | |||||
| 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.580. | |||||
| 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: 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): ATL wins 5-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL wins 5-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-3, final 5-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ATL wins 5-3. | |||||
| 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 | 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. |
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 | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU 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 | HOU | BATTING_TOTALS_SUM | current:HOU 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 | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match HOU pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match HOU pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match HOU pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=35 matches HOU BF=35. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match ATL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match ATL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match ATL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match ATL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=35 matches ATL BF=35. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.693 -> 0.628 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.692902, 'sample_size': 642, 'empirical_hit_rate': 0.5623, 'empirical_weight': 0.5, 'blended_confidence': 0.627601, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | 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 | 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 | 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.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.420. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.727/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ATL 7, HOU 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ATL 5 - HOU 3. | |||||
| 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.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'ATL', 'opponent_team': 'HOU', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 3, 'margin_for_predicted_team': 3, 'winner': 'ATL'}, {'date': '2026-09-18', 'predicted_team_runs': 6, 'opponent_runs': 2, 'margin_for_predicted_team': 4, 'winner': 'ATL'}], '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': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'ATL', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'ATL', 'actual_margin': 3, 'raw_pick_probability': 0.5620149999999999, 'artifact': '20260919_ATL@HOU.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'ATL', 'home': 'HOU', 'game_number': 1, 'predicted_team': 'ATL', 'actual_winner': 'ATL', 'actual_margin': 4, 'raw_pick_probability': 0.561644, 'artifact': '20260918_ATL@HOU.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'ATL', 'guardrail_opponent_team': 'HOU', 'output_pre_simulation_winner': 'ATL', 'output_opponent_team': 'HOU', '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': 3, 'score_text': 'ATL 5 - 3 HOU', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'ATL 5 - 3 HOU', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0322, 'recent_form_edge_home_minus_away': -1.026, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'ATL', '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': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0585, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_ATL@HOU. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ATL@HOU. | |||||
| 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': -7.0, 'absolute_net_margin': 7.0, 'home_average_margin': -3.5, 'home_run_delta': -0.0525, 'away_run_delta': 0.0525, 'evidence': [{'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': -4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 5, 'probability': 0.023721142069577414}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.023409852765292297}, {'home_runs': 2, 'away_runs': 5, 'probability': 0.021958400734406944}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.021744230897263732}, {'home_runs': 2, 'away_runs': 4, 'probability': 0.021670243643665776}], 'home_distribution': {'0': 0.08510912512863508, '1': 0.12769205528734606, '2': 0.1625643069210689, '3': 0.17561438406006993, '4': 0.16097874649890073, '5': 0.1252133302123433, '6': 0.08264301633280001, '7': 0.04628447285607247, '8': 0.021995713401653814, '9': 0.00886981070182725, '10': 0.0030350385992823116}, 'away_distribution': {'0': 0.04404125802491941, '1': 0.06804702162202383, '2': 0.09461399990284135, '3': 0.11838551339608924, '4': 0.13330259301131517, '5': 0.13507516594690477, '6': 0.12317123582702413, '7': 0.10107411906410227, '8': 0.0746392913700516, '9': 0.049601170711704834, '10': 0.029662873750541146, '11': 0.015963620558740423, '12': 0.0077311917764480535, '13': 0.0033694450099544734, '14': 0.0013215000273393417}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.2645, 'recent_quality_edge': -0.676, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.0585} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'ATL 5 - 3 HOU', 'winner': 'ATL'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 3, 'score_text': 'ATL 5 - 3 HOU', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0322, 'recent_form_edge_home_minus_away': -1.026, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 3, 'winner': 'ATL', 'model_winner': 'ATL', 'simulation_winner': 'ATL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'ATL', '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': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 3}, 'simulation_score': {'away_runs': 5, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 1.0585, 'winner': 'ATL', 'score_reviewed': {'away_runs': 5, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| 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: 143. | |||
| 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: 157. | |||
| 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 | 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 | 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 | 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 | 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_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 | 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 | 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 | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ATL 5 - 3 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ATL 5 - 3 HOU. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 5-3. | |||||
| 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.580. | |||||
| 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: 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): ATL wins 5-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL wins 5-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-3, final 5-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ATL wins 5-3. | |||||
| 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 | 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. |
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 | 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_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; BB: current=4, sim=1; SO: current=9, 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 | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Ronald Acuña Jr.: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Mauricio Dubón: 3B current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2; Drake Baldwin: BB current=1 box=0, SO current=1 box=0; Ozzie Albies: AB current=4 box=3, R current=1 box=0, BB current=0 box=1; Michael Harris II: R current=0 box=1; Matt Olson: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0; Ha-Seong Kim: SO current=1 box=2; Mike Yastrzemski: AB current=3 box=4, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model pitcher projections differ from final simulation pitching box score (H: current=8, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (H: current=7, sim=6; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=4, 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 | 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, BB current=1 box=0, SO current=1 box=0; Jose Altuve: H current=1 box=2, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0; Yainer Diaz: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Jeremy Peña: H current=1 box=0, R current=1 box=0; Nick Allen: AB current=3 box=4, SO current=0 box=1; Isaac Paredes: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Christian Walker: 2B current=0 box=1, R current=0 box=1, BB current=1 box=0, SO current=1 box=2; Brice Matthews: AB current=3 box=2, H current=0 box=1, BB 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.139680942015216 | 4.62677321848146 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 3 | 0.580 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ATL | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 7 |
| HOU | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 3 | 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 | ATL | batting | 33 | 7 | 1 | 0 | 1 | 4 | 5 | 4 | 9 | 0 | 0 | 0 | 0 | |||||
| current | ATL | pitching | 6 | 0 | 3 | 2 | 7 | 9.0 | 3 | 0 | 0 | |||||||||
| current | HOU | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | HOU | pitching | 8 | 0 | 5 | 1 | 13 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | ATL | batting | 34 | 7 | 1 | 1 | 0 | 5 | 5 | 1 | 13 | 0 | 0 | |||||||
| simulation | ATL | pitching | 6 | 0 | 3 | 2 | 7 | 9.0 | 3 | 35 | 143 | |||||||||
| simulation | HOU | batting | 33 | 6 | 4 | 0 | 0 | 3 | 3 | 2 | 7 | 0 | 0 | |||||||
| simulation | HOU | pitching | 7 | 0 | 5 | 1 | 13 | 9.0 | 5 | 35 | 157 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ATL | DH | Ronald Acuña Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | 3B | Mauricio Dubón | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | ATL | C | Drake Baldwin | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | 2B | Ozzie Albies | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | ATL | CF | Michael Harris II | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | 1B | Matt Olson | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | SS | Ha-Seong Kim | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | ATL | LF | Mike Yastrzemski | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | ATL | RF | Brewer Hicklen | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | HOU | LF | Yordan Alvarez | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | HOU | DH | Jose Altuve | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | HOU | C | Yainer Diaz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | SS | Jeremy Peña | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | HOU | 2B | Nick Allen | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| 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 | 1 | 1 | 0 | 0.250 | |
| current | HOU | CF | Brice Matthews | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | HOU | RF | Cam Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | ATL | 1 | C | Drake Baldwin | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | ATL | 2 | DH | Ronald Acuña Jr. | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 |
| simulation | ATL | 3 | 1B | Matt Olson | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 4 | CF | Michael Harris II | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 5 | 3B | Mauricio Dubón | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | ATL | 6 | 2B | Ozzie Albies | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | ATL | 7 | LF | Mike Yastrzemski | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 8 | RF | Brewer Hicklen | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 9 | SS | Ha-Seong Kim | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | HOU | 1 | SS | Jeremy Peña | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | HOU | 2 | LF | Yordan Alvarez | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | HOU | 3 | 3B | Isaac Paredes | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | HOU | 4 | DH | Jose Altuve | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | HOU | 5 | C | Yainer Diaz | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | HOU | 6 | 1B | Christian Walker | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | HOU | 7 | RF | Cam Smith | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | HOU | 8 | 2B | Nick Allen | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | HOU | 9 | CF | Brice Matthews | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ATL | 1 | Martín Pérez | Starter | 5.2 | 4 | 2 | 2 | 2 | 5 | 0 | 0 | 0 | 3.18 | 3.07 | 1.26 |
| current | ATL | 2 | Didier Fuentes | Middle Reliever (High Leverage) | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 6.75 | 2.29 | 1.06 |
| current | ATL | 3 | Dylan Lee | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.91 | 0.92 |
| current | ATL | 4 | Raisel Iglesias | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.64 | 1.10 |
| current | HOU | 1 | Hunter Brown | Starter | 5.2 | 6 | 4 | 4 | 1 | 5 | 0 | 0 | 0 | 6.35 | 3.43 | 1.29 |
| current | HOU | 2 | AJ Blubaugh | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.70 | 1.25 |
| current | HOU | 3 | Josh Hader | Closer | 1.0 | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 9.00 | 0.62 | 0.58 |
| current | HOU | 4 | Bennett Sousa | Middle Reliever (High Leverage) | 0.2 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 4.94 | 1.57 |
| current | HOU | 5 | Bryan Abreu | Setup Man | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.88 | 1.33 |
| simulation | ATL | 1 | Martín Pérez | Starter | 5.2 | 4 | 2 | 2 | 2 | 5 | 0 | 23 | 94 | 3.18 | 3.07 | 1.26 |
| simulation | ATL | 2 | Raisel Iglesias | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.64 | 1.10 |
| simulation | ATL | 3 | Dylan Lee | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.91 | 0.92 |
| simulation | ATL | 4 | Didier Fuentes | Middle Reliever (High Leverage) | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 6 | 23 | 6.75 | 2.29 | 1.06 |
| simulation | HOU | 1 | Hunter Brown | Starter | 5.2 | 6 | 4 | 4 | 1 | 5 | 0 | 24 | 105 | 6.35 | 3.43 | 1.29 |
| simulation | HOU | 2 | Josh Hader | Closer | 1.0 | 0 | 1 | 1 | 0 | 2 | 0 | 3 | 13 | 9.00 | 0.62 | 0.58 |
| simulation | HOU | 3 | Bryan Abreu | Setup Man | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 8 | 0.00 | 3.88 | 1.33 |
| simulation | HOU | 4 | AJ Blubaugh | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 20 | 0.00 | 3.70 | 1.25 |
| simulation | HOU | 5 | Bennett Sousa | Middle Reliever (High Leverage) | 0.2 | 1 | 0 | 0 | 0 | 2 | 0 | 3 | 11 | 0.00 | 4.94 | 1.57 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| ATL | Martín Pérez | Starter | 5.2 | 2 | 4 | 2 | 5 | 23 | 94 |
| ATL | Didier Fuentes | Middle Reliever (High Leverage) | 1.1 | 1 | 2 | 0 | 1 | 6 | 23 |
| ATL | Dylan Lee | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| ATL | Raisel Iglesias | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| HOU | Hunter Brown | Starter | 5.2 | 4 | 6 | 1 | 5 | 24 | 105 |
| HOU | AJ Blubaugh | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 2 | 3 | 20 |
| HOU | Josh Hader | Closer | 1.0 | 1 | 0 | 0 | 2 | 3 | 13 |
| HOU | Bennett Sousa | Middle Reliever (High Leverage) | 0.2 | 0 | 1 | 0 | 2 | 3 | 11 |
| HOU | Bryan Abreu | Setup Man | 0.2 | 0 | 0 | 0 | 2 | 2 | 8 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 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. |
20260920_BOS@TB
20260920_BOS@TB.json • 2026-09-20
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 | 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 | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=31, sim=35; H: current=8, 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 | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Adley Rutschman: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nick Sogard: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Mickey Gasper: AB current=3 box=5, HR current=1 box=0, SO current=1 box=0; Jarren Duran: 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Roman Anthony: H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Nate Eaton: AB current=3 box=4, SO current=1 box=2; Trevor Story: RBI current=1 box=0, R current=0 box=1, SO current=1 box=2; Caleb Durbin: AB current=3 box=4, 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 | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=9, sim=6; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=6, sim=12; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Ryan Vilade: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Jonny DeLuca: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Chandler Simpson: AB current=4 box=3, SO current=0 box=1, HBP current=0 box=1; Yandy Díaz: AB current=4 box=5, H current=1 box=2, 2B current=1 box=2, RBI current=1 box=2; Junior Caminero: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ben Williamson: R current=0 box=1; Victor Mesa Jr.: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2; Taylor Walls: 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 | 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 | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB 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 | TB | BATTING_TOTALS_SUM | current:TB 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 | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match TB pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match TB pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=38 matches TB BF=38. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match BOS pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match BOS pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match BOS pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=40 matches BOS BF=40. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.564 -> 0.566 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.5636, 'sample_size': 414, 'empirical_hit_rate': 0.5676, 'empirical_weight': 0.5, 'blended_confidence': 0.5656, 'published_confidence': 0.551722, '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 | TB | CURRENT_FINALIZED_MATCH_BOX | TB 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 | 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.448. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.552. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.552. | |||||
| 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.501/0.690. | |||||
| 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: BOS 5, TB 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: BOS 4 - TB 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TB. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TB; cap=0.56, reasons=predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'TB', 'opponent_team': 'BOS', 'h2h_net_margin': -6, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 2, 'opponent_runs': 1, 'margin_for_predicted_team': 1, 'winner': 'TB'}, {'date': '2026-09-18', 'predicted_team_runs': 2, 'opponent_runs': 4, 'margin_for_predicted_team': -2, 'winner': 'BOS'}, {'date': '2026-07-19', 'predicted_team_runs': 1, 'opponent_runs': 6, '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': 4, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'BOS', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 1, 'raw_pick_probability': 0.529198, 'artifact': '20260919_BOS@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'BOS', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'BOS', 'actual_margin': 2, 'raw_pick_probability': 0.572303, 'artifact': '20260918_BOS@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260718', 'away': 'TB', 'home': 'BOS', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'BOS', 'actual_margin': 1, 'raw_pick_probability': 0.63, 'artifact': '20260718_TB@BOS.json', 'verification': 'pregame_official_final'}, {'date': '20260717', 'away': 'TB', 'home': 'BOS', 'game_number': 2, 'predicted_team': 'BOS', 'actual_winner': 'BOS', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260717_TB@BOS_2.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'BOS', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'BOS', 'simulation_score_winner': 'TB', 'final_score_winner': 'TB', 'pre_simulation_winner': 'TB', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0081, 'recent_form_edge_home_minus_away': 0.634, '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': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.3433, 'winner': 'TB', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_BOS@TB. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: BOS@TB. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -9.0, 'absolute_net_margin': 9.0, 'home_average_margin': -1.8, 'home_run_delta': -0.0519, 'away_run_delta': 0.0519, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 4, 'probability': 0.01857368209161923}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.018181435452608256}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.017830125752627962}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.017518892169713626}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.017453581841457698}], 'home_distribution': {'0': 0.039720354109287107, '1': 0.06155971398502793, '2': 0.08638634613243568, '3': 0.10976367692404249, '4': 0.12628076918365605, '5': 0.13154696122974197, '6': 0.12407647647190023, '7': 0.10596516372859378, '8': 0.0819411028981529, '9': 0.05737273145674614, '10': 0.036372594278116455, '11': 0.0208789214201943, '12': 0.010851927191338642, '13': 0.005107057090873531, '14': 0.0021762038998926654}, 'away_distribution': {'0': 0.049604031652005186, '1': 0.0763482284376001, '2': 0.1049404677526079, '3': 0.12880984870135967, '4': 0.1411943074776237, '5': 0.13821250816166739, '6': 0.12082020044934226, '7': 0.09431782965508084, '8': 0.06575216972519136, '9': 0.040934399274975525, '10': 0.022757722491900986, '11': 0.011298771254097095, '12': 0.005009514966548113}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.0737, 'recent_quality_edge': 0.844, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.3433} | ||||
| 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': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0081, 'recent_form_edge_home_minus_away': 0.634, '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': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.3433, 'winner': 'TB', '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: 174. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 161. | |||||
| 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: 174. | |||
| 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: 161. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 12 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | 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 | 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 | 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 | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 10.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: BOS 4 - 5 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: BOS 4 - 5 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 5-4 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TB, simulation=TB, published=TB. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.552. | |||||
| 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: 8/10 (0.800). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TB wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB wins 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: TB wins 5-4 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | 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 | BOS | BATTING_REALISM | current:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB 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 | TB | BATTING_TOTALS_SUM | current:TB 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 | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match TB pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match TB pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=38 matches TB BF=38. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match BOS pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match BOS pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match BOS pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=40 matches BOS BF=40. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.564 -> 0.566 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.5636, 'sample_size': 414, 'empirical_hit_rate': 0.5676, 'empirical_weight': 0.5, 'blended_confidence': 0.5656, 'published_confidence': 0.551722, '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 | TB | CURRENT_FINALIZED_MATCH_BOX | TB 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 | 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.448. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.552. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.552. | |||||
| 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.501/0.690. | |||||
| 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: BOS 5, TB 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: BOS 4 - TB 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TB. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TB; cap=0.56, reasons=predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'TB', 'opponent_team': 'BOS', 'h2h_net_margin': -6, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 2, 'opponent_runs': 1, 'margin_for_predicted_team': 1, 'winner': 'TB'}, {'date': '2026-09-18', 'predicted_team_runs': 2, 'opponent_runs': 4, 'margin_for_predicted_team': -2, 'winner': 'BOS'}, {'date': '2026-07-19', 'predicted_team_runs': 1, 'opponent_runs': 6, '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': 4, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'BOS', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 1, 'raw_pick_probability': 0.529198, 'artifact': '20260919_BOS@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'BOS', 'home': 'TB', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'BOS', 'actual_margin': 2, 'raw_pick_probability': 0.572303, 'artifact': '20260918_BOS@TB.json', 'verification': 'pregame_official_final'}, {'date': '20260718', 'away': 'TB', 'home': 'BOS', 'game_number': 1, 'predicted_team': 'BOS', 'actual_winner': 'BOS', 'actual_margin': 1, 'raw_pick_probability': 0.63, 'artifact': '20260718_TB@BOS.json', 'verification': 'pregame_official_final'}, {'date': '20260717', 'away': 'TB', 'home': 'BOS', 'game_number': 2, 'predicted_team': 'BOS', 'actual_winner': 'BOS', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260717_TB@BOS_2.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'BOS', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'BOS', 'simulation_score_winner': 'TB', 'final_score_winner': 'TB', 'pre_simulation_winner': 'TB', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0081, 'recent_form_edge_home_minus_away': 0.634, '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': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.3433, 'winner': 'TB', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_BOS@TB. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: BOS@TB. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -9.0, 'absolute_net_margin': 9.0, 'home_average_margin': -1.8, 'home_run_delta': -0.0519, 'away_run_delta': 0.0519, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 4, 'probability': 0.01857368209161923}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.018181435452608256}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.017830125752627962}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.017518892169713626}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.017453581841457698}], 'home_distribution': {'0': 0.039720354109287107, '1': 0.06155971398502793, '2': 0.08638634613243568, '3': 0.10976367692404249, '4': 0.12628076918365605, '5': 0.13154696122974197, '6': 0.12407647647190023, '7': 0.10596516372859378, '8': 0.0819411028981529, '9': 0.05737273145674614, '10': 0.036372594278116455, '11': 0.0208789214201943, '12': 0.010851927191338642, '13': 0.005107057090873531, '14': 0.0021762038998926654}, 'away_distribution': {'0': 0.049604031652005186, '1': 0.0763482284376001, '2': 0.1049404677526079, '3': 0.12880984870135967, '4': 0.1411943074776237, '5': 0.13821250816166739, '6': 0.12082020044934226, '7': 0.09431782965508084, '8': 0.06575216972519136, '9': 0.040934399274975525, '10': 0.022757722491900986, '11': 0.011298771254097095, '12': 0.005009514966548113}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.0737, 'recent_quality_edge': 0.844, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.3433} | ||||
| 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': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'BOS 4 - 5 TB', 'winner': 'TB'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0081, 'recent_form_edge_home_minus_away': 0.634, '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': 'TB', 'model_winner': 'TB', 'simulation_winner': 'TB', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TB', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TB', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.3433, 'winner': 'TB', '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: 174. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 161. | |||||
| 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: 174. | |||
| 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: 161. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 12 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | 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 | 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 | 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 | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 10.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: BOS 4 - 5 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: BOS 4 - 5 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 5-4 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TB, simulation=TB, published=TB. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.552. | |||||
| 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: 8/10 (0.800). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TB wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB wins 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: TB wins 5-4 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | 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 | 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 | 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 | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=31, sim=35; H: current=8, 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 | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Adley Rutschman: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nick Sogard: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Mickey Gasper: AB current=3 box=5, HR current=1 box=0, SO current=1 box=0; Jarren Duran: 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Roman Anthony: H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Nate Eaton: AB current=3 box=4, SO current=1 box=2; Trevor Story: RBI current=1 box=0, R current=0 box=1, SO current=1 box=2; Caleb Durbin: AB current=3 box=4, 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 | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=9, sim=6; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=6, sim=12; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Ryan Vilade: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Jonny DeLuca: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Chandler Simpson: AB current=4 box=3, SO current=0 box=1, HBP current=0 box=1; Yandy Díaz: AB current=4 box=5, H current=1 box=2, 2B current=1 box=2, RBI current=1 box=2; Junior Caminero: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ben Williamson: R current=0 box=1; Victor Mesa Jr.: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2; Taylor Walls: 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 | 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.9257473415627615 | 4.979220110511978 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.552 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 4 | 5 |
| TB | 0 | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 5 | 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 | BOS | batting | 31 | 8 | 2 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | BOS | pitching | 6 | 1 | 5 | 3 | 12 | 8.0 | 5 | 0 | 0 | |||||||||
| current | TB | batting | 33 | 9 | 2 | 0 | 1 | 4 | 4 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | TB | pitching | 5 | 1 | 4 | 3 | 8 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | BOS | batting | 35 | 5 | 2 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | |||||||
| simulation | BOS | pitching | 6 | 1 | 5 | 3 | 12 | 10.0 | 5 | 40 | 174 | |||||||||
| simulation | TB | batting | 36 | 6 | 2 | 0 | 1 | 5 | 5 | 3 | 12 | 0 | 1 | |||||||
| simulation | TB | pitching | 5 | 1 | 4 | 3 | 8 | 10.0 | 4 | 38 | 161 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | BOS | C | Adley Rutschman | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BOS | 1B | Nick Sogard | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BOS | DH | Mickey Gasper | 0 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | BOS | CF | Jarren Duran | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | BOS | LF | Roman Anthony | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BOS | RF | Nate Eaton | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BOS | SS | Trevor Story | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | 3B | Caleb Durbin | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BOS | 2B | Isiah Kiner-Falefa | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | 1B | Ryan Vilade | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 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 | LF | Chandler Simpson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TB | DH | Yandy Díaz | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | TB | 3B | Junior Caminero | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | 2B | Ben Williamson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TB | RF | Victor Mesa Jr. | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | SS | Taylor Walls | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | TB | C | Nick Fortes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| simulation | BOS | 1 | LF | Roman Anthony | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | BOS | 2 | DH | Mickey Gasper | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.200 |
| simulation | BOS | 3 | C | Adley Rutschman | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | BOS | 4 | SS | Trevor Story | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | BOS | 5 | 1B | Nick Sogard | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BOS | 6 | 3B | Caleb Durbin | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 7 | CF | Jarren Duran | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | BOS | 8 | 2B | Isiah Kiner-Falefa | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | BOS | 9 | RF | Nate Eaton | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | TB | 1 | DH | Yandy Díaz | 5 | 5 | 2 | 2 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.400 |
| simulation | TB | 2 | 1B | Ryan Vilade | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | TB | 3 | 3B | Junior Caminero | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0.000 |
| simulation | TB | 4 | CF | Jonny DeLuca | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TB | 5 | LF | Chandler Simpson | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0.333 |
| simulation | TB | 6 | 2B | Ben Williamson | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TB | 7 | C | Nick Fortes | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | TB | 8 | RF | Victor Mesa Jr. | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | TB | 9 | SS | Taylor Walls | 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 | BOS | 1 | Patrick Sandoval | Starter | 4.2 | 5 | 4 | 4 | 1 | 8 | 1 | 0 | 0 | 7.71 | 4.99 | 1.79 |
| current | BOS | 2 | Aroldis Chapman | Closer | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 1.42 | 1.07 |
| current | BOS | 3 | Erik Miller | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.74 | 1.32 |
| current | BOS | 4 | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 1.75 | 0.88 |
| current | BOS | 6 | Greg Weissert | Middle Reliever (High Leverage) | 0.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 3.19 | 1.18 | |
| current | BOS | 7 | Raymond Burgos | Reliever | 0.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | |||
| current | TB | 1 | Griffin Jax | Starter | 5.0 | 2 | 3 | 3 | 3 | 6 | 1 | 0 | 0 | 5.40 | 3.54 | 1.16 |
| current | TB | 2 | Bryan Baker | Closer | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.34 | 0.86 |
| current | TB | 3 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.11 | 0.78 |
| current | TB | 4 | Cole Sulser | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 3.96 | 1.18 |
| current | TB | 5 | Kevin Kelly | Setup Man | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.50 | 0.90 |
| current | TB | 6 | Casey Legumina | Middle Reliever | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3.63 | 1.27 | |
| simulation | BOS | 1 | Patrick Sandoval | Starter | 4.2 | 5 | 4 | 4 | 1 | 8 | 1 | 21 | 90 | 7.71 | 4.99 | 1.79 |
| simulation | BOS | 2 | Aroldis Chapman | Closer | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 5 | 21 | 0.00 | 1.42 | 1.07 |
| simulation | BOS | 3 | Erik Miller | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.74 | 1.32 |
| simulation | BOS | 4 | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 1.75 | 0.88 |
| simulation | BOS | 5 | Greg Weissert | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 26 | 0.00 | 3.19 | 1.18 |
| simulation | BOS | 6 | Raymond Burgos | Reliever | 0.1 | 1 | 1 | 1 | 0 | 1 | 0 | 2 | 7 | 27.00 | 5.19 | 1.04 |
| simulation | TB | 1 | Griffin Jax | Starter | 5.0 | 2 | 3 | 3 | 3 | 6 | 1 | 20 | 88 | 5.40 | 3.54 | 1.16 |
| simulation | TB | 2 | Bryan Baker | Closer | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 1.34 | 0.86 |
| simulation | TB | 3 | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.50 | 0.90 |
| simulation | TB | 4 | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 2.11 | 0.78 |
| simulation | TB | 5 | Cole Sulser | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 5 | 19 | 9.00 | 3.96 | 1.18 |
| simulation | TB | 6 | Casey Legumina | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 | 0.00 | 3.63 | 1.27 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| BOS | Patrick Sandoval | Starter | 4.2 | 4 | 5 | 1 | 8 | 21 | 90 |
| BOS | Aroldis Chapman | Closer | 1.1 | 0 | 0 | 1 | 1 | 5 | 21 |
| BOS | Erik Miller | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| BOS | Garrett Whitlock | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| BOS | Greg Weissert | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 1 | 5 | 26 |
| BOS | Raymond Burgos | Reliever | 0.1 | 1 | 1 | 0 | 1 | 2 | 7 |
| TB | Griffin Jax | Starter | 5.0 | 3 | 2 | 3 | 6 | 20 | 88 |
| TB | Bryan Baker | Closer | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| TB | Cam Booser | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| TB | Cole Sulser | Middle Reliever (High Leverage) | 1.0 | 1 | 2 | 0 | 1 | 5 | 19 |
| TB | Kevin Kelly | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| TB | Casey Legumina | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 8 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260920_CHC@CIN
20260920_CHC@CIN.json • 2026-09-20
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 | 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 | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=8, sim=10; HR: current=1, sim=3; RBI: current=4, sim=8; R: current=5, sim=8; BB: current=4, sim=3; SO: current=7, sim=12; 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 | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Seiya Suzuki: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, BB current=1 box=0; Michael Busch: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Nico Hoerner: AB current=4 box=5, H current=1 box=0, SO current=0 box=1; Alex Bregman: AB current=4 box=5, HR current=0 box=1; Pete Crow-Armstrong: AB current=4 box=5, HR current=1 box=0, BB current=1 box=0; Ian Happ: H current=1 box=2, RBI current=0 box=1, SO current=1 box=2; Pedro Ramirez: AB current=3 box=4, 2B current=0 box=1, R current=0 box=1, SO current=1 box=3; Michael Conforto: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 2B: current=1, sim=0; HR: current=1, sim=2; R: current=3, sim=4; BB: current=4, sim=2; 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 | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Tyler Stephenson: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; JJ Bleday: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Matt McLain: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Oswaldo Cabrera: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Sal Stewart: RBI current=1 box=3, SO current=1 box=0; Dane Myers: R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Elly De La Cruz: RBI current=1 box=0, BB current=1 box=0; Will Banfield: AB current=3 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CHC | BATTING_REALISM | current:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHC | BATTING_REALISM | simulation:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN 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 | CIN | BATTING_TOTALS_SUM | current:CIN 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 | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_BB_MATCH | simulation:CHC batting walks match CIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_HR_MATCH | simulation:CHC batting home runs match CIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match CIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match CIN pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=42 matches CIN BF=42. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC runs match final score and opposing pitching runs: 8. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match CHC pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match CHC pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=35 matches CHC BF=35. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.920 -> 0.734 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.92, 'sample_size': 226, 'empirical_hit_rate': 0.5487, 'empirical_weight': 0.5, 'blended_confidence': 0.73435, 'published_confidence': 0.56, '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 | 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.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.518/0.710. | |||||
| 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: CHC 10, CIN 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CHC 8 - CIN 4. | |||||
| 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.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 8 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 8 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'CHC', 'opponent_team': 'CIN', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'CHC'}, {'date': '2026-09-18', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'CIN'}, {'date': '2026-08-30', 'predicted_team_runs': 5, 'opponent_runs': 7, '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': 8, 'consecutive_same_pick_count': 8, 'same_pick_actual_loss_count': 4, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'CHC', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 3, 'raw_pick_probability': 0.56, 'artifact': '20260919_CHC@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'CHC', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CIN', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260918_CHC@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260830', 'away': 'CIN', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CIN', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260830_CIN@CHC.json', 'verification': 'pregame_official_final'}, {'date': '20260829', 'away': 'CIN', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 12, 'raw_pick_probability': 0.56, 'artifact': '20260829_CIN@CHC.json', 'verification': 'pregame_official_final'}, {'date': '20260828', 'away': 'CIN', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CIN', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260828_CIN@CHC.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CHC', 'guardrail_opponent_team': 'CIN', 'output_pre_simulation_winner': 'CHC', 'output_opponent_team': 'CIN', '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': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0589, 'recent_form_edge_home_minus_away': -0.934, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 4, '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': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 4}, 'simulation_score': {'away_runs': 8, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6933, 'winner': 'CHC', 'score_reviewed': {'away_runs': 8, '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_CHC@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CHC@CIN. | |||||
| 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': -3.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -12.0}, {'game_id': None, 'home_margin': 2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 7, 'probability': 0.015148391277368532}, {'home_runs': 4, 'away_runs': 8, 'probability': 0.014886955902746454}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014675868155640428}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.014422587723486145}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.014410274355564833}], 'home_distribution': {'0': 0.05121481124702857, '1': 0.0787369081066643, '2': 0.10785114584873179, '3': 0.13162391288727598, '4': 0.1431226792953306, '5': 0.13865825967661133, '6': 0.11968691116391456, '7': 0.09204733090616478, '8': 0.0630724015230517, '9': 0.03850624428520273, '10': 0.020945299885655706, '11': 0.010150925272090631, '12': 0.004383169902277092}, 'away_distribution': {'0': 0.01813200294010374, '1': 0.02855415475807444, '2': 0.04203760450176004, '3': 0.0578564435158649, '4': 0.07444073117326248, '5': 0.08953949683153627, '6': 0.10068477215850284, '7': 0.10584200457923339, '8': 0.10401535225614061, '9': 0.09556127919557209, '10': 0.08207513162352606, '11': 0.06590014101377172, '12': 0.04946593502638542, '13': 0.03471132759268343, '14': 0.02277096043420427, '15': 0.01396486031077907, '16': 0.008006394139806512, '17': 0.004291236582663998, '18': 0.0021501713661286294}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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': -2.0645, 'recent_quality_edge': -1.004, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.6933} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0589, 'recent_form_edge_home_minus_away': -0.934, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 4, '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': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 4}, 'simulation_score': {'away_runs': 8, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6933, 'winner': 'CHC', 'score_reviewed': {'away_runs': 8, '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: 152. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 182. | |||||
| 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: 152. | |||
| 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: 182. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 9.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: CHC 8 - 4 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CHC 8 - 4 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 8-4. | |||||
| 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.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: 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): CHC wins 8-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC wins 8-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 8-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 8-4, final 8-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHC wins 8-4. | |||||
| 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 | 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: 3/10 = 0.300. |
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 | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHC | BATTING_REALISM | simulation:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN 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 | CIN | BATTING_TOTALS_SUM | current:CIN 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 | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_BB_MATCH | simulation:CHC batting walks match CIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_HR_MATCH | simulation:CHC batting home runs match CIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match CIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match CIN pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=42 matches CIN BF=42. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC runs match final score and opposing pitching runs: 8. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match CHC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match CHC pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match CHC pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=35 matches CHC BF=35. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.920 -> 0.734 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.92, 'sample_size': 226, 'empirical_hit_rate': 0.5487, 'empirical_weight': 0.5, 'blended_confidence': 0.73435, 'published_confidence': 0.56, '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 | 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.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.518/0.710. | |||||
| 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: CHC 10, CIN 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CHC 8 - CIN 4. | |||||
| 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.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 8 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 8 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'CHC', 'opponent_team': 'CIN', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'CHC'}, {'date': '2026-09-18', 'predicted_team_runs': 4, 'opponent_runs': 6, 'margin_for_predicted_team': -2, 'winner': 'CIN'}, {'date': '2026-08-30', 'predicted_team_runs': 5, 'opponent_runs': 7, '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': 8, 'consecutive_same_pick_count': 8, 'same_pick_actual_loss_count': 4, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'CHC', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 3, 'raw_pick_probability': 0.56, 'artifact': '20260919_CHC@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'CHC', 'home': 'CIN', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CIN', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260918_CHC@CIN.json', 'verification': 'pregame_official_final'}, {'date': '20260830', 'away': 'CIN', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CIN', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260830_CIN@CHC.json', 'verification': 'pregame_official_final'}, {'date': '20260829', 'away': 'CIN', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CHC', 'actual_margin': 12, 'raw_pick_probability': 0.56, 'artifact': '20260829_CIN@CHC.json', 'verification': 'pregame_official_final'}, {'date': '20260828', 'away': 'CIN', 'home': 'CHC', 'game_number': 1, 'predicted_team': 'CHC', 'actual_winner': 'CIN', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260828_CIN@CHC.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CHC', 'guardrail_opponent_team': 'CIN', 'output_pre_simulation_winner': 'CHC', 'output_opponent_team': 'CIN', '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': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0589, 'recent_form_edge_home_minus_away': -0.934, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 4, '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': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 4}, 'simulation_score': {'away_runs': 8, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6933, 'winner': 'CHC', 'score_reviewed': {'away_runs': 8, '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_CHC@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CHC@CIN. | |||||
| 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': -3.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -12.0}, {'game_id': None, 'home_margin': 2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 7, 'probability': 0.015148391277368532}, {'home_runs': 4, 'away_runs': 8, 'probability': 0.014886955902746454}, {'home_runs': 5, 'away_runs': 7, 'probability': 0.014675868155640428}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.014422587723486145}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.014410274355564833}], 'home_distribution': {'0': 0.05121481124702857, '1': 0.0787369081066643, '2': 0.10785114584873179, '3': 0.13162391288727598, '4': 0.1431226792953306, '5': 0.13865825967661133, '6': 0.11968691116391456, '7': 0.09204733090616478, '8': 0.0630724015230517, '9': 0.03850624428520273, '10': 0.020945299885655706, '11': 0.010150925272090631, '12': 0.004383169902277092}, 'away_distribution': {'0': 0.01813200294010374, '1': 0.02855415475807444, '2': 0.04203760450176004, '3': 0.0578564435158649, '4': 0.07444073117326248, '5': 0.08953949683153627, '6': 0.10068477215850284, '7': 0.10584200457923339, '8': 0.10401535225614061, '9': 0.09556127919557209, '10': 0.08207513162352606, '11': 0.06590014101377172, '12': 0.04946593502638542, '13': 0.03471132759268343, '14': 0.02277096043420427, '15': 0.01396486031077907, '16': 0.008006394139806512, '17': 0.004291236582663998, '18': 0.0021501713661286294}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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': -2.0645, 'recent_quality_edge': -1.004, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.6933} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', 'winner': 'CHC'}, 'final_simulation_score': {'away_runs': 8, 'home_runs': 4, 'score_text': 'CHC 8 - 4 CIN', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0589, 'recent_form_edge_home_minus_away': -0.934, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 8, 'home_runs': 4, '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': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 8, 'home_runs': 4}, 'simulation_score': {'away_runs': 8, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6933, 'winner': 'CHC', 'score_reviewed': {'away_runs': 8, '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: 152. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 182. | |||||
| 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: 152. | |||
| 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: 182. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 9.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: CHC 8 - 4 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CHC 8 - 4 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 8-4. | |||||
| 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.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: 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): CHC wins 8-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC wins 8-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 8-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 8-4, final 8-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHC wins 8-4. | |||||
| 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 | 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: 3/10 = 0.300. |
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 | 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 | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=8, sim=10; HR: current=1, sim=3; RBI: current=4, sim=8; R: current=5, sim=8; BB: current=4, sim=3; SO: current=7, sim=12; 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 | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Seiya Suzuki: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, BB current=1 box=0; Michael Busch: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Nico Hoerner: AB current=4 box=5, H current=1 box=0, SO current=0 box=1; Alex Bregman: AB current=4 box=5, HR current=0 box=1; Pete Crow-Armstrong: AB current=4 box=5, HR current=1 box=0, BB current=1 box=0; Ian Happ: H current=1 box=2, RBI current=0 box=1, SO current=1 box=2; Pedro Ramirez: AB current=3 box=4, 2B current=0 box=1, R current=0 box=1, SO current=1 box=3; Michael Conforto: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 2B: current=1, sim=0; HR: current=1, sim=2; R: current=3, sim=4; BB: current=4, sim=2; 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 | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Tyler Stephenson: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; JJ Bleday: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Matt McLain: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Oswaldo Cabrera: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Sal Stewart: RBI current=1 box=3, SO current=1 box=0; Dane Myers: R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Elly De La Cruz: RBI current=1 box=0, BB current=1 box=0; Will Banfield: AB current=3 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.680815864810019 | 3.9541177696226906 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 7 | 4 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, matchup_recency_guardrail) |
| embedded_savant_run_environment | 8 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 8 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 8 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 8 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CHC | 3 | 0 | 0 | 2 | 0 | 1 | 0 | 0 | 2 | 8 | 10 |
| CIN | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 4 | 6 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CHC | batting | 33 | 8 | 1 | 0 | 1 | 4 | 5 | 4 | 7 | 0 | 0 | 0 | 0 | |||||
| current | CHC | pitching | 6 | 2 | 4 | 2 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| current | CIN | batting | 32 | 8 | 1 | 0 | 1 | 4 | 3 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | CIN | pitching | 10 | 3 | 8 | 3 | 12 | 9.0 | 7 | 0 | 0 | |||||||||
| simulation | CHC | batting | 37 | 10 | 1 | 0 | 3 | 8 | 8 | 3 | 12 | 0 | 2 | |||||||
| simulation | CHC | pitching | 6 | 2 | 4 | 2 | 6 | 9.0 | 4 | 35 | 152 | |||||||||
| simulation | CIN | batting | 33 | 6 | 0 | 0 | 2 | 4 | 4 | 2 | 6 | 0 | 0 | |||||||
| simulation | CIN | pitching | 10 | 3 | 8 | 3 | 12 | 9.0 | 8 | 42 | 182 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHC | SS | Nico Hoerner | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | CHC | 3B | Alex Bregman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | CHC | CF | Pete Crow-Armstrong | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 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 | Pedro Ramirez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHC | DH | Michael Conforto | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHC | C | Miguel Amaya | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CIN | DH | Tyler Stephenson | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | RF | JJ Bleday | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | 2B | Matt McLain | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | LF | Oswaldo Cabrera | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | 1B | Sal Stewart | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CIN | CF | Dane Myers | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CIN | SS | Elly De La Cruz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | C | Will Banfield | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | 3B | Ke'Bryan Hayes | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| simulation | CHC | 1 | CF | Pete Crow-Armstrong | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 |
| simulation | CHC | 2 | RF | Seiya Suzuki | 5 | 3 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 2 | 0.667 |
| simulation | CHC | 3 | 1B | Michael Busch | 5 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 1 | 1 | 0 | 0.500 |
| simulation | CHC | 4 | 3B | Alex Bregman | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.200 |
| simulation | CHC | 5 | LF | Ian Happ | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.500 |
| simulation | CHC | 6 | SS | Nico Hoerner | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHC | 7 | DH | Michael Conforto | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | CHC | 8 | 2B | Pedro Ramirez | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0.250 |
| simulation | CHC | 9 | C | Miguel Amaya | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CIN | 1 | CF | Dane Myers | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | CIN | 2 | SS | Elly De La Cruz | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 3 | 1B | Sal Stewart | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.250 |
| simulation | CIN | 4 | DH | Tyler Stephenson | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | CIN | 5 | RF | JJ Bleday | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CIN | 6 | 2B | Matt McLain | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | CIN | 7 | LF | Oswaldo Cabrera | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | CIN | 8 | C | Will Banfield | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 9 | 3B | Ke'Bryan Hayes | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CHC | 1 | David Peterson | Starter | 5.0 | 6 | 4 | 4 | 1 | 3 | 2 | 0 | 0 | 7.20 | 5.11 | 1.55 |
| current | CHC | 2 | Caleb Thielbar | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.63 | 1.29 |
| current | CHC | 3 | Daniel Palencia | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.62 | 1.17 |
| current | CHC | 4 | Jacob Webb | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.48 | 1.27 |
| current | CHC | 5 | Ryan Zeferjahn | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.97 | 1.28 |
| current | CIN | 1 | Rhett Lowder | Starter | 4.1 | 6 | 5 | 4 | 1 | 6 | 2 | 0 | 0 | 8.31 | 5.79 | 1.52 |
| current | CIN | 2 | Brock Burke | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.36 | 1.26 |
| current | CIN | 3 | Emilio Pagán | Closer | 1.1 | 1 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 6.75 | 3.54 | 1.03 |
| current | CIN | 4 | Luis Mey | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 6.03 | 1.63 |
| current | CIN | 5 | Tony Santillan | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 2 | 1 | 0 | 0 | 0 | 18.00 | 5.53 | 1.57 |
| simulation | CHC | 1 | David Peterson | Starter | 5.0 | 6 | 4 | 4 | 1 | 3 | 2 | 22 | 96 | 7.20 | 5.11 | 1.55 |
| simulation | CHC | 2 | Jacob Webb | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.48 | 1.27 |
| simulation | CHC | 3 | Ryan Zeferjahn | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.97 | 1.28 |
| simulation | CHC | 4 | Daniel Palencia | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.62 | 1.17 |
| simulation | CHC | 5 | Caleb Thielbar | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 4.63 | 1.29 |
| simulation | CIN | 1 | Rhett Lowder | Starter | 4.1 | 6 | 5 | 5 | 1 | 6 | 2 | 22 | 89 | 10.38 | 5.79 | 1.52 |
| simulation | CIN | 2 | Emilio Pagán | Closer | 1.1 | 1 | 1 | 1 | 0 | 2 | 1 | 5 | 21 | 6.75 | 3.54 | 1.03 |
| simulation | CIN | 3 | Luis Mey | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 6.03 | 1.63 |
| simulation | CIN | 4 | Brock Burke | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 2 | 0 | 5 | 32 | 0.00 | 2.36 | 1.26 |
| simulation | CIN | 5 | Tony Santillan | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 2 | 1 | 0 | 7 | 27 | 18.00 | 5.53 | 1.57 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CHC | David Peterson | Starter | 5.0 | 4 | 6 | 1 | 3 | 22 | 96 |
| CHC | Caleb Thielbar | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| CHC | Daniel Palencia | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| CHC | Jacob Webb | Closer | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| CHC | Ryan Zeferjahn | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| CIN | Rhett Lowder | Starter | 4.1 | 5 | 6 | 1 | 6 | 22 | 89 |
| CIN | Brock Burke | Middle Reliever (High Leverage) | 1.1 | 0 | 1 | 0 | 2 | 5 | 32 |
| CIN | Emilio Pagán | Closer | 1.1 | 1 | 1 | 0 | 2 | 5 | 21 |
| CIN | Luis Mey | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| CIN | Tony Santillan | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 1 | 7 | 27 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | 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. |
20260920_DET@CHW
20260920_DET@CHW.json • 2026-09-20
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 | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=7, sim=5; HR: current=1, sim=0; SO: current=9, sim=6; 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 | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=2; Munetaka Murakami: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Kyle Teel: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Miguel Vargas: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Braden Montgomery: SO current=1 box=0; Colson Montgomery: AB current=3 box=4, RBI current=1 box=0; Andrew Benintendi: R current=0 box=1, SO current=1 box=0, HBP current=0 box=1; Chase Meidroth: AB current=3 box=4, H current=1 box=2, 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 | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=9; 2B: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=8, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=0 box=1; Hao-Yu Lee: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=2; Eduardo Valencia: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gleyber Torres: AB current=4 box=5, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0; Brett Callahan: H current=0 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Max Clark: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Riley Greene: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, R current=0 box=1; John Peck: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET 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 | DET | BATTING_TOTALS_SUM | current:DET 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 | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match DET pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match DET pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match DET pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=37 matches DET BF=37. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match CHW pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match CHW pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match CHW pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=39 matches CHW BF=39. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.731 -> 0.651 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.730973, 'sample_size': 352, 'empirical_hit_rate': 0.571, 'empirical_weight': 0.5, 'blended_confidence': 0.650987, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET 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 | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | 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 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.584/0.788. | |||||
| 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: DET 9, CHW 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: DET 5 - CHW 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: DET. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for DET; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 3 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'DET', 'opponent_team': 'CHW', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 1, 'opponent_runs': 3, 'margin_for_predicted_team': -2, 'winner': 'CHW'}, {'date': '2026-09-18', 'predicted_team_runs': 11, 'opponent_runs': 8, 'margin_for_predicted_team': 3, 'winner': 'DET'}, {'date': '2026-09-17', 'predicted_team_runs': 1, 'opponent_runs': 3, 'margin_for_predicted_team': -2, 'winner': 'CHW'}], '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': 3, 'same_pick_actual_loss_count': 4, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'DET', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260919_DET@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'DET', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'DET', 'actual_margin': 3, 'raw_pick_probability': 0.543489, 'artifact': '20260918_DET@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260917', 'away': 'DET', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260917_DET@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260816', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.548872, 'artifact': '20260816_CHW@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260815', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260815_CHW@DET.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'DET', 'guardrail_opponent_team': 'CHW', 'output_pre_simulation_winner': 'DET', 'output_opponent_team': 'CHW', 'simulation_score_winner': 'DET', 'final_score_winner': 'DET', 'pre_simulation_winner': 'DET', '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': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, '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.0358, 'recent_form_edge_home_minus_away': -0.55, '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': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'DET', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 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.396, 'winner': 'DET', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_DET@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: DET@CHW. | |||||
| 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': 2.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 2.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': 5, 'probability': 0.01941289306284455}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.01903098360719867}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.018964006538115356}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.018590928018062187}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.01805643536607702}], 'home_distribution': {'0': 0.06331029331111199, '1': 0.09649666872076237, '2': 0.1288025238187686, '3': 0.15056030360673597, '4': 0.15412413339725853, '5': 0.13816717257985175, '6': 0.1084708766169585, '7': 0.07457538196015706, '8': 0.04490057263082055, '9': 0.023674582551218973, '10': 0.010931678156480818, '11': 0.004420438990205039, '12': 0.0015653736596698367}, 'away_distribution': {'0': 0.03483819740394585, '1': 0.05418299492362951, '2': 0.07683924094335436, '3': 0.09936097713812066, '4': 0.11715514610249998, '5': 0.12595621876301077, '6': 0.12347828459898536, '7': 0.11037590788533361, '8': 0.08996440636641938, '9': 0.06686207905852878, '10': 0.04531080346378702, '11': 0.027998604006053345, '12': 0.015775521379530495, '13': 0.008104827823703734, '14': 0.0037967901430970108}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.2, 'recent_quality_edge': -0.76, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.396} | ||||
| 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': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, '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.0358, 'recent_form_edge_home_minus_away': -0.55, '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': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'DET', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 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.396, 'winner': 'DET', '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: 148. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| 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: 164. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 148. | |||
| 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 | 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 | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | 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 | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching_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 | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | 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 | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=DET, simulation=DET, published=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): DET wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET 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: DET wins 5-4. | |||||
| 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: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 7/10 = 0.700. |
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 | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET 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 | DET | BATTING_TOTALS_SUM | current:DET 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 | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match DET pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match DET pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match DET pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=37 matches DET BF=37. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match CHW pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match CHW pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match CHW pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=39 matches CHW BF=39. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.731 -> 0.651 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.730973, 'sample_size': 352, 'empirical_hit_rate': 0.571, 'empirical_weight': 0.5, 'blended_confidence': 0.650987, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET 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 | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | 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 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.584/0.788. | |||||
| 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: DET 9, CHW 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: DET 5 - CHW 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: DET. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for DET; cap=0.56, reasons=latest same-matchup result beat the predicted side; recent head-to-head is split and volatile; recent head-to-head margin does not support a strong repeat pick; local prediction memory shows 3 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'DET', 'opponent_team': 'CHW', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 1, 'opponent_runs': 3, 'margin_for_predicted_team': -2, 'winner': 'CHW'}, {'date': '2026-09-18', 'predicted_team_runs': 11, 'opponent_runs': 8, 'margin_for_predicted_team': 3, 'winner': 'DET'}, {'date': '2026-09-17', 'predicted_team_runs': 1, 'opponent_runs': 3, 'margin_for_predicted_team': -2, 'winner': 'CHW'}], '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': 3, 'same_pick_actual_loss_count': 4, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'DET', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.56, 'artifact': '20260919_DET@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'DET', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'DET', 'actual_margin': 3, 'raw_pick_probability': 0.543489, 'artifact': '20260918_DET@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260917', 'away': 'DET', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.53, 'artifact': '20260917_DET@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260816', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'CHW', 'actual_margin': 2, 'raw_pick_probability': 0.548872, 'artifact': '20260816_CHW@DET.json', 'verification': 'pregame_official_final'}, {'date': '20260815', 'away': 'CHW', 'home': 'DET', 'game_number': 1, 'predicted_team': 'DET', 'actual_winner': 'CHW', 'actual_margin': 1, 'raw_pick_probability': 0.56, 'artifact': '20260815_CHW@DET.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'DET', 'guardrail_opponent_team': 'CHW', 'output_pre_simulation_winner': 'DET', 'output_opponent_team': 'CHW', 'simulation_score_winner': 'DET', 'final_score_winner': 'DET', 'pre_simulation_winner': 'DET', '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': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, '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.0358, 'recent_form_edge_home_minus_away': -0.55, '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': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'DET', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 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.396, 'winner': 'DET', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_DET@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: DET@CHW. | |||||
| 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': 2.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 2.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': 5, 'probability': 0.01941289306284455}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.01903098360719867}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.018964006538115356}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.018590928018062187}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.01805643536607702}], 'home_distribution': {'0': 0.06331029331111199, '1': 0.09649666872076237, '2': 0.1288025238187686, '3': 0.15056030360673597, '4': 0.15412413339725853, '5': 0.13816717257985175, '6': 0.1084708766169585, '7': 0.07457538196015706, '8': 0.04490057263082055, '9': 0.023674582551218973, '10': 0.010931678156480818, '11': 0.004420438990205039, '12': 0.0015653736596698367}, 'away_distribution': {'0': 0.03483819740394585, '1': 0.05418299492362951, '2': 0.07683924094335436, '3': 0.09936097713812066, '4': 0.11715514610249998, '5': 0.12595621876301077, '6': 0.12347828459898536, '7': 0.11037590788533361, '8': 0.08996440636641938, '9': 0.06686207905852878, '10': 0.04531080346378702, '11': 0.027998604006053345, '12': 0.015775521379530495, '13': 0.008104827823703734, '14': 0.0037967901430970108}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.2, 'recent_quality_edge': -0.76, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.396} | ||||
| 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': 'DET 5 - 4 CHW', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'DET 5 - 4 CHW', 'winner': 'DET'}, '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.0358, 'recent_form_edge_home_minus_away': -0.55, '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': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'DET', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'CHW', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 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.396, 'winner': 'DET', '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: 148. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| 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: 164. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 148. | |||
| 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 | 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 | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | 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 | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching_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 | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | 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 | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: DET 5 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=DET, simulation=DET, published=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.560. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): DET wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET 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: DET wins 5-4. | |||||
| 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: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 7/10 = 0.700. |
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 | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=7, sim=5; HR: current=1, sim=0; SO: current=9, sim=6; 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 | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=2; Munetaka Murakami: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Kyle Teel: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Miguel Vargas: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Braden Montgomery: SO current=1 box=0; Colson Montgomery: AB current=3 box=4, RBI current=1 box=0; Andrew Benintendi: R current=0 box=1, SO current=1 box=0, HBP current=0 box=1; Chase Meidroth: AB current=3 box=4, H current=1 box=2, 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 | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=9; 2B: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=8, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=0 box=1; Hao-Yu Lee: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=2; Eduardo Valencia: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gleyber Torres: AB current=4 box=5, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0; Brett Callahan: H current=0 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Max Clark: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Riley Greene: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, R current=0 box=1; John Peck: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.848883020114156 | 3.9013037810341373 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DET | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 2 | 0 | 5 | 9 |
| CHW | 0 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 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 | DET | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | DET | pitching | 5 | 0 | 4 | 4 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| current | CHW | batting | 31 | 7 | 1 | 0 | 1 | 4 | 4 | 4 | 9 | 0 | 0 | 0 | 0 | |||||
| current | CHW | pitching | 9 | 1 | 5 | 3 | 7 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | DET | batting | 36 | 9 | 2 | 0 | 1 | 5 | 5 | 3 | 7 | 0 | 0 | |||||||
| simulation | DET | pitching | 5 | 0 | 4 | 4 | 6 | 9.0 | 4 | 37 | 148 | |||||||||
| simulation | CHW | batting | 32 | 5 | 1 | 0 | 0 | 4 | 4 | 4 | 6 | 0 | 1 | |||||||
| simulation | CHW | pitching | 9 | 1 | 5 | 3 | 7 | 9.0 | 5 | 39 | 164 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | DH | Kevin McGonigle | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | DET | 3B | Hao-Yu Lee | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | C | Eduardo Valencia | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | 2B | Gleyber Torres | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | DET | RF | Brett Callahan | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | DET | CF | Max Clark | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | LF | Riley Greene | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | DET | SS | John Peck | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | 1B | Spencer Torkelson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | LF | Sam Antonacci | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CHW | 1B | Munetaka Murakami | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | C | Kyle Teel | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | 3B | Miguel Vargas | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | RF | Braden Montgomery | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | CHW | SS | Colson Montgomery | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.000 | |
| current | CHW | DH | Andrew Benintendi | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | 2B | Chase Meidroth | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | CF | Brenton Doyle | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | DET | 1 | DH | Kevin McGonigle | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | DET | 2 | 2B | Gleyber Torres | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.200 |
| simulation | DET | 3 | 3B | Hao-Yu Lee | 5 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | DET | 4 | LF | Riley Greene | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.667 |
| simulation | DET | 5 | C | Eduardo Valencia | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | DET | 6 | CF | Max Clark | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | DET | 7 | 1B | Spencer Torkelson | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.500 |
| simulation | DET | 8 | RF | Brett Callahan | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | DET | 9 | SS | John Peck | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | CHW | 1 | LF | Sam Antonacci | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CHW | 2 | C | Kyle Teel | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.333 |
| simulation | CHW | 3 | 3B | Miguel Vargas | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHW | 4 | 1B | Munetaka Murakami | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | CHW | 5 | DH | Andrew Benintendi | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0.333 |
| simulation | CHW | 6 | SS | Colson Montgomery | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHW | 7 | 2B | Chase Meidroth | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | CHW | 8 | RF | Braden Montgomery | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | CHW | 9 | CF | Brenton Doyle | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | 1 | Troy Melton | Starter | 6.0 | 4 | 3 | 3 | 4 | 4 | 0 | 0 | 0 | 4.50 | 2.52 | 1.10 |
| current | DET | 2 | Tyler Holton | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.78 | 1.22 |
| current | DET | 3 | Kenley Jansen | Closer | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 2.93 | 1.05 |
| current | DET | 4 | Drew Sommers | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.61 | 1.08 |
| current | CHW | 1 | Davis Martin | Starter | 5.0 | 7 | 3 | 3 | 0 | 7 | 0 | 0 | 0 | 5.40 | 3.96 | 1.30 |
| current | CHW | 2 | Grant Taylor | Closer | 1.2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 2.40 | 1.03 |
| current | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 1 | 2 | 2 | 2 | 0 | 1 | 0 | 0 | 13.50 | 2.77 | 1.11 |
| current | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.58 | 1.16 |
| simulation | DET | 1 | Troy Melton | Starter | 6.0 | 4 | 3 | 3 | 4 | 4 | 0 | 27 | 107 | 4.50 | 2.52 | 1.10 |
| simulation | DET | 2 | Kenley Jansen | Closer | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 4 | 16 | 9.00 | 2.93 | 1.05 |
| simulation | DET | 3 | Tyler Holton | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 2.78 | 1.22 |
| simulation | DET | 4 | Drew Sommers | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 8 | 0.00 | 2.61 | 1.08 |
| simulation | CHW | 1 | Davis Martin | Starter | 5.0 | 7 | 3 | 3 | 0 | 7 | 0 | 22 | 95 | 5.40 | 3.96 | 1.30 |
| simulation | CHW | 2 | Grant Taylor | Closer | 1.2 | 1 | 0 | 0 | 1 | 0 | 0 | 7 | 28 | 0.00 | 2.40 | 1.03 |
| simulation | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 1 | 2 | 2 | 2 | 0 | 1 | 7 | 28 | 13.50 | 2.77 | 1.11 |
| simulation | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.58 | 1.16 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| DET | Troy Melton | Starter | 6.0 | 3 | 4 | 4 | 4 | 27 | 107 |
| DET | Tyler Holton | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| DET | Kenley Jansen | Closer | 1.0 | 1 | 1 | 0 | 1 | 4 | 16 |
| DET | Drew Sommers | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 1 | 2 | 8 |
| CHW | Davis Martin | Starter | 5.0 | 3 | 7 | 0 | 7 | 22 | 95 |
| CHW | Grant Taylor | Closer | 1.2 | 0 | 1 | 1 | 0 | 7 | 28 |
| CHW | Sean Newcomb | Setup Man | 1.1 | 2 | 1 | 2 | 0 | 7 | 28 |
| CHW | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 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. |
20260920_KC@PIT
20260920_KC@PIT.json • 2026-09-20
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 | 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_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_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC 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 | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=2; 2B: current=2, sim=0; RBI: current=4, sim=2; R: current=3, sim=2; BB: current=3, sim=7; SO: current=8, sim=14; 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 | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Jac Caglianone: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Salvador Perez: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=3; Nick Loftin: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, HBP current=0 box=1; John Rave: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Bobby Witt Jr.: AB current=4 box=0, H current=1 box=0, R current=1 box=0, BB current=1 box=5; Tyler Tolbert: AB current=3 box=4; Luke Maile: BB current=0 box=1, SO current=1 box=0; Maikel Garcia: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=35, sim=40; H: current=9, sim=10; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=5, sim=3; R: current=5, sim=3; SO: current=8, 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 | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Brandon Lowe: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Konnor Griffin: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ryan O'Hearn: AB current=4 box=3, H current=1 box=0, BB current=0 box=2, SO current=1 box=0; Oneil Cruz: AB current=4 box=5, H current=1 box=2, BB current=1 box=0; Bryan Reynolds: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, R current=1 box=0; Jake Mangum: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Rafael Flores Jr.: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Spencer Horwitz: BB current=1 box=0, SO 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 | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match PIT pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match PIT pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match PIT pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=41 matches PIT BF=41. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match KC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match KC pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match KC pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=43 matches KC BF=43. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.586 -> 0.572 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.5864, 'sample_size': 122, 'empirical_hit_rate': 0.5574, 'empirical_weight': 0.5, 'blended_confidence': 0.5719, 'published_confidence': 0.572799, '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 | 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 | 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 | 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.427. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 5 is reasonably close to low-score expected_total_runs 5.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.727/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 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: KC 2, PIT 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 2 - PIT 3. | |||||
| 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.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'PIT', 'opponent_team': 'KC', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 5, 'margin_for_predicted_team': 1, 'winner': 'PIT'}, {'date': '2026-09-18', 'predicted_team_runs': 8, 'opponent_runs': 5, 'margin_for_predicted_team': 3, 'winner': 'PIT'}], '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': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'KC', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 1, 'raw_pick_probability': 0.54098, 'artifact': '20260919_KC@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'KC', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 3, 'raw_pick_probability': 0.586204, 'artifact': '20260918_KC@PIT.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'PIT', 'guardrail_opponent_team': 'KC', 'output_pre_simulation_winner': 'PIT', 'output_opponent_team': 'KC', 'simulation_score_winner': 'PIT', 'final_score_winner': 'PIT', 'pre_simulation_winner': 'PIT', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0053, 'recent_form_edge_home_minus_away': 0.782, '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': 3, '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': 1.0, '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': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 2, 'home_runs': 3}, 'simulation_score': {'away_runs': 2, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7614, 'winner': 'PIT', 'score_reviewed': {'away_runs': 2, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_KC@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@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': 2, 'sample_weight': 0.03, 'home_net_margin': 4.0, 'absolute_net_margin': 4.0, 'home_average_margin': 2.0, 'home_run_delta': 0.03, 'away_run_delta': -0.03, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 2, 'probability': 0.037977763705028346}, {'home_runs': 2, 'away_runs': 2, 'probability': 0.03546636715986223}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.034682776056224766}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.03438640361965756}, {'home_runs': 3, 'away_runs': 1, 'probability': 0.032994254734985136}], 'home_distribution': {'0': 0.08746158378902273, '1': 0.13099075561020265, '2': 0.16588558299923203, '3': 0.17763204911343317, '4': 0.16083430778186175, '5': 0.12313478287950133, '6': 0.0797126945322744, '7': 0.04363338609453767, '8': 0.020195519549691385, '9': 0.007903797954949079, '10': 0.002615539695293782}, 'away_distribution': {'0': 0.12803223628402174, '1': 0.18574494242261147, '2': 0.21380017792158842, '3': 0.19525066692259382, '4': 0.14147196586699706, '5': 0.08132829162982665, '6': 0.03709422566207027, '7': 0.013423456767419444, '8': 0.003854036522871096}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.9387, 'recent_quality_edge': 0.432, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.7614} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0053, 'recent_form_edge_home_minus_away': 0.782, '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': 3, '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': 1.0, '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': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 2, 'home_runs': 3}, 'simulation_score': {'away_runs': 2, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7614, 'winner': 'PIT', 'score_reviewed': {'away_runs': 2, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 180. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 193. | |||||
| 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: 180. | |||
| 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: 193. | |||
| 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 | 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 | 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 | 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 | 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_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| 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 | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC 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: 10.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 2 - 3 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 2 - 3 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 3-2 (Extra Innings - 10). | |||||
| 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.573. | |||||
| 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: 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 3-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT wins 2-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 2-3, final 2-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PIT wins 3-2 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match PIT pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match PIT pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match PIT pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=41 matches PIT BF=41. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match KC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match KC pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match KC pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=43 matches KC BF=43. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 3. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.586 -> 0.572 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.5864, 'sample_size': 122, 'empirical_hit_rate': 0.5574, 'empirical_weight': 0.5, 'blended_confidence': 0.5719, 'published_confidence': 0.572799, '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 | 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 | 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 | 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.427. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 5 is reasonably close to low-score expected_total_runs 5.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.727/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 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: KC 2, PIT 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 2 - PIT 3. | |||||
| 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.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'PIT', 'opponent_team': 'KC', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 5, 'margin_for_predicted_team': 1, 'winner': 'PIT'}, {'date': '2026-09-18', 'predicted_team_runs': 8, 'opponent_runs': 5, 'margin_for_predicted_team': 3, 'winner': 'PIT'}], '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': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'KC', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 1, 'raw_pick_probability': 0.54098, 'artifact': '20260919_KC@PIT.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'KC', 'home': 'PIT', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 3, 'raw_pick_probability': 0.586204, 'artifact': '20260918_KC@PIT.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'PIT', 'guardrail_opponent_team': 'KC', 'output_pre_simulation_winner': 'PIT', 'output_opponent_team': 'KC', 'simulation_score_winner': 'PIT', 'final_score_winner': 'PIT', 'pre_simulation_winner': 'PIT', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0053, 'recent_form_edge_home_minus_away': 0.782, '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': 3, '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': 1.0, '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': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 2, 'home_runs': 3}, 'simulation_score': {'away_runs': 2, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7614, 'winner': 'PIT', 'score_reviewed': {'away_runs': 2, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_KC@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@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': 2, 'sample_weight': 0.03, 'home_net_margin': 4.0, 'absolute_net_margin': 4.0, 'home_average_margin': 2.0, 'home_run_delta': 0.03, 'away_run_delta': -0.03, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 2, 'probability': 0.037977763705028346}, {'home_runs': 2, 'away_runs': 2, 'probability': 0.03546636715986223}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.034682776056224766}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.03438640361965756}, {'home_runs': 3, 'away_runs': 1, 'probability': 0.032994254734985136}], 'home_distribution': {'0': 0.08746158378902273, '1': 0.13099075561020265, '2': 0.16588558299923203, '3': 0.17763204911343317, '4': 0.16083430778186175, '5': 0.12313478287950133, '6': 0.0797126945322744, '7': 0.04363338609453767, '8': 0.020195519549691385, '9': 0.007903797954949079, '10': 0.002615539695293782}, 'away_distribution': {'0': 0.12803223628402174, '1': 0.18574494242261147, '2': 0.21380017792158842, '3': 0.19525066692259382, '4': 0.14147196586699706, '5': 0.08132829162982665, '6': 0.03709422566207027, '7': 0.013423456767419444, '8': 0.003854036522871096}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.9387, 'recent_quality_edge': 0.432, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.7614} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 PIT', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 3, 'score_text': 'KC 2 - 3 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0053, 'recent_form_edge_home_minus_away': 0.782, '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': 3, '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': 1.0, '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': True, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 2, 'home_runs': 3}, 'simulation_score': {'away_runs': 2, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.7614, 'winner': 'PIT', 'score_reviewed': {'away_runs': 2, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 180. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 193. | |||||
| 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: 180. | |||
| 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: 193. | |||
| 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 | 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 | 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 | 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 | 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_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| 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 | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC 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: 10.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 2 - 3 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 2 - 3 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 3-2 (Extra Innings - 10). | |||||
| 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.573. | |||||
| 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: 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 3-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT wins 2-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 2-3, final 2-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PIT wins 3-2 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| 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_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_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC 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 | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=2; 2B: current=2, sim=0; RBI: current=4, sim=2; R: current=3, sim=2; BB: current=3, sim=7; SO: current=8, sim=14; 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 | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Jac Caglianone: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Salvador Perez: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=3; Nick Loftin: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, HBP current=0 box=1; John Rave: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Bobby Witt Jr.: AB current=4 box=0, H current=1 box=0, R current=1 box=0, BB current=1 box=5; Tyler Tolbert: AB current=3 box=4; Luke Maile: BB current=0 box=1, SO current=1 box=0; Maikel Garcia: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=35, sim=40; H: current=9, sim=10; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=5, sim=3; R: current=5, sim=3; SO: current=8, 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 | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Brandon Lowe: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Konnor Griffin: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ryan O'Hearn: AB current=4 box=3, H current=1 box=0, BB current=0 box=2, SO current=1 box=0; Oneil Cruz: AB current=4 box=5, H current=1 box=2, BB current=1 box=0; Bryan Reynolds: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, R current=1 box=0; Jake Mangum: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Rafael Flores Jr.: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Spencer Horwitz: BB current=1 box=0, SO 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 | 3.3932924943528278 | 5.599400704355159 | Base ML historical model prediction | |
| variance_applied | 3 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 2 | 3 | 0.573 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 2 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 2 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 2 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 2 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 2 | 2 |
| PIT | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 3 | 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 | KC | batting | 33 | 7 | 2 | 0 | 1 | 4 | 3 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | KC | pitching | 8 | 0 | 3 | 3 | 11 | 8.0 | 3 | 0 | 0 | |||||||||
| current | PIT | batting | 35 | 9 | 2 | 0 | 1 | 5 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | PIT | pitching | 2 | 1 | 2 | 7 | 14 | 9.0 | 2 | 0 | 0 | |||||||||
| simulation | KC | batting | 32 | 2 | 0 | 0 | 1 | 2 | 2 | 7 | 14 | 0 | 2 | |||||||
| simulation | KC | pitching | 10 | 0 | 3 | 3 | 11 | 10.0 | 3 | 43 | 180 | |||||||||
| simulation | PIT | batting | 40 | 10 | 1 | 0 | 0 | 3 | 3 | 3 | 11 | 0 | 0 | |||||||
| simulation | PIT | pitching | 2 | 1 | 2 | 7 | 14 | 10.0 | 2 | 41 | 193 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | DH | Jac Caglianone | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | 1B | Salvador Perez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | RF | Nick Loftin | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | KC | LF | John Rave | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | KC | SS | Bobby Witt Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | KC | CF | Tyler Tolbert | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | KC | C | Luke Maile | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | KC | 3B | Maikel Garcia | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | 2B | Michael Massey | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | PIT | 2B | Brandon Lowe | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | SS | Konnor Griffin | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | DH | Ryan O'Hearn | 0 | 4 | 1 | 0 | 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 | LF | Bryan Reynolds | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | PIT | RF | Jake Mangum | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | C | Rafael Flores Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | 1B | Spencer Horwitz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 | |
| current | PIT | 3B | Nick Gonzales | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| simulation | KC | 1 | 3B | Maikel Garcia | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0.200 |
| simulation | KC | 2 | SS | Bobby Witt Jr. | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | |
| simulation | KC | 3 | DH | Jac Caglianone | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 |
| simulation | KC | 4 | 1B | Salvador Perez | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | KC | 5 | 2B | Michael Massey | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | KC | 6 | RF | Nick Loftin | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0.000 |
| simulation | KC | 7 | LF | John Rave | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | KC | 8 | C | Luke Maile | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | KC | 9 | CF | Tyler Tolbert | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 1 | SS | Konnor Griffin | 5 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.500 |
| simulation | PIT | 2 | 2B | Brandon Lowe | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.200 |
| simulation | PIT | 3 | LF | Bryan Reynolds | 5 | 5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | PIT | 4 | CF | Oneil Cruz | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | PIT | 5 | 3B | Nick Gonzales | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | PIT | 6 | DH | Ryan O'Hearn | 5 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0.000 |
| simulation | PIT | 7 | C | Rafael Flores Jr. | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PIT | 8 | 1B | Spencer Horwitz | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | PIT | 9 | RF | Jake Mangum | 4 | 4 | 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 | KC | 1 | Michael Wacha | Starter | 6.1 | 4 | 2 | 2 | 3 | 5 | 0 | 0 | 0 | 2.84 | 3.34 | 1.10 |
| current | KC | 2 | Nate Pearson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.07 | 1.25 |
| current | KC | 3 | Steven Cruz | Closer | 0.2 | 3 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 13.50 | 4.37 | 1.27 |
| current | KC | 4 | Alex Lange | Middle Reliever (High Leverage) | 0.0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 6.09 | 1.56 | |
| current | PIT | 1 | Lake Bachar | Starter | 5.0 | 1 | 0 | 0 | 5 | 8 | 0 | 0 | 0 | 0.00 | 2.95 | 1.04 |
| current | PIT | 2 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.36 | 1.10 |
| current | PIT | 3 | Luke Weaver | Setup Man | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.79 | 0.97 |
| current | PIT | 4 | Mason Montgomery | Closer | 1.1 | 1 | 2 | 2 | 0 | 1 | 1 | 0 | 0 | 13.50 | 2.35 | 1.00 |
| current | PIT | 5 | Yohan Ramírez | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 3.00 | 1.21 |
| simulation | KC | 1 | Michael Wacha | Starter | 6.1 | 4 | 1 | 1 | 3 | 5 | 0 | 26 | 115 | 1.42 | 3.34 | 1.10 |
| simulation | KC | 2 | Steven Cruz | Closer | 1.1 | 3 | 1 | 1 | 0 | 2 | 0 | 7 | 26 | 6.75 | 4.37 | 1.27 |
| simulation | KC | 3 | Nate Pearson | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 3.07 | 1.25 |
| simulation | KC | 4 | Alex Lange | Middle Reliever (High Leverage) | 1.1 | 3 | 1 | 1 | 0 | 2 | 0 | 7 | 26 | 6.75 | 6.09 | 1.56 |
| simulation | PIT | 1 | Lake Bachar | Starter | 5.0 | 1 | 0 | 0 | 5 | 8 | 0 | 23 | 98 | 0.00 | 2.95 | 1.04 |
| simulation | PIT | 2 | Mason Montgomery | Closer | 1.1 | 1 | 2 | 2 | 0 | 1 | 1 | 5 | 28 | 13.50 | 2.35 | 1.00 |
| simulation | PIT | 3 | Luke Weaver | Setup Man | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 5 | 33 | 0.00 | 2.79 | 0.97 |
| simulation | PIT | 4 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 3.36 | 1.10 |
| simulation | PIT | 5 | Yohan Ramírez | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 5 | 21 | 0.00 | 3.00 | 1.21 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| KC | Michael Wacha | Starter | 6.1 | 1 | 4 | 3 | 5 | 26 | 115 |
| KC | Nate Pearson | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| KC | Steven Cruz | Closer | 1.1 | 1 | 3 | 0 | 2 | 7 | 26 |
| KC | Alex Lange | Middle Reliever (High Leverage) | 1.1 | 1 | 3 | 0 | 2 | 7 | 26 |
| PIT | Lake Bachar | Starter | 5.0 | 0 | 1 | 5 | 8 | 23 | 98 |
| PIT | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| PIT | Luke Weaver | Setup Man | 1.1 | 0 | 0 | 1 | 1 | 5 | 33 |
| PIT | Mason Montgomery | Closer | 1.1 | 2 | 1 | 0 | 1 | 5 | 28 |
| PIT | Yohan Ramírez | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 1 | 2 | 5 | 21 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260920_MIA@SD
20260920_MIA@SD.json • 2026-09-20
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 | 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_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 | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (BB: current=3, sim=4). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=1, 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 | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Stowers: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Heriberto Hernández: H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Javier Sanoja: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Griffin Conine: HR current=1 box=0, BB current=1 box=0; Jakob Marsee: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Deyvison De Los Santos: AB current=3 box=4, SO current=1 box=2; Otto Lopez: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1, SO current=1 box=0; Graham Pauley: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=4; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Fernando Tatis Jr.: H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; Dustin Harris: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Manny Machado: AB current=4 box=3, R current=0 box=1; Jake Cronenworth: H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Samad Taylor: AB current=3 box=4, H current=1 box=0, R current=1 box=0; Jackson Merrill: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Xander Bogaerts: AB current=4 box=3, R current=1 box=0; Ty France: R current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIA | BATTING_REALISM | current:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIA | BATTING_REALISM | simulation:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIA | BATTING_TOTALS_SUM | current:MIA 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 | MIA | BATTING_TOTALS_SUM | simulation:MIA 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 | MIA | BAT_PITCH_BB_MATCH | simulation:MIA batting walks match SD pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_HR_MATCH | simulation:MIA batting home runs match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match SD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match SD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=37 matches SD BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match MIA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match MIA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match MIA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match MIA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=36 matches MIA BF=36. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.845 -> 0.702 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.845261, 'sample_size': 236, 'empirical_hit_rate': 0.5593, 'empirical_weight': 0.5, 'blended_confidence': 0.702281, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD current pitcher projected totals match final simulation pitching box score. | |||
| 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 | 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.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.673/0.893. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIA 8, SD 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIA 4 - SD 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SD; cap=0.58, reasons=local prediction memory shows 4 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 4 straight prior same-side picks'], 'signals': {'predicted_team': 'SD', 'opponent_team': 'MIA', 'h2h_net_margin': 9, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 7, 'opponent_runs': 6, 'margin_for_predicted_team': 1, 'winner': 'SD'}, {'date': '2026-09-18', 'predicted_team_runs': 8, 'opponent_runs': 2, 'margin_for_predicted_team': 6, 'winner': 'SD'}, {'date': '2026-07-26', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'SD'}], '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': 4, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'MIA', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 1, 'raw_pick_probability': 0.58, 'artifact': '20260919_MIA@SD.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'MIA', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 6, 'raw_pick_probability': 0.58, 'artifact': '20260918_MIA@SD.json', 'verification': 'pregame_official_final'}, {'date': '20260726', 'away': 'SD', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 2, 'raw_pick_probability': 0.6599999999999999, 'artifact': '20260726_SD@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260725', 'away': 'SD', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 5, 'raw_pick_probability': 0.53, 'artifact': '20260725_SD@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260724', 'away': 'SD', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'MIA', 'actual_winner': 'SD', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260724_SD@MIA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SD', 'guardrail_opponent_team': 'MIA', 'output_pre_simulation_winner': 'SD', 'output_opponent_team': 'MIA', 'simulation_score_winner': 'SD', 'final_score_winner': 'SD', 'pre_simulation_winner': 'SD', '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': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0206, 'recent_form_edge_home_minus_away': 1.358, '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': 6, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 6}, 'simulation_score': {'away_runs': 4, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.5667, 'winner': 'SD', 'score_reviewed': {'away_runs': 4, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_MIA@SD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIA@SD. | |||||
| 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': 16.0, 'absolute_net_margin': 16.0, 'home_average_margin': 3.2, 'home_run_delta': 0.0923, 'away_run_delta': -0.0923, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': 2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 4, 'probability': 0.01739812310130491}, {'home_runs': 7, 'away_runs': 4, 'probability': 0.01726254989179147}, {'home_runs': 6, 'away_runs': 3, 'probability': 0.016983449866694447}, {'home_runs': 7, 'away_runs': 3, 'probability': 0.016851107958683366}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01624743134756884}], 'home_distribution': {'0': 0.02387123837046976, '1': 0.03742556328830599, '2': 0.054368405984077176, '3': 0.07318291654755867, '4': 0.0912762281206899, '5': 0.10548495340235148, '6': 0.1129557137598945, '7': 0.11207551716867933, '8': 0.10303817490679215, '9': 0.08777491589704767, '10': 0.06928313726007171, '11': 0.050672172755396254, '12': 0.03433968972694947, '13': 0.02156294452183737, '14': 0.012545980921881566, '15': 0.006763726509097534, '16': 0.00337872085889944}, 'away_distribution': {'0': 0.06316476082378529, '1': 0.09628486809695506, '2': 0.12855993896901025, '3': 0.15035494267067798, '4': 0.15402605607262518, '5': 0.13820861503852377, '6': 0.10862767114219193, '7': 0.07478426965378916, '8': 0.04509667045227875, '9': 0.023820075537327963, '10': 0.011020624983992405, '11': 0.004466154554733586, '12': 0.0015853520041085587}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.329, 'recent_quality_edge': 1.008, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.5667} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0206, 'recent_form_edge_home_minus_away': 1.358, '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': 6, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 6}, 'simulation_score': {'away_runs': 4, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.5667, 'winner': 'SD', 'score_reviewed': {'away_runs': 4, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 148. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 154. | |||||
| 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: 148. | |||
| 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: 154. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | current | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 9.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: MIA 4 - 6 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIA 4 - 6 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SD wins 6-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SD, simulation=SD, published=SD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.580. | |||||
| 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: 9/10 (0.900). | |||||
| 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): SD wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SD wins 4-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-6, final 4-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SD wins 6-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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: 9/10 = 0.900. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIA | BATTING_REALISM | current:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIA | BATTING_REALISM | simulation:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIA | BATTING_TOTALS_SUM | current:MIA 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 | MIA | BATTING_TOTALS_SUM | simulation:MIA 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 | MIA | BAT_PITCH_BB_MATCH | simulation:MIA batting walks match SD pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_HR_MATCH | simulation:MIA batting home runs match SD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match SD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match SD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=37 matches SD BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match MIA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match MIA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match MIA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match MIA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=36 matches MIA BF=36. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.845 -> 0.702 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.845261, 'sample_size': 236, 'empirical_hit_rate': 0.5593, 'empirical_weight': 0.5, 'blended_confidence': 0.702281, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD current pitcher projected totals match final simulation pitching box score. | |||
| 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 | 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.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.673/0.893. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIA 8, SD 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIA 4 - SD 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SD. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SD; cap=0.58, reasons=local prediction memory shows 4 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 4 straight prior same-side picks'], 'signals': {'predicted_team': 'SD', 'opponent_team': 'MIA', 'h2h_net_margin': 9, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 7, 'opponent_runs': 6, 'margin_for_predicted_team': 1, 'winner': 'SD'}, {'date': '2026-09-18', 'predicted_team_runs': 8, 'opponent_runs': 2, 'margin_for_predicted_team': 6, 'winner': 'SD'}, {'date': '2026-07-26', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'SD'}], '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': 4, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'MIA', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 1, 'raw_pick_probability': 0.58, 'artifact': '20260919_MIA@SD.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'MIA', 'home': 'SD', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 6, 'raw_pick_probability': 0.58, 'artifact': '20260918_MIA@SD.json', 'verification': 'pregame_official_final'}, {'date': '20260726', 'away': 'SD', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 2, 'raw_pick_probability': 0.6599999999999999, 'artifact': '20260726_SD@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260725', 'away': 'SD', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'SD', 'actual_winner': 'SD', 'actual_margin': 5, 'raw_pick_probability': 0.53, 'artifact': '20260725_SD@MIA.json', 'verification': 'pregame_official_final'}, {'date': '20260724', 'away': 'SD', 'home': 'MIA', 'game_number': 1, 'predicted_team': 'MIA', 'actual_winner': 'SD', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260724_SD@MIA.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SD', 'guardrail_opponent_team': 'MIA', 'output_pre_simulation_winner': 'SD', 'output_opponent_team': 'MIA', 'simulation_score_winner': 'SD', 'final_score_winner': 'SD', 'pre_simulation_winner': 'SD', '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': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0206, 'recent_form_edge_home_minus_away': 1.358, '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': 6, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 6}, 'simulation_score': {'away_runs': 4, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.5667, 'winner': 'SD', 'score_reviewed': {'away_runs': 4, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_MIA@SD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIA@SD. | |||||
| 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': 16.0, 'absolute_net_margin': 16.0, 'home_average_margin': 3.2, 'home_run_delta': 0.0923, 'away_run_delta': -0.0923, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': 2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 6, 'away_runs': 4, 'probability': 0.01739812310130491}, {'home_runs': 7, 'away_runs': 4, 'probability': 0.01726254989179147}, {'home_runs': 6, 'away_runs': 3, 'probability': 0.016983449866694447}, {'home_runs': 7, 'away_runs': 3, 'probability': 0.016851107958683366}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.01624743134756884}], 'home_distribution': {'0': 0.02387123837046976, '1': 0.03742556328830599, '2': 0.054368405984077176, '3': 0.07318291654755867, '4': 0.0912762281206899, '5': 0.10548495340235148, '6': 0.1129557137598945, '7': 0.11207551716867933, '8': 0.10303817490679215, '9': 0.08777491589704767, '10': 0.06928313726007171, '11': 0.050672172755396254, '12': 0.03433968972694947, '13': 0.02156294452183737, '14': 0.012545980921881566, '15': 0.006763726509097534, '16': 0.00337872085889944}, 'away_distribution': {'0': 0.06316476082378529, '1': 0.09628486809695506, '2': 0.12855993896901025, '3': 0.15035494267067798, '4': 0.15402605607262518, '5': 0.13820861503852377, '6': 0.10862767114219193, '7': 0.07478426965378916, '8': 0.04509667045227875, '9': 0.023820075537327963, '10': 0.011020624983992405, '11': 0.004466154554733586, '12': 0.0015853520041085587}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.329, 'recent_quality_edge': 1.008, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.5667} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 6, 'score_text': 'MIA 4 - 6 SD', 'winner': 'SD'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0206, 'recent_form_edge_home_minus_away': 1.358, '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': 6, 'winner': 'SD', 'model_winner': 'SD', 'simulation_winner': 'SD', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 3, 'published_winner': 'SD', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 6}, 'simulation_score': {'away_runs': 4, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.5667, 'winner': 'SD', 'score_reviewed': {'away_runs': 4, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 148. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 154. | |||||
| 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: 148. | |||
| 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: 154. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | current | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 9.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: MIA 4 - 6 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIA 4 - 6 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SD wins 6-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SD, simulation=SD, published=SD. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.580. | |||||
| 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: 9/10 (0.900). | |||||
| 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): SD wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SD wins 4-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-6, final 4-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SD wins 6-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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: 9/10 = 0.900. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| 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_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 | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (BB: current=3, sim=4). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=1, 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 | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Stowers: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Heriberto Hernández: H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Javier Sanoja: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Griffin Conine: HR current=1 box=0, BB current=1 box=0; Jakob Marsee: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Deyvison De Los Santos: AB current=3 box=4, SO current=1 box=2; Otto Lopez: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1, SO current=1 box=0; Graham Pauley: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=4; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Fernando Tatis Jr.: H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; Dustin Harris: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Manny Machado: AB current=4 box=3, R current=0 box=1; Jake Cronenworth: H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Samad Taylor: AB current=3 box=4, H current=1 box=0, R current=1 box=0; Jackson Merrill: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Xander Bogaerts: AB current=4 box=3, R current=1 box=0; Ty France: R current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.051414886387104 | 4.182190741908563 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 6 | 0.580 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 6 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 6 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 8 |
| SD | 2 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 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 | 33 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIA | pitching | 8 | 0 | 6 | 3 | 8 | 8.0 | 6 | 0 | 0 | |||||||||
| current | SD | batting | 34 | 8 | 1 | 0 | 1 | 4 | 5 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | SD | pitching | 8 | 1 | 4 | 2 | 8 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | MIA | batting | 35 | 8 | 2 | 0 | 1 | 4 | 4 | 2 | 8 | 0 | 0 | |||||||
| simulation | MIA | pitching | 8 | 0 | 6 | 4 | 8 | 8.0 | 6 | 36 | 148 | |||||||||
| simulation | SD | batting | 32 | 8 | 3 | 0 | 0 | 6 | 6 | 4 | 8 | 0 | 0 | |||||||
| simulation | SD | pitching | 8 | 1 | 4 | 2 | 8 | 9.0 | 4 | 37 | 154 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIA | DH | Kyle Stowers | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIA | LF | Heriberto Hernández | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIA | 2B | Javier Sanoja | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | MIA | RF | Griffin Conine | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIA | CF | Jakob Marsee | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | MIA | 1B | Deyvison De Los Santos | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | MIA | SS | Otto Lopez | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIA | 3B | Graham Pauley | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | C | Joe Mack | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SD | 2B | Fernando Tatis Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SD | RF | Dustin Harris | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | SD | DH | Manny Machado | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SD | 3B | Jake Cronenworth | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | LF | 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 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | SS | Xander Bogaerts | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 | |
| current | SD | 1B | Ty France | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SD | C | Ethan Salas | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | MIA | 1 | DH | Kyle Stowers | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | MIA | 2 | SS | Otto Lopez | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | MIA | 3 | RF | Griffin Conine | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | MIA | 4 | LF | Heriberto Hernández | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | MIA | 5 | CF | Jakob Marsee | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | MIA | 6 | 2B | Javier Sanoja | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIA | 7 | 3B | Graham Pauley | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | MIA | 8 | C | Joe Mack | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | MIA | 9 | 1B | Deyvison De Los Santos | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SD | 1 | 2B | Fernando Tatis Jr. | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | SD | 2 | RF | Dustin Harris | 4 | 3 | 2 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.667 |
| simulation | SD | 3 | DH | Manny Machado | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | SD | 4 | 1B | Ty France | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | SD | 5 | CF | Jackson Merrill | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 2 | 0 | 0.333 |
| simulation | SD | 6 | SS | Xander Bogaerts | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | SD | 7 | 3B | Jake Cronenworth | 4 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.000 |
| simulation | SD | 8 | LF | Samad Taylor | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | SD | 9 | C | Ethan Salas | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIA | 1 | Sandy Alcantara | Starter | 5.1 | 7 | 6 | 6 | 2 | 4 | 0 | 0 | 0 | 10.12 | 3.84 | 1.23 |
| current | MIA | 2 | Calvin Faucher | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.44 | 1.32 |
| current | MIA | 3 | Michael Petersen | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.16 | 1.12 |
| current | MIA | 4 | Josh Ekness | Middle Reliever | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.67 | 1.44 |
| current | SD | 1 | Walker Buehler | Starter | 4.2 | 4 | 2 | 2 | 0 | 6 | 1 | 0 | 0 | 3.86 | 4.58 | 1.37 |
| current | SD | 2 | Adrian Morejon | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.83 | 1.08 |
| current | SD | 3 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 13.50 | 1.83 | 0.97 |
| current | SD | 4 | Mason Miller | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.23 | 0.85 |
| current | SD | 5 | Yuki Matsui | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.90 | 1.14 |
| simulation | MIA | 1 | Sandy Alcantara | Starter | 5.1 | 7 | 6 | 6 | 2 | 4 | 0 | 25 | 103 | 10.12 | 3.84 | 1.23 |
| simulation | MIA | 2 | Calvin Faucher | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 3.44 | 1.32 |
| simulation | MIA | 3 | Michael Petersen | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 17 | 0.00 | 3.16 | 1.12 |
| simulation | MIA | 4 | Josh Ekness | Middle Reliever | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 12 | 0.00 | 2.67 | 1.44 |
| simulation | SD | 1 | Walker Buehler | Starter | 4.2 | 4 | 2 | 2 | 0 | 6 | 1 | 18 | 78 | 3.86 | 4.58 | 1.37 |
| simulation | SD | 2 | Mason Miller | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.23 | 0.85 |
| simulation | SD | 3 | Adrian Morejon | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 2.83 | 1.08 |
| simulation | SD | 4 | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 2 | 2 | 0 | 0 | 8 | 31 | 13.50 | 1.83 | 0.97 |
| simulation | SD | 5 | Yuki Matsui | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 1.90 | 1.14 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIA | Sandy Alcantara | Starter | 5.1 | 6 | 7 | 2 | 4 | 25 | 103 |
| MIA | Calvin Faucher | Closer | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| MIA | Michael Petersen | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 2 | 4 | 17 |
| MIA | Josh Ekness | Middle Reliever | 0.2 | 0 | 0 | 1 | 1 | 3 | 12 |
| SD | Walker Buehler | Starter | 4.2 | 2 | 4 | 0 | 6 | 18 | 78 |
| SD | Adrian Morejon | Setup Man | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| SD | Bradgley Rodriguez | Middle Reliever (High Leverage) | 1.1 | 2 | 2 | 2 | 0 | 8 | 31 |
| SD | Mason Miller | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| SD | Yuki Matsui | 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 | 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. |
20260920_MIL@BAL
20260920_MIL@BAL.json • 2026-09-20
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL 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 | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=29; H: current=6, sim=2; HR: current=1, sim=0; RBI: current=4, sim=1; R: current=3, sim=1; SO: current=12, 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 | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Dylan Beavers: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Samuel Basallo: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Gunnar Henderson: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=2; Pete Alonso: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Leody Taveras: SO current=1 box=2; Coby Mayo: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Colton Cowser: H current=0 box=1, SO current=2 box=0; Jeremiah Jackson: AB current=4 box=3, 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 | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=8, sim=11; 2B: current=1, sim=3; 3B: current=0, sim=1; RBI: current=4, sim=7; R: current=6, sim=7; BB: current=4, sim=1; SO: current=8, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2; Joey Ortiz: 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2; Jake Bauers: HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=0; Brice Turang: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; Jackson Chourio: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Christian Yelich: BB current=1 box=0, SO current=1 box=2; Cooper Pratt: AB current=3 box=4, 3B current=0 box=1; Sal Frelick: AB current=3 box=4, H current=1 box=0, 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 | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match MIL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match MIL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match MIL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=32 matches MIL BF=32. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match BAL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match BAL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match BAL pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match BAL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=39 matches BAL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 7. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.920 -> 0.922 at weight 0.025. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.92, 'sample_size': 5, 'empirical_hit_rate': 1.0, 'empirical_weight': 0.025, 'blended_confidence': 0.922, 'published_confidence': 0.62922, '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 | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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 | 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.629. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.629. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.371. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.510/0.701. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 11, BAL 2. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 7 - BAL 1. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for MIL. | {'winner_confidence': 0.62922, 'h2h_net_margin': 2, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'MIL', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'BAL', 'actual_winner': 'MIL', 'actual_margin': 1, 'raw_pick_probability': 0.53, 'artifact': '20260919_MIL@BAL.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'MIL', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 1, 'raw_pick_probability': 0.66567, 'artifact': '20260918_MIL@BAL.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_MIL@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': -2.0, 'absolute_net_margin': 2.0, 'home_average_margin': -1.0, 'home_run_delta': -0.015, 'away_run_delta': 0.015, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -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': 2, 'away_runs': 6, 'probability': 0.023183079301409518}, {'home_runs': 2, 'away_runs': 7, 'probability': 0.023128064692502896}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.021791610749377386}, {'home_runs': 3, 'away_runs': 7, 'probability': 0.021739898165072446}, {'home_runs': 2, 'away_runs': 5, 'probability': 0.021550222030974422}], 'home_distribution': {'0': 0.12107418634891688, '1': 0.1766672199388382, '2': 0.20690323872034214, '3': 0.19448472665600872, '4': 0.1467271935498228, '5': 0.08884696950717917, '6': 0.043179889357068756, '7': 0.016843305639030443, '8': 0.005273270282793047}, 'away_distribution': {'0': 0.023324890572950688, '1': 0.036584319584627455, '2': 0.053213172324338594, '3': 0.07177812664325427, '4': 0.08978708855695633, '5': 0.10415604010965956, '6': 0.1120479285137948, '7': 0.1117820331646119, '8': 0.10341629583278517, '9': 0.0887267865105203, '10': 0.07059424989899105, '11': 0.052087402946603016, '12': 0.03564058972321392, '13': 0.02261548258773818, '14': 0.013308087218948645, '15': 0.007262300553018059, '16': 0.003675205257987891}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.6774, 'recent_quality_edge': -0.764, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.3577} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 7, 'home_runs': 1, 'score_text': 'MIL 7 - 1 BAL', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 1, 'score_text': 'MIL 7 - 1 BAL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0015, 'recent_form_edge_home_minus_away': -1.114, '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': 1, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIL', 'published_winner_draw_share': 1.0, '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': True, 'margin_widening_capped': False, 'model_margin': 6, 'simulation_margin': 6, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 7, 'home_runs': 1}, 'simulation_score': {'away_runs': 7, 'home_runs': 1}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 6, 'final_margin': 6, 'winner_quality_edge': 1.3577, 'winner': 'MIL', 'score_reviewed': {'away_runs': 7, 'home_runs': 1, '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: 164. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 164. | |||
| PASS | pitch_count | simulation | 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: 143. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | 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_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | 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 | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIL 7 - 1 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 7 - 1 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 7-1. | |||||
| 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.629. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIL wins 7-1. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 7-1. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 7-1. | |||||
| 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-1, final 7-1 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 7-1. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 5/10 = 0.500. | |||
| 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: 8/10 = 0.800. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match MIL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match MIL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match MIL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=32 matches MIL BF=32. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match BAL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match BAL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match BAL pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match BAL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=39 matches BAL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 7. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.920 -> 0.922 at weight 0.025. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.92, 'sample_size': 5, 'empirical_hit_rate': 1.0, 'empirical_weight': 0.025, 'blended_confidence': 0.922, 'published_confidence': 0.62922, '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 | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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 | 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.629. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.629. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.371. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.510/0.701. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 11, BAL 2. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 7 - BAL 1. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for MIL. | {'winner_confidence': 0.62922, 'h2h_net_margin': 2, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'MIL', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'BAL', 'actual_winner': 'MIL', 'actual_margin': 1, 'raw_pick_probability': 0.53, 'artifact': '20260919_MIL@BAL.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'MIL', 'home': 'BAL', 'game_number': 1, 'predicted_team': 'MIL', 'actual_winner': 'MIL', 'actual_margin': 1, 'raw_pick_probability': 0.66567, 'artifact': '20260918_MIL@BAL.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_MIL@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': -2.0, 'absolute_net_margin': 2.0, 'home_average_margin': -1.0, 'home_run_delta': -0.015, 'away_run_delta': 0.015, 'evidence': [{'game_id': None, 'home_margin': -1.0}, {'game_id': None, 'home_margin': -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': 2, 'away_runs': 6, 'probability': 0.023183079301409518}, {'home_runs': 2, 'away_runs': 7, 'probability': 0.023128064692502896}, {'home_runs': 3, 'away_runs': 6, 'probability': 0.021791610749377386}, {'home_runs': 3, 'away_runs': 7, 'probability': 0.021739898165072446}, {'home_runs': 2, 'away_runs': 5, 'probability': 0.021550222030974422}], 'home_distribution': {'0': 0.12107418634891688, '1': 0.1766672199388382, '2': 0.20690323872034214, '3': 0.19448472665600872, '4': 0.1467271935498228, '5': 0.08884696950717917, '6': 0.043179889357068756, '7': 0.016843305639030443, '8': 0.005273270282793047}, 'away_distribution': {'0': 0.023324890572950688, '1': 0.036584319584627455, '2': 0.053213172324338594, '3': 0.07177812664325427, '4': 0.08978708855695633, '5': 0.10415604010965956, '6': 0.1120479285137948, '7': 0.1117820331646119, '8': 0.10341629583278517, '9': 0.0887267865105203, '10': 0.07059424989899105, '11': 0.052087402946603016, '12': 0.03564058972321392, '13': 0.02261548258773818, '14': 0.013308087218948645, '15': 0.007262300553018059, '16': 0.003675205257987891}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.6774, 'recent_quality_edge': -0.764, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -1.3577} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 7, 'home_runs': 1, 'score_text': 'MIL 7 - 1 BAL', 'winner': 'MIL'}, 'final_simulation_score': {'away_runs': 7, 'home_runs': 1, 'score_text': 'MIL 7 - 1 BAL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0015, 'recent_form_edge_home_minus_away': -1.114, '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': 1, 'winner': 'MIL', 'model_winner': 'MIL', 'simulation_winner': 'MIL', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'MIL', 'published_winner_draw_share': 1.0, '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': True, 'margin_widening_capped': False, 'model_margin': 6, 'simulation_margin': 6, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 7, 'home_runs': 1}, 'simulation_score': {'away_runs': 7, 'home_runs': 1}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 6, 'final_margin': 6, 'winner_quality_edge': 1.3577, 'winner': 'MIL', 'score_reviewed': {'away_runs': 7, 'home_runs': 1, '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: 164. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 164. | |||
| PASS | pitch_count | simulation | 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: 143. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | 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_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | 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 | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIL 7 - 1 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 7 - 1 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 7-1. | |||||
| 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.629. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): MIL wins 7-1. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 7-1. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 7-1. | |||||
| 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-1, final 7-1 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 7-1. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 5/10 = 0.500. | |||
| 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: 8/10 = 0.800. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL 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 | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=29; H: current=6, sim=2; HR: current=1, sim=0; RBI: current=4, sim=1; R: current=3, sim=1; SO: current=12, 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 | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Dylan Beavers: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Samuel Basallo: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Gunnar Henderson: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=2; Pete Alonso: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Leody Taveras: SO current=1 box=2; Coby Mayo: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Colton Cowser: H current=0 box=1, SO current=2 box=0; Jeremiah Jackson: AB current=4 box=3, 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 | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=8, sim=11; 2B: current=1, sim=3; 3B: current=0, sim=1; RBI: current=4, sim=7; R: current=6, sim=7; BB: current=4, sim=1; SO: current=8, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2; Joey Ortiz: 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=2; Jake Bauers: HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=0; Brice Turang: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; Jackson Chourio: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Christian Yelich: BB current=1 box=0, SO current=1 box=2; Cooper Pratt: AB current=3 box=4, 3B current=0 box=1; Sal Frelick: AB current=3 box=4, H current=1 box=0, 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.078572742877618 | 2.5382994361377005 | Base ML historical model prediction | |
| variance_applied | 5 | 3 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 6 | 2 | 0.629 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 7 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 7 | 1 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 7 | 1 | Capped at max 12 realistic runs | |
| simulation_result | 7 | 1 | 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 | 0 | 0 | 0 | 3 | 4 | 0 | 0 | 7 | 11 |
| BAL | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 2 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | batting | 33 | 8 | 1 | 0 | 1 | 4 | 6 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIL | pitching | 2 | 0 | 1 | 3 | 10 | 9.0 | 1 | 0 | 0 | |||||||||
| current | BAL | batting | 33 | 6 | 1 | 0 | 1 | 4 | 3 | 3 | 12 | 0 | 0 | 0 | 0 | |||||
| current | BAL | pitching | 11 | 1 | 7 | 1 | 9 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | MIL | batting | 37 | 11 | 3 | 1 | 1 | 7 | 7 | 1 | 9 | 1 | 0 | |||||||
| simulation | MIL | pitching | 2 | 0 | 1 | 3 | 10 | 9.0 | 1 | 32 | 143 | |||||||||
| simulation | BAL | batting | 29 | 2 | 1 | 0 | 0 | 1 | 1 | 3 | 10 | 0 | 0 | |||||||
| simulation | BAL | pitching | 11 | 1 | 7 | 1 | 9 | 9.0 | 7 | 39 | 164 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | C | William Contreras | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | 3B | Joey Ortiz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIL | 1B | Jake Bauers | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 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 | Jackson Chourio | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIL | DH | Christian Yelich | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | MIL | SS | Cooper Pratt | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIL | RF | Sal Frelick | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | MIL | CF | Garrett Mitchell | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BAL | LF | Dylan Beavers | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0.250 | |
| current | BAL | DH | Samuel Basallo | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | SS | Gunnar Henderson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BAL | 1B | Pete Alonso | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BAL | RF | Leody Taveras | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BAL | 3B | Coby Mayo | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 | |
| current | BAL | CF | Colton Cowser | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | BAL | C | Carlos Narváez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BAL | 2B | Jeremiah Jackson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| simulation | MIL | 1 | LF | Jackson Chourio | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | MIL | 2 | 2B | Brice Turang | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | MIL | 3 | C | William Contreras | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.400 |
| simulation | MIL | 4 | 1B | Jake Bauers | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | MIL | 5 | 3B | Joey Ortiz | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | MIL | 6 | DH | Christian Yelich | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | MIL | 7 | SS | Cooper Pratt | 4 | 4 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | MIL | 8 | CF | Garrett Mitchell | 4 | 2 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.500 |
| simulation | MIL | 9 | RF | Sal Frelick | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BAL | 1 | LF | Dylan Beavers | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | BAL | 2 | 1B | Pete Alonso | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | BAL | 3 | SS | Gunnar Henderson | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | BAL | 4 | 3B | Coby Mayo | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BAL | 5 | DH | Samuel Basallo | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BAL | 6 | 2B | Jeremiah Jackson | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BAL | 7 | CF | Colton Cowser | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | BAL | 8 | RF | Leody Taveras | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | BAL | 9 | C | Carlos Narváez | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 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 | MIL | 1 | Jacob Misiorowski | Starter | 6.0 | 1 | 1 | 1 | 3 | 8 | 0 | 0 | 0 | 1.50 | 1.89 | 0.81 |
| 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 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.04 | 1.03 |
| current | MIL | 4 | Trevor Megill | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.15 | 0.89 |
| current | BAL | 1 | Brandon Young | Starter | 5.2 | 6 | 3 | 3 | 1 | 7 | 0 | 0 | 0 | 4.76 | 3.65 | 1.37 |
| current | BAL | 2 | Andrew Kittredge | Closer | 1.0 | 4 | 3 | 2 | 0 | 0 | 1 | 0 | 0 | 18.00 | 3.61 | 1.37 |
| current | BAL | 3 | Rico Garcia | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 2.63 | 0.94 |
| current | BAL | 5 | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.25 | 0.92 |
| simulation | MIL | 1 | Jacob Misiorowski | Starter | 6.0 | 1 | 1 | 1 | 3 | 8 | 0 | 22 | 101 | 1.50 | 1.89 | 0.81 |
| simulation | MIL | 2 | Trevor Megill | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.15 | 0.89 |
| simulation | MIL | 3 | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 2.04 | 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 | BAL | 1 | Brandon Young | Starter | 5.2 | 6 | 3 | 3 | 1 | 7 | 0 | 24 | 105 | 4.76 | 3.65 | 1.37 |
| simulation | BAL | 2 | Andrew Kittredge | Closer | 1.0 | 4 | 3 | 3 | 0 | 0 | 1 | 7 | 25 | 27.00 | 3.61 | 1.37 |
| simulation | BAL | 3 | Rico Garcia | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 4 | 16 | 9.00 | 2.63 | 0.94 |
| simulation | BAL | 4 | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 18 | 0.00 | 2.25 | 0.92 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Jacob Misiorowski | Starter | 6.0 | 1 | 1 | 3 | 8 | 22 | 101 |
| MIL | Aaron Ashby | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| MIL | Abner Uribe | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| MIL | Trevor Megill | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| BAL | Brandon Young | Starter | 5.2 | 3 | 6 | 1 | 7 | 24 | 105 |
| BAL | Andrew Kittredge | Closer | 1.0 | 3 | 4 | 0 | 0 | 7 | 25 |
| BAL | Rico Garcia | Setup Man | 1.0 | 1 | 1 | 0 | 1 | 4 | 16 |
| BAL | Yennier Cano | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 4 | 18 |
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. |
20260920_MIN@LAA
20260920_MIN@LAA.json • 2026-09-20
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 | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (2B: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=11, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: HR current=1 box=0, RBI current=0 box=1, BB current=1 box=0; Vaughn Grissom: 2B current=0 box=1, RBI current=1 box=0; Wade Meckler: AB current=4 box=3, RBI current=0 box=1, SO current=1 box=0; Moisés Ballesteros: H current=1 box=0, SO current=1 box=2; Josh Lowe: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Jose Siri: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=2 box=1; Christian Moore: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=2; Denzer Guzman: H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=1, sim=4; HR: current=1, sim=0; R: current=3, sim=4; SO: current=8, 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 | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Kody Clemens: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Alan Roden: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1; Josh Bell: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Royce Lewis: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Emmanuel Rodriguez: H current=1 box=0; Walker Jenkins: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Victor Caratini: AB current=3 box=4, H current=0 box=1; Brooks Lee: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN 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 | MIN | BATTING_TOTALS_SUM | current:MIN 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 | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match MIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match MIN pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match MIN pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=36 matches MIN BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match LAA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match LAA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match LAA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match LAA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=37 matches LAA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.544 -> 0.545 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.543652, 'sample_size': 490, 'empirical_hit_rate': 0.5469, 'empirical_weight': 0.5, 'blended_confidence': 0.545276, 'published_confidence': 0.505383, '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 | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN 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 | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.510/0.701. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 7, LAA 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 4 - LAA 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAA; cap=0.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': 'LAA', 'opponent_team': 'MIN', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 5, 'margin_for_predicted_team': 1, 'winner': 'LAA'}, {'date': '2026-09-18', 'predicted_team_runs': 0, 'opponent_runs': 3, 'margin_for_predicted_team': -3, 'winner': 'MIN'}, {'date': '2026-09-17', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, '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': '20260919', 'away': 'MIN', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.554366, 'artifact': '20260919_MIN@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'MIN', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'MIN', 'actual_margin': 3, 'raw_pick_probability': 0.534344, 'artifact': '20260918_MIN@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260917', 'away': 'MIN', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.516481, 'artifact': '20260917_MIN@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260712', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260712_LAA@MIN.json', 'verification': 'pregame_official_final'}, {'date': '20260711', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260711_LAA@MIN.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAA', 'guardrail_opponent_team': 'MIN', 'output_pre_simulation_winner': 'LAA', 'output_opponent_team': 'MIN', 'simulation_score_winner': 'LAA', 'final_score_winner': 'LAA', 'pre_simulation_winner': 'LAA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.017, 'recent_form_edge_home_minus_away': 0.406, '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': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 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.0618, 'winner': 'LAA', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_MIN@LAA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@LAA. | |||||
| 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': -5.0, 'absolute_net_margin': 5.0, 'home_average_margin': -1.0, 'home_run_delta': -0.0288, 'away_run_delta': 0.0288, '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': -2.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023048564778431035}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022298588030153586}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.022037079653614556}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.021320015597825048}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.02124092438339069}], 'home_distribution': {'0': 0.059010715457689614, '1': 0.09021976401509106, '2': 0.1215380245575636, '3': 0.14426545150662168, '4': 0.15088712554499392, '5': 0.13905343152332122, '6': 0.11291481207272178, '7': 0.08079040795237372, '8': 0.05093406824969624, '9': 0.028294147318390053, '10': 0.013849195140588386, '11': 0.005972994827862464, '12': 0.0022698618330862764}, 'away_distribution': {'0': 0.06137349402163892, '1': 0.09367414806251767, '2': 0.12555514928185396, '3': 0.14778323829559759, '4': 0.1527536872028094, '5': 0.13865454141504077, '6': 0.11052292467039625, '7': 0.07736535309730665, '8': 0.04755722755128754, '9': 0.025672160451394622, '10': 0.01216982075248789, '11': 0.005066194021746525, '12': 0.0018520611759224044}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.1613, 'recent_quality_edge': 0.476, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0618} | ||||
| 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': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.017, 'recent_form_edge_home_minus_away': 0.406, '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': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 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.0618, 'winner': 'LAA', '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: 150. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| 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: 143. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 150. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | 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 | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIN 4 - 5 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 4 - 5 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAA wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAA, simulation=LAA, published=LAA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| 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: 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): LAA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAA 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: LAA wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 2/10 = 0.200. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN 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 | MIN | BATTING_TOTALS_SUM | current:MIN 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 | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match MIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match MIN pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match MIN pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=36 matches MIN BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match LAA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match LAA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match LAA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match LAA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=37 matches LAA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.544 -> 0.545 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.543652, 'sample_size': 490, 'empirical_hit_rate': 0.5469, 'empirical_weight': 0.5, 'blended_confidence': 0.545276, 'published_confidence': 0.505383, '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 | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN 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 | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.495. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.510/0.701. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 7, LAA 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 4 - LAA 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: LAA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for LAA; cap=0.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': 'LAA', 'opponent_team': 'MIN', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 5, 'margin_for_predicted_team': 1, 'winner': 'LAA'}, {'date': '2026-09-18', 'predicted_team_runs': 0, 'opponent_runs': 3, 'margin_for_predicted_team': -3, 'winner': 'MIN'}, {'date': '2026-09-17', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, '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': '20260919', 'away': 'MIN', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.554366, 'artifact': '20260919_MIN@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'MIN', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'LAA', 'actual_winner': 'MIN', 'actual_margin': 3, 'raw_pick_probability': 0.534344, 'artifact': '20260918_MIN@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260917', 'away': 'MIN', 'home': 'LAA', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'LAA', 'actual_margin': 1, 'raw_pick_probability': 0.516481, 'artifact': '20260917_MIN@LAA.json', 'verification': 'pregame_official_final'}, {'date': '20260712', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260712_LAA@MIN.json', 'verification': 'pregame_official_final'}, {'date': '20260711', 'away': 'LAA', 'home': 'MIN', 'game_number': 1, 'predicted_team': 'MIN', 'actual_winner': 'MIN', 'actual_margin': 2, 'raw_pick_probability': 0.64, 'artifact': '20260711_LAA@MIN.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAA', 'guardrail_opponent_team': 'MIN', 'output_pre_simulation_winner': 'LAA', 'output_opponent_team': 'MIN', 'simulation_score_winner': 'LAA', 'final_score_winner': 'LAA', 'pre_simulation_winner': 'LAA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.017, 'recent_form_edge_home_minus_away': 0.406, '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': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 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.0618, 'winner': 'LAA', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_MIN@LAA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@LAA. | |||||
| 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': -5.0, 'absolute_net_margin': 5.0, 'home_average_margin': -1.0, 'home_run_delta': -0.0288, 'away_run_delta': 0.0288, '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': -2.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023048564778431035}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022298588030153586}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.022037079653614556}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.021320015597825048}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.02124092438339069}], 'home_distribution': {'0': 0.059010715457689614, '1': 0.09021976401509106, '2': 0.1215380245575636, '3': 0.14426545150662168, '4': 0.15088712554499392, '5': 0.13905343152332122, '6': 0.11291481207272178, '7': 0.08079040795237372, '8': 0.05093406824969624, '9': 0.028294147318390053, '10': 0.013849195140588386, '11': 0.005972994827862464, '12': 0.0022698618330862764}, 'away_distribution': {'0': 0.06137349402163892, '1': 0.09367414806251767, '2': 0.12555514928185396, '3': 0.14778323829559759, '4': 0.1527536872028094, '5': 0.13865454141504077, '6': 0.11052292467039625, '7': 0.07736535309730665, '8': 0.04755722755128754, '9': 0.025672160451394622, '10': 0.01216982075248789, '11': 0.005066194021746525, '12': 0.0018520611759224044}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.1613, 'recent_quality_edge': 0.476, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0618} | ||||
| 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': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'MIN 4 - 5 LAA', 'winner': 'LAA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.017, 'recent_form_edge_home_minus_away': 0.406, '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': 'LAA', 'model_winner': 'LAA', 'simulation_winner': 'LAA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'LAA', 'published_winner_draw_share': 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.0618, 'winner': 'LAA', '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: 150. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| 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: 143. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 150. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | 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 | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: MIN 4 - 5 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 4 - 5 LAA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAA wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=LAA, simulation=LAA, published=LAA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| 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: 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): LAA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAA 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: LAA wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 2/10 = 0.200. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAA | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (2B: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=11, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: HR current=1 box=0, RBI current=0 box=1, BB current=1 box=0; Vaughn Grissom: 2B current=0 box=1, RBI current=1 box=0; Wade Meckler: AB current=4 box=3, RBI current=0 box=1, SO current=1 box=0; Moisés Ballesteros: H current=1 box=0, SO current=1 box=2; Josh Lowe: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Jose Siri: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=2 box=1; Christian Moore: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=2; Denzer Guzman: H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=1, sim=4; HR: current=1, sim=0; R: current=3, sim=4; SO: current=8, 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 | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Kody Clemens: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Alan Roden: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1; Josh Bell: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Royce Lewis: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Emmanuel Rodriguez: H current=1 box=0; Walker Jenkins: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Victor Caratini: AB current=3 box=4, H current=0 box=1; Brooks Lee: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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.284861793087952 | 3.904143975002345 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 3 | 0 | 4 | 7 |
| LAA | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 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 | MIN | batting | 33 | 7 | 1 | 0 | 1 | 4 | 3 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIN | pitching | 7 | 1 | 5 | 3 | 7 | 8.0 | 5 | 0 | 0 | |||||||||
| current | LAA | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 11 | 0 | 0 | 0 | 0 | |||||
| current | LAA | pitching | 7 | 0 | 4 | 3 | 5 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | MIN | batting | 34 | 7 | 4 | 0 | 0 | 4 | 4 | 3 | 5 | 0 | 0 | |||||||
| simulation | MIN | pitching | 7 | 1 | 5 | 3 | 7 | 8.2 | 5 | 36 | 150 | |||||||||
| simulation | LAA | batting | 33 | 7 | 2 | 0 | 1 | 5 | 5 | 3 | 7 | 0 | 0 | |||||||
| simulation | LAA | pitching | 7 | 0 | 4 | 3 | 5 | 9.0 | 4 | 37 | 143 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIN | 2B | Kody Clemens | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | RF | Alan Roden | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | MIN | DH | Josh Bell | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIN | 1B | Royce Lewis | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIN | LF | Emmanuel Rodriguez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIN | CF | Walker Jenkins | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIN | C | Victor Caratini | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | MIN | 3B | Brooks Lee | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | SS | Ben Ross | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAA | DH | Mike Trout | 0 | 4 | 1 | 0 | 0 | 1 | 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 | LF | Wade Meckler | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | LAA | C | Moisés Ballesteros | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 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 | Jose Siri | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0.333 | |
| current | LAA | 2B | Christian Moore | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | LAA | 3B | Denzer Guzman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | SS | Zach Neto | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 | |
| simulation | MIN | 1 | CF | Walker Jenkins | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | MIN | 2 | 3B | Brooks Lee | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.333 |
| simulation | MIN | 3 | 2B | Kody Clemens | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | MIN | 4 | DH | Josh Bell | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | MIN | 5 | RF | Alan Roden | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | MIN | 6 | 1B | Royce Lewis | 4 | 3 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | MIN | 7 | C | Victor Caratini | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | MIN | 8 | LF | Emmanuel Rodriguez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIN | 9 | SS | Ben Ross | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | LAA | 1 | SS | Zach Neto | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | LAA | 2 | DH | Mike Trout | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | LAA | 3 | LF | Wade Meckler | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | LAA | 4 | 1B | Vaughn Grissom | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | LAA | 5 | C | Moisés Ballesteros | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | LAA | 6 | 3B | Denzer Guzman | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | LAA | 7 | RF | Josh Lowe | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | LAA | 8 | CF | Jose Siri | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | LAA | 9 | 2B | Christian Moore | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 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 | MIN | 1 | Dean Kremer | Starter | 4.2 | 2 | 2 | 2 | 2 | 3 | 0 | 0 | 0 | 3.86 | 5.35 | 1.24 |
| current | MIN | 2 | A.J. Minter | Middle Reliever (High Leverage) | 1.1 | 2 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 6.75 | 2.09 | 1.02 |
| current | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 3 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 18.00 | 3.46 | 1.31 |
| current | MIN | 6 | Yoendrys Gómez | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.48 | 1.51 |
| current | LAA | 1 | Ryan Johnson | Starter | 5.2 | 2 | 1 | 1 | 1 | 5 | 0 | 0 | 0 | 1.59 | 4.88 | 1.34 |
| current | LAA | 2 | Ben Joyce | Closer | 1.1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.11 | 1.11 |
| current | LAA | 3 | Ryan Watson | Setup Man | 1.0 | 3 | 3 | 3 | 2 | 0 | 0 | 0 | 0 | 27.00 | 4.06 | 1.28 |
| current | LAA | 5 | Tayler Saucedo | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.66 | 0.98 |
| simulation | MIN | 1 | Dean Kremer | Starter | 4.2 | 2 | 2 | 2 | 2 | 3 | 0 | 20 | 85 | 3.86 | 5.35 | 1.24 |
| simulation | MIN | 2 | Yoendrys Gómez | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 4.48 | 1.51 |
| simulation | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 3 | 2 | 2 | 1 | 1 | 0 | 7 | 26 | 18.00 | 3.46 | 1.31 |
| simulation | MIN | 4 | A.J. Minter | Middle Reliever (High Leverage) | 2.0 | 2 | 1 | 1 | 0 | 2 | 1 | 6 | 26 | 4.50 | 2.09 | 1.02 |
| simulation | LAA | 1 | Ryan Johnson | Starter | 5.2 | 2 | 1 | 1 | 1 | 5 | 0 | 20 | 81 | 1.59 | 4.88 | 1.34 |
| simulation | LAA | 2 | Ben Joyce | Closer | 1.1 | 2 | 0 | 0 | 0 | 0 | 0 | 6 | 23 | 0.00 | 4.11 | 1.11 |
| simulation | LAA | 3 | Ryan Watson | Setup Man | 1.0 | 3 | 3 | 3 | 2 | 0 | 0 | 8 | 26 | 27.00 | 4.06 | 1.28 |
| simulation | LAA | 4 | Tayler Saucedo | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.66 | 0.98 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIN | Dean Kremer | Starter | 4.2 | 2 | 2 | 2 | 3 | 20 | 85 |
| MIN | A.J. Minter | Middle Reliever (High Leverage) | 2.0 | 1 | 2 | 0 | 2 | 6 | 26 |
| MIN | Jeff Hoffman | Setup Man | 1.0 | 2 | 3 | 1 | 1 | 7 | 26 |
| MIN | Yoendrys Gómez | Closer | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| LAA | Ryan Johnson | Starter | 5.2 | 1 | 2 | 1 | 5 | 20 | 81 |
| LAA | Ben Joyce | Closer | 1.1 | 0 | 2 | 0 | 0 | 6 | 23 |
| LAA | Ryan Watson | Setup Man | 1.0 | 3 | 3 | 2 | 0 | 8 | 26 |
| LAA | Tayler Saucedo | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 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. |
20260920_NYY@ARI
20260920_NYY@ARI.json • 2026-09-20
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 | 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_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=1, sim=0; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=6, 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 | 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, RBI current=0 box=1, R current=0 box=1; Geraldo Perdomo: AB current=4 box=3, H current=1 box=0; Gabriel Moreno: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Jesús Sánchez: BB current=0 box=1, SO current=1 box=0; Corbin Carroll: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Tim Tawa: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1; Ketel Marte: AB current=4 box=5, H current=1 box=3, HR current=0 box=1, RBI current=1 box=2; Pavin Smith: R current=0 box=1, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, 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: Heliot Ramos: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Cody Bellinger: AB current=4 box=5, RBI current=1 box=0, BB current=1 box=0, SO current=0 box=1; Luis García Jr.: AB current=4 box=5, 2B current=1 box=0, 3B current=0 box=1, SO current=0 box=1; Anthony Volpe: AB current=3 box=4, R current=0 box=1, SO current=1 box=0; George Lombard Jr.: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1, BB current=0 box=1; José Caballero: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Ben Rice: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Spencer Jones: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB 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 | ARI | BATTING_REALISM | current:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY 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 | NYY | BATTING_TOTALS_SUM | current:NYY 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 | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match NYY pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match NYY pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match NYY pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match NYY pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=39 matches NYY BF=39. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match ARI pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match ARI pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match ARI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match ARI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=40 matches ARI BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.680 -> 0.619 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.679922, 'sample_size': 749, 'empirical_hit_rate': 0.5581, 'empirical_weight': 0.5, 'blended_confidence': 0.619011, 'published_confidence': 0.544883, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY 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 | 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 | 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 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.510/0.701. | |||||
| 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: NYY 7, ARI 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYY 6 - ARI 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.56, reasons=latest same-matchup result beat the predicted side; 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': ['latest same-matchup result beat the predicted side', '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': 'NYY', 'opponent_team': 'ARI', 'h2h_net_margin': 5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 3, 'opponent_runs': 5, 'margin_for_predicted_team': -2, 'winner': 'ARI'}, {'date': '2026-09-18', 'predicted_team_runs': 9, 'opponent_runs': 2, 'margin_for_predicted_team': 7, 'winner': 'NYY'}], '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': '20260919', 'away': 'NYY', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'ARI', 'actual_margin': 2, 'raw_pick_probability': 0.711249, 'artifact': '20260919_NYY@ARI.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'NYY', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 7, 'raw_pick_probability': 0.505, 'artifact': '20260918_NYY@ARI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYY', 'guardrail_opponent_team': 'ARI', 'output_pre_simulation_winner': 'NYY', 'output_opponent_team': 'ARI', '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': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', '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.0091, 'recent_form_edge_home_minus_away': -0.68, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': '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': 1.0, 'draw_majority_team': 'NYY', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9081, 'winner': 'NYY', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_NYY@ARI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: NYY@ARI. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': -5.0, 'absolute_net_margin': 5.0, 'home_average_margin': -2.5, 'home_run_delta': -0.0375, 'away_run_delta': 0.0375, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -7.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 6, 'probability': 0.017474970673403707}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.017182745675124282}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.01674945093815011}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01646935843538948}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.016313742705869685}], 'home_distribution': {'0': 0.05288501602540803, '1': 0.08120792278287203, '2': 0.11083929450550074, '3': 0.13446792192633056, '4': 0.14500174319282355, '5': 0.1389816114112761, '6': 0.11840527524915405, '7': 0.08966322389962808, '8': 0.06035138457320812, '9': 0.03610685945384938, '10': 0.01920090869153062, '11': 0.009075769109162924, '12': 0.003813069179255806}, 'away_distribution': {'0': 0.030150794613078274, '1': 0.04704964585098908, '2': 0.0673949281541091, '3': 0.08861583416460864, '4': 0.10695687479711823, '5': 0.1185002696986521, '6': 0.12051559028614892, '7': 0.11250721782134471, '8': 0.09641193460558349, '9': 0.07583932679679876, '10': 0.054761003797163865, '11': 0.03629623607004138, '12': 0.02208335433195028, '13': 0.012333369707667768, '14': 0.0063228331115394235, '15': 0.0029754656921296046, '16': 0.0012853205010764405}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.0309, 'recent_quality_edge': -0.68, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.9081} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', '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.0091, 'recent_form_edge_home_minus_away': -0.68, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': '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': 1.0, 'draw_majority_team': 'NYY', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9081, 'winner': 'NYY', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 176. | |||||
| 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: 176. | |||
| 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: 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 | 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 | 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 | 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 | 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_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 | 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 | 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 | 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: NYY 6 - 4 ARI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYY 6 - 4 ARI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 6-4. | |||||
| 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.545. | |||||
| 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: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): NYY wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY wins 6-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-4, final 6-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYY wins 6-4. | |||||
| 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: 2/10 = 0.200. | |||
| 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: 7/10 = 0.700. |
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 | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY 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 | NYY | BATTING_TOTALS_SUM | current:NYY 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 | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match NYY pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match NYY pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match NYY pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match NYY pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=39 matches NYY BF=39. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match ARI pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match ARI pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match ARI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match ARI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=40 matches ARI BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.680 -> 0.619 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.679922, 'sample_size': 749, 'empirical_hit_rate': 0.5581, 'empirical_weight': 0.5, 'blended_confidence': 0.619011, 'published_confidence': 0.544883, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY 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 | 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 | 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 10 is reasonably close to low-score expected_total_runs 10.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.510/0.701. | |||||
| 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: NYY 7, ARI 8. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYY 6 - ARI 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.56, reasons=latest same-matchup result beat the predicted side; 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': ['latest same-matchup result beat the predicted side', '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': 'NYY', 'opponent_team': 'ARI', 'h2h_net_margin': 5, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 3, 'opponent_runs': 5, 'margin_for_predicted_team': -2, 'winner': 'ARI'}, {'date': '2026-09-18', 'predicted_team_runs': 9, 'opponent_runs': 2, 'margin_for_predicted_team': 7, 'winner': 'NYY'}], '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': '20260919', 'away': 'NYY', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'ARI', 'actual_margin': 2, 'raw_pick_probability': 0.711249, 'artifact': '20260919_NYY@ARI.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'NYY', 'home': 'ARI', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 7, 'raw_pick_probability': 0.505, 'artifact': '20260918_NYY@ARI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYY', 'guardrail_opponent_team': 'ARI', 'output_pre_simulation_winner': 'NYY', 'output_opponent_team': 'ARI', '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': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', '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.0091, 'recent_form_edge_home_minus_away': -0.68, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': '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': 1.0, 'draw_majority_team': 'NYY', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9081, 'winner': 'NYY', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_NYY@ARI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: NYY@ARI. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': -5.0, 'absolute_net_margin': 5.0, 'home_average_margin': -2.5, 'home_run_delta': -0.0375, 'away_run_delta': 0.0375, 'evidence': [{'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -7.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 6, 'probability': 0.017474970673403707}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.017182745675124282}, {'home_runs': 5, 'away_runs': 6, 'probability': 0.01674945093815011}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01646935843538948}, {'home_runs': 4, 'away_runs': 7, 'probability': 0.016313742705869685}], 'home_distribution': {'0': 0.05288501602540803, '1': 0.08120792278287203, '2': 0.11083929450550074, '3': 0.13446792192633056, '4': 0.14500174319282355, '5': 0.1389816114112761, '6': 0.11840527524915405, '7': 0.08966322389962808, '8': 0.06035138457320812, '9': 0.03610685945384938, '10': 0.01920090869153062, '11': 0.009075769109162924, '12': 0.003813069179255806}, 'away_distribution': {'0': 0.030150794613078274, '1': 0.04704964585098908, '2': 0.0673949281541091, '3': 0.08861583416460864, '4': 0.10695687479711823, '5': 0.1185002696986521, '6': 0.12051559028614892, '7': 0.11250721782134471, '8': 0.09641193460558349, '9': 0.07583932679679876, '10': 0.054761003797163865, '11': 0.03629623607004138, '12': 0.02208335433195028, '13': 0.012333369707667768, '14': 0.0063228331115394235, '15': 0.0029754656921296046, '16': 0.0012853205010764405}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.0309, 'recent_quality_edge': -0.68, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.9081} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 4, 'score_text': 'NYY 6 - 4 ARI', '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.0091, 'recent_form_edge_home_minus_away': -0.68, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 6, 'home_runs': 4, 'winner': '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': 1.0, 'draw_majority_team': 'NYY', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 4}, 'simulation_score': {'away_runs': 6, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 2, 'final_margin': 2, 'winner_quality_edge': 0.9081, 'winner': 'NYY', 'score_reviewed': {'away_runs': 6, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 176. | |||||
| 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: 176. | |||
| 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: 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 | 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 | 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 | 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 | 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_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 | 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 | 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 | 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: NYY 6 - 4 ARI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYY 6 - 4 ARI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 6-4. | |||||
| 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.545. | |||||
| 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: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): NYY wins 6-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY wins 6-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-4, final 6-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 10. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYY wins 6-4. | |||||
| 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: 2/10 = 0.200. | |||
| 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: 7/10 = 0.700. |
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 | 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_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=1, sim=0; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=6, 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 | 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, RBI current=0 box=1, R current=0 box=1; Geraldo Perdomo: AB current=4 box=3, H current=1 box=0; Gabriel Moreno: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Jesús Sánchez: BB current=0 box=1, SO current=1 box=0; Corbin Carroll: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Tim Tawa: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1; Ketel Marte: AB current=4 box=5, H current=1 box=3, HR current=0 box=1, RBI current=1 box=2; Pavin Smith: R current=0 box=1, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, 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: Heliot Ramos: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Cody Bellinger: AB current=4 box=5, RBI current=1 box=0, BB current=1 box=0, SO current=0 box=1; Luis García Jr.: AB current=4 box=5, 2B current=1 box=0, 3B current=0 box=1, SO current=0 box=1; Anthony Volpe: AB current=3 box=4, R current=0 box=1, SO current=1 box=0; George Lombard Jr.: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1, BB current=0 box=1; José Caballero: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Ben Rice: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Spencer Jones: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB 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.4652935389940325 | 4.321166725356822 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 6 | 4 | 0.545 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 6 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 6 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 6 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYY | 0 | 0 | 0 | 0 | 2 | 2 | 2 | 0 | 0 | 6 | 7 |
| ARI | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 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 | NYY | batting | 32 | 8 | 1 | 0 | 1 | 4 | 5 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | NYY | pitching | 8 | 2 | 4 | 4 | 5 | 9.0 | 4 | 0 | 0 | |||||||||
| current | ARI | batting | 33 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | ARI | pitching | 7 | 2 | 6 | 6 | 9 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | NYY | batting | 34 | 7 | 0 | 1 | 2 | 6 | 6 | 6 | 9 | 0 | 0 | |||||||
| simulation | NYY | pitching | 8 | 2 | 4 | 4 | 5 | 9.0 | 4 | 39 | 171 | |||||||||
| simulation | ARI | batting | 35 | 8 | 0 | 0 | 2 | 4 | 4 | 4 | 5 | 0 | 0 | |||||||
| simulation | ARI | pitching | 7 | 2 | 6 | 6 | 9 | 9.0 | 6 | 40 | 176 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYY | RF | Heliot Ramos | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | LF | Cody Bellinger | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | NYY | 1B | Luis García Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | NYY | 2B | Anthony Volpe | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | SS | George Lombard Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | 3B | José Caballero | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | DH | Ben Rice | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYY | CF | Spencer Jones | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYY | C | Austin Wells | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | ARI | LF | Lars Nootbaar | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | ARI | SS | Geraldo Perdomo | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 | |
| current | ARI | C | Gabriel Moreno | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | ARI | DH | Jesús Sánchez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | ARI | RF | Corbin Carroll | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ARI | CF | Tim Tawa | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ARI | 2B | Ketel Marte | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | ARI | 1B | Pavin Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ARI | 3B | Nolan Arenado | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| simulation | NYY | 1 | DH | Ben Rice | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0.000 |
| simulation | NYY | 2 | LF | Cody Bellinger | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | NYY | 3 | RF | Heliot Ramos | 5 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 1 | 1 | 0 | 0.500 |
| simulation | NYY | 4 | 1B | Luis García Jr. | 5 | 5 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 |
| simulation | NYY | 5 | SS | George Lombard Jr. | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.000 |
| simulation | NYY | 6 | CF | Spencer Jones | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.000 |
| simulation | NYY | 7 | 2B | Anthony Volpe | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | NYY | 8 | C | Austin Wells | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYY | 9 | 3B | José Caballero | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.500 |
| simulation | ARI | 1 | LF | Lars Nootbaar | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.400 |
| simulation | ARI | 2 | 2B | Ketel Marte | 5 | 5 | 3 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.600 |
| simulation | ARI | 3 | C | Gabriel Moreno | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | ARI | 4 | SS | Geraldo Perdomo | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | ARI | 5 | RF | Corbin Carroll | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ARI | 6 | 3B | Nolan Arenado | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | ARI | 7 | DH | Jesús Sánchez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | ARI | 8 | 1B | Pavin Smith | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | ARI | 9 | CF | Tim Tawa | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYY | 1 | Will Warren | Starter | 5.1 | 4 | 2 | 2 | 4 | 4 | 1 | 0 | 0 | 3.38 | 3.89 | 1.36 |
| current | NYY | 2 | Brent Headrick | Setup Man | 1.0 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 18.00 | 1.89 | 1.17 |
| current | NYY | 3 | David Bednar | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.58 | 1.04 |
| current | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.63 | 1.07 |
| current | NYY | 5 | Tim Hill | Middle Reliever (High Leverage) | 0.2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.31 | 1.07 |
| current | ARI | 1 | Corbin Burnes | Starter | 4.0 | 3 | 2 | 2 | 5 | 5 | 0 | 0 | 0 | 4.50 | 5.87 | 1.17 |
| current | ARI | 2 | Brandyn Garcia | Closer | 1.1 | 2 | 2 | 2 | 0 | 1 | 1 | 0 | 0 | 13.50 | 1.74 | 0.68 |
| current | ARI | 3 | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.80 | 1.11 |
| current | ARI | 4 | Juan Morillo | Setup Man | 1.2 | 2 | 2 | 2 | 1 | 1 | 1 | 0 | 0 | 10.80 | 2.54 | 0.98 |
| current | ARI | 5 | Kevin Ginkel | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.04 | 1.12 |
| simulation | NYY | 1 | Will Warren | Starter | 5.1 | 4 | 2 | 2 | 4 | 4 | 1 | 24 | 107 | 3.38 | 3.89 | 1.36 |
| simulation | NYY | 2 | David Bednar | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.58 | 1.04 |
| simulation | NYY | 3 | Brent Headrick | Setup Man | 1.0 | 2 | 2 | 2 | 0 | 0 | 1 | 5 | 24 | 18.00 | 1.89 | 1.17 |
| simulation | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 1.63 | 1.07 |
| simulation | NYY | 5 | Tim Hill | Middle Reliever (High Leverage) | 0.2 | 2 | 0 | 0 | 0 | 0 | 0 | 4 | 14 | 0.00 | 4.31 | 1.07 |
| simulation | ARI | 1 | Corbin Burnes | Starter | 4.0 | 3 | 2 | 2 | 5 | 5 | 0 | 20 | 91 | 4.50 | 5.87 | 1.17 |
| simulation | ARI | 2 | Brandyn Garcia | Closer | 1.1 | 2 | 2 | 2 | 0 | 1 | 1 | 6 | 23 | 13.50 | 1.74 | 0.68 |
| simulation | ARI | 3 | Juan Morillo | Setup Man | 1.2 | 2 | 2 | 2 | 1 | 1 | 1 | 8 | 36 | 10.80 | 2.54 | 0.98 |
| simulation | ARI | 4 | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.80 | 1.11 |
| simulation | ARI | 5 | Kevin Ginkel | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.04 | 1.12 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| NYY | Will Warren | Starter | 5.1 | 2 | 4 | 4 | 4 | 24 | 107 |
| NYY | Brent Headrick | Setup Man | 1.0 | 2 | 2 | 0 | 0 | 5 | 24 |
| NYY | David Bednar | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| NYY | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| NYY | Tim Hill | Middle Reliever (High Leverage) | 0.2 | 0 | 2 | 0 | 0 | 4 | 14 |
| ARI | Corbin Burnes | Starter | 4.0 | 2 | 3 | 5 | 5 | 20 | 91 |
| ARI | Brandyn Garcia | Closer | 1.1 | 2 | 2 | 0 | 1 | 6 | 23 |
| ARI | Jonathan Loáisiga | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| ARI | Juan Morillo | Setup Man | 1.2 | 2 | 2 | 1 | 1 | 8 | 36 |
| ARI | Kevin Ginkel | 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. |
20260920_OAK@CLE
20260920_OAK@CLE.json • 2026-09-20
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 | 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_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 | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=11; RBI: current=4, sim=7; R: current=4, sim=7; BB: current=4, sim=0; SF: current=0, 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 | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Jo Adell: RBI current=1 box=2, R current=0 box=1; Travis Bazzana: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; José Ramírez: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1, BB current=1 box=0; Chase DeLauter: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Angel Genao: AB current=3 box=4; Nathaniel Lowe: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Patrick Bailey: AB current=3 box=2, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 (H: current=7, sim=6; 2B: current=1, sim=0; R: current=3, sim=4; BB: current=3, sim=1; SO: current=11, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: RBI current=0 box=2, BB current=1 box=0, SO current=2 box=0; Shea Langeliers: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Tommy White: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Alika Williams: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, SO current=1 box=2; Jonah Heim: AB current=4 box=2, H current=0 box=1, RBI current=1 box=0, R current=0 box=1; Zack Gelof: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Lawrence Butler: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=2 box=0; Donovan Walton: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CLE | BATTING_REALISM | current:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CLE | BATTING_REALISM | simulation:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CLE | BATTING_TOTALS_SUM | current:CLE 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 | CLE | BATTING_TOTALS_SUM | simulation:CLE 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 | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match OAK pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match OAK pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_SO_MATCH | simulation:CLE batting strikeouts match OAK pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CLE | PA_BF_MATCH | simulation:CLE PA=36 matches OAK BF=36. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match CLE pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match CLE pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match CLE pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match CLE pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=34 matches CLE BF=34. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.920 -> 0.745 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.92, 'sample_size': 123, 'empirical_hit_rate': 0.5691, 'empirical_weight': 0.5, 'blended_confidence': 0.74455, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | 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 | 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.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| 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.551/0.749. | |||||
| 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: OAK 6, CLE 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: OAK 4 - CLE 7. | |||||
| 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.58, reasons=predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile; local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile', 'local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'CLE', 'opponent_team': 'OAK', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 12, 'opponent_runs': 6, 'margin_for_predicted_team': 6, 'winner': 'CLE'}, {'date': '2026-09-18', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'CLE'}, {'date': '2026-05-03', 'predicted_team_runs': 1, 'opponent_runs': 7, 'margin_for_predicted_team': -6, 'winner': 'OAK'}], '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': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'OAK', 'home': 'CLE', 'game_number': 1, 'predicted_team': 'CLE', 'actual_winner': 'CLE', 'actual_margin': 6, 'raw_pick_probability': 0.58, 'artifact': '20260919_OAK@CLE.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'OAK', 'home': 'CLE', 'game_number': 1, 'predicted_team': 'CLE', 'actual_winner': 'CLE', 'actual_margin': 2, 'raw_pick_probability': 0.58, 'artifact': '20260918_OAK@CLE.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CLE', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'CLE', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'CLE', 'final_score_winner': 'CLE', 'pre_simulation_winner': 'CLE', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0035, 'recent_form_edge_home_minus_away': 1.358, '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': 7, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.6667, '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': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.4565, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_OAK@CLE. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: OAK@CLE. | |||||
| 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': 6.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -6.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': 7, 'away_runs': 4, 'probability': 0.016546585603563955}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.01612675740293054}, {'home_runs': 7, 'away_runs': 3, 'probability': 0.015899606947938665}, {'home_runs': 8, 'away_runs': 4, 'probability': 0.015812276519505744}, {'home_runs': 6, 'away_runs': 3, 'probability': 0.0154961942115797}], 'home_distribution': {'0': 0.02047390683714844, '1': 0.03218207375171822, '2': 0.047114219529960616, '3': 0.06424134855614294, '4': 0.08158343170116422, '5': 0.09649703341683943, '6': 0.10630424988918763, '7': 0.10907167056995959, '8': 0.10423125693829925, '9': 0.09277023516648976, '10': 0.07690312933631858, '11': 0.05937505703455848, '12': 0.042696152364750044, '13': 0.02859552746679122, '14': 0.017837424854725836, '15': 0.0103631282692644, '16': 0.005607564313142849, '17': 0.00282606616296418, '18': 0.0013265238405742138}, 'away_distribution': {'0': 0.060010907155153476, '1': 0.09168352585534291, '2': 0.12324596709879529, '3': 0.14577210438654195, '4': 0.1517037881339758, '5': 0.13891166713354888, '6': 0.11191835476691085, '7': 0.07933854047922664, '8': 0.04948657446200346, '9': 0.027158818550557646, '10': 0.013114587970300335, '11': 0.005572097711057391, '12': 0.0020830662965853263}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.6226, 'recent_quality_edge': 1.148, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.4565} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0035, 'recent_form_edge_home_minus_away': 1.358, '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': 7, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.6667, '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': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.4565, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, '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: 144. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 128. | |||||
| 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: 128. | |||
| 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: 144. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK 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 | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 8.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: OAK 4 - 7 CLE. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: OAK 4 - 7 CLE. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CLE wins 7-4. | |||||
| 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.580. | |||||
| 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: 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): CLE wins 7-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CLE wins 4-7. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-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 4-7, final 4-7 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CLE wins 7-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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: 6/10 = 0.600. | |||
| 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: 3/10 = 0.300. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | CLE | BATTING_REALISM | current:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CLE | BATTING_REALISM | simulation:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CLE | BATTING_TOTALS_SUM | current:CLE 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 | CLE | BATTING_TOTALS_SUM | simulation:CLE 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 | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match OAK pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match OAK pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_SO_MATCH | simulation:CLE batting strikeouts match OAK pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CLE | PA_BF_MATCH | simulation:CLE PA=36 matches OAK BF=36. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 7. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match CLE pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match CLE pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match CLE pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match CLE pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=34 matches CLE BF=34. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.920 -> 0.745 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.92, 'sample_size': 123, 'empirical_hit_rate': 0.5691, 'empirical_weight': 0.5, 'blended_confidence': 0.74455, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | 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 | 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.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| 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.551/0.749. | |||||
| 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: OAK 6, CLE 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: OAK 4 - CLE 7. | |||||
| 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.58, reasons=predicted side recently lost this matchup by 5+ runs; recent head-to-head is split and volatile; local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'recent head-to-head is split and volatile', 'local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'CLE', 'opponent_team': 'OAK', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 12, 'opponent_runs': 6, 'margin_for_predicted_team': 6, 'winner': 'CLE'}, {'date': '2026-09-18', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'CLE'}, {'date': '2026-05-03', 'predicted_team_runs': 1, 'opponent_runs': 7, 'margin_for_predicted_team': -6, 'winner': 'OAK'}], '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': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'OAK', 'home': 'CLE', 'game_number': 1, 'predicted_team': 'CLE', 'actual_winner': 'CLE', 'actual_margin': 6, 'raw_pick_probability': 0.58, 'artifact': '20260919_OAK@CLE.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'OAK', 'home': 'CLE', 'game_number': 1, 'predicted_team': 'CLE', 'actual_winner': 'CLE', 'actual_margin': 2, 'raw_pick_probability': 0.58, 'artifact': '20260918_OAK@CLE.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'CLE', 'guardrail_opponent_team': 'OAK', 'output_pre_simulation_winner': 'CLE', 'output_opponent_team': 'OAK', 'simulation_score_winner': 'CLE', 'final_score_winner': 'CLE', 'pre_simulation_winner': 'CLE', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0035, 'recent_form_edge_home_minus_away': 1.358, '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': 7, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.6667, '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': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.4565, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_OAK@CLE. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: OAK@CLE. | |||||
| 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': 6.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -6.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': 7, 'away_runs': 4, 'probability': 0.016546585603563955}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.01612675740293054}, {'home_runs': 7, 'away_runs': 3, 'probability': 0.015899606947938665}, {'home_runs': 8, 'away_runs': 4, 'probability': 0.015812276519505744}, {'home_runs': 6, 'away_runs': 3, 'probability': 0.0154961942115797}], 'home_distribution': {'0': 0.02047390683714844, '1': 0.03218207375171822, '2': 0.047114219529960616, '3': 0.06424134855614294, '4': 0.08158343170116422, '5': 0.09649703341683943, '6': 0.10630424988918763, '7': 0.10907167056995959, '8': 0.10423125693829925, '9': 0.09277023516648976, '10': 0.07690312933631858, '11': 0.05937505703455848, '12': 0.042696152364750044, '13': 0.02859552746679122, '14': 0.017837424854725836, '15': 0.0103631282692644, '16': 0.005607564313142849, '17': 0.00282606616296418, '18': 0.0013265238405742138}, 'away_distribution': {'0': 0.060010907155153476, '1': 0.09168352585534291, '2': 0.12324596709879529, '3': 0.14577210438654195, '4': 0.1517037881339758, '5': 0.13891166713354888, '6': 0.11191835476691085, '7': 0.07933854047922664, '8': 0.04948657446200346, '9': 0.027158818550557646, '10': 0.013114587970300335, '11': 0.005572097711057391, '12': 0.0020830662965853263}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.6226, 'recent_quality_edge': 1.148, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.4565} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 7, 'score_text': 'OAK 4 - 7 CLE', 'winner': 'CLE'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0035, 'recent_form_edge_home_minus_away': 1.358, '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': 7, 'winner': 'CLE', 'model_winner': 'CLE', 'simulation_winner': 'CLE', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'CLE', 'published_winner_draw_share': 0.6667, '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': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 7}, 'simulation_score': {'away_runs': 4, 'home_runs': 7}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 1.4565, 'winner': 'CLE', 'score_reviewed': {'away_runs': 4, '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: 144. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 128. | |||||
| 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: 128. | |||
| 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: 144. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK 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 | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 8.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: OAK 4 - 7 CLE. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: OAK 4 - 7 CLE. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CLE wins 7-4. | |||||
| 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.580. | |||||
| 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: 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): CLE wins 7-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CLE wins 4-7. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-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 4-7, final 4-7 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CLE wins 7-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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: 6/10 = 0.600. | |||
| 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: 3/10 = 0.300. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| 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_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 | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=11; RBI: current=4, sim=7; R: current=4, sim=7; BB: current=4, sim=0; SF: current=0, 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 | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Jo Adell: RBI current=1 box=2, R current=0 box=1; Travis Bazzana: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; José Ramírez: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1, BB current=1 box=0; Chase DeLauter: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Angel Genao: AB current=3 box=4; Nathaniel Lowe: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Patrick Bailey: AB current=3 box=2, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 (H: current=7, sim=6; 2B: current=1, sim=0; R: current=3, sim=4; BB: current=3, sim=1; SO: current=11, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: RBI current=0 box=2, BB current=1 box=0, SO current=2 box=0; Shea Langeliers: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Tommy White: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Alika Williams: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, SO current=1 box=2; Jonah Heim: AB current=4 box=2, H current=0 box=1, RBI current=1 box=0, R current=0 box=1; Zack Gelof: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Lawrence Butler: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=2 box=0; Donovan Walton: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.7751560088644616 | 5.688038240458301 | Base ML historical model prediction | |
| variance_applied | 4 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 7 | 0.580 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 7 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 7 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 7 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 7 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OAK | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 4 | 6 |
| CLE | 1 | 0 | 0 | 0 | 5 | 0 | 0 | 1 | 0 | 7 | 11 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | batting | 33 | 7 | 1 | 0 | 1 | 4 | 3 | 3 | 11 | 0 | 0 | 0 | 0 | |||||
| current | OAK | pitching | 11 | 1 | 7 | 0 | 8 | 8.0 | 6 | 0 | 0 | |||||||||
| current | CLE | batting | 33 | 8 | 2 | 0 | 1 | 4 | 4 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | CLE | pitching | 6 | 1 | 4 | 1 | 7 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | OAK | batting | 33 | 6 | 0 | 0 | 1 | 4 | 4 | 1 | 7 | 0 | 0 | |||||||
| simulation | OAK | pitching | 11 | 1 | 7 | 0 | 8 | 8.0 | 7 | 36 | 144 | |||||||||
| simulation | CLE | batting | 34 | 11 | 2 | 0 | 1 | 7 | 7 | 0 | 8 | 1 | 1 | |||||||
| simulation | CLE | pitching | 6 | 1 | 4 | 1 | 7 | 9.0 | 4 | 34 | 128 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | LF | Henry Bolte | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.250 | |
| current | OAK | DH | Shea Langeliers | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | OAK | 1B | Tommy White | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | OAK | SS | Alika Williams | 0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | C | Jonah Heim | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.000 | |
| current | OAK | 3B | Zack Gelof | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | OAK | RF | Lawrence Butler | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0.250 | |
| current | OAK | 2B | Donovan Walton | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | OAK | CF | Denzel Clarke | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| 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 | 2B | Travis Bazzana | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | CLE | 3B | José Ramírez | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CLE | RF | Chase DeLauter | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CLE | SS | Angel Genao | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CLE | 1B | Nathaniel Lowe | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CLE | C | Patrick Bailey | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CLE | LF | Angel Martínez | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| simulation | OAK | 1 | LF | Henry Bolte | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | OAK | 2 | DH | Shea Langeliers | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | OAK | 3 | RF | Lawrence Butler | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | OAK | 4 | 3B | Zack Gelof | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | OAK | 5 | 2B | Donovan Walton | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | OAK | 6 | 1B | Tommy White | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | OAK | 7 | SS | Alika Williams | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | OAK | 8 | C | Jonah Heim | 3 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.500 |
| simulation | OAK | 9 | CF | Denzel Clarke | 3 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.333 |
| simulation | CLE | 1 | CF | Steven Kwan | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CLE | 2 | 3B | José Ramírez | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | CLE | 3 | RF | Chase DeLauter | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 |
| simulation | CLE | 4 | DH | Jo Adell | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | CLE | 5 | 2B | Travis Bazzana | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 3 | 0 | 1 | 0 | 0.500 |
| simulation | CLE | 6 | 1B | Nathaniel Lowe | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | CLE | 7 | LF | Angel Martínez | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | CLE | 8 | C | Patrick Bailey | 4 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 1 | 0.000 |
| simulation | CLE | 9 | SS | Angel Genao | 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 | OAK | 1 | Jack Perkins | Starter | 4.2 | 8 | 6 | 5 | 0 | 4 | 1 | 0 | 0 | 9.64 | 6.14 | 1.48 |
| current | OAK | 2 | Seth Johnson | Reliever | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | ||
| current | OAK | 3 | Chris Roycroft | Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | ||
| current | OAK | 4 | Hogan Harris | Reliever | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | ||
| current | CLE | 1 | Gavin Williams | Starter | 5.1 | 4 | 3 | 3 | 0 | 7 | 0 | 0 | 0 | 5.06 | 3.78 | 1.10 |
| current | CLE | 2 | Cade Smith | Closer | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.06 | 0.99 |
| current | CLE | 3 | Hunter Gaddis | Setup Man | 1.0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 2.54 | 1.13 |
| current | CLE | 5 | Erik Sabrowski | Middle Reliever (High Leverage) | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 6.75 | 2.58 | 1.06 |
| simulation | OAK | 1 | Jack Perkins | Starter | 4.2 | 8 | 6 | 6 | 0 | 4 | 1 | 23 | 92 | 11.57 | 6.14 | 1.48 |
| simulation | OAK | 2 | Seth Johnson | Reliever | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 17 | 0.00 | 5.08 | 1.55 |
| simulation | OAK | 3 | Chris Roycroft | Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 4 | 16 | 0.00 | 6.19 | 1.79 |
| simulation | OAK | 4 | Hogan Harris | Reliever | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 5 | 19 | 9.00 | 3.34 | 1.43 |
| simulation | CLE | 1 | Gavin Williams | Starter | 5.1 | 4 | 3 | 3 | 0 | 7 | 0 | 20 | 79 | 5.06 | 3.78 | 1.10 |
| simulation | CLE | 2 | Cade Smith | Closer | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 2.06 | 0.99 |
| simulation | CLE | 3 | Hunter Gaddis | Setup Man | 1.0 | 1 | 0 | 0 | 1 | 0 | 0 | 5 | 12 | 0.00 | 2.54 | 1.13 |
| simulation | CLE | 4 | Erik Sabrowski | Middle Reliever (High Leverage) | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 5 | 20 | 6.75 | 2.58 | 1.06 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| OAK | Jack Perkins | Starter | 4.2 | 6 | 8 | 0 | 4 | 23 | 92 |
| OAK | Seth Johnson | Reliever | 1.1 | 0 | 0 | 0 | 2 | 4 | 17 |
| OAK | Chris Roycroft | Reliever | 1.0 | 0 | 1 | 0 | 2 | 4 | 16 |
| OAK | Hogan Harris | Reliever | 1.0 | 1 | 2 | 0 | 0 | 5 | 19 |
| CLE | Gavin Williams | Starter | 5.1 | 3 | 4 | 0 | 7 | 20 | 79 |
| CLE | Cade Smith | Closer | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| CLE | Hunter Gaddis | Setup Man | 1.0 | 0 | 1 | 1 | 0 | 5 | 12 |
| CLE | Erik Sabrowski | Middle Reliever (High Leverage) | 1.1 | 1 | 1 | 0 | 0 | 5 | 20 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 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. |
20260920_PHI@NYM
20260920_PHI@NYM.json • 2026-09-20
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 | 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 | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM 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 | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=8, sim=6; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=7; SO: current=9, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Francisco Lindor: H current=1 box=2, SO current=1 box=0; Carson Benge: 3B current=0 box=1, RBI current=0 box=2; Mark Vientos: AB current=4 box=5, 2B current=1 box=0, R current=0 box=1; Francisco Alvarez: H current=1 box=0, BB current=1 box=0; Juan Soto: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=2; Bo Bichette: H current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Nick Morabito: AB current=3 box=4, SO current=1 box=2; Marcus Semien: AB current=4 box=3, 2B current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (H: current=5, sim=6; BB: current=5, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries 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=33, sim=35; H: current=7, sim=8; 2B: current=1, sim=3; HR: current=1, sim=0; 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 | 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, RBI current=1 box=0; Alec Bohm: 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1, SO current=0 box=1; Bryson Stott: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1; Trea Turner: AB current=4 box=5, H current=1 box=0, R current=1 box=0, SO current=1 box=3; J.T. Realmuto: AB current=3 box=4, SO current=1 box=2; Luis Arraez: 2B current=1 box=0, SO current=0 box=1; Brandon Marsh: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=0 box=2; Kyle Schwarber: 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 | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI 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 | PHI | BATTING_TOTALS_SUM | current:PHI 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 | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match PHI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match PHI pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=40 matches PHI BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match NYM pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match NYM pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match NYM pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=38 matches NYM BF=38. | |||
| 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.545 -> 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.544835, 'sample_size': 713, 'empirical_hit_rate': 0.5568, 'empirical_weight': 0.5, 'blended_confidence': 0.550817, 'published_confidence': 0.517323, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | 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.483. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.517. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.517. | |||||
| 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.727/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: PHI 8, NYM 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PHI 4 - NYM 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYM. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYM; cap=0.56, reasons=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': ['recent head-to-head is split and volatile', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'NYM', 'opponent_team': 'PHI', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 10, 'opponent_runs': 3, 'margin_for_predicted_team': 7, 'winner': 'NYM'}, {'date': '2026-09-18', 'predicted_team_runs': 6, 'opponent_runs': 3, 'margin_for_predicted_team': 3, 'winner': 'NYM'}, {'date': '2026-09-17', 'predicted_team_runs': 0, 'opponent_runs': 3, 'margin_for_predicted_team': -3, 'winner': 'PHI'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 7, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 7, 'raw_pick_probability': 0.529107, 'artifact': '20260919_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.5115270000000001, 'artifact': '20260918_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260917', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'PHI', 'actual_margin': 3, 'raw_pick_probability': 0.544183, 'artifact': '20260917_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260718', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 5, 'raw_pick_probability': 0.64, 'artifact': '20260718_NYM@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260716', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.51, 'artifact': '20260716_NYM@PHI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYM', 'guardrail_opponent_team': 'PHI', 'output_pre_simulation_winner': 'NYM', 'output_opponent_team': 'PHI', 'simulation_score_winner': 'NYM', 'final_score_winner': 'NYM', 'pre_simulation_winner': 'NYM', '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': 'PHI 4 - 5 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'PHI 4 - 5 NYM', '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.0771, 'recent_form_edge_home_minus_away': 0.294, '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': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'NYM', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 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.2613, 'winner': 'NYM', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_PHI@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PHI@NYM. | |||||
| 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': 7.0, 'absolute_net_margin': 7.0, 'home_average_margin': 1.4, 'home_run_delta': 0.0404, 'away_run_delta': -0.0404, 'evidence': [{'game_id': None, 'home_margin': 7.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 5.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.023250223759607534}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.023138046268403156}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.021957656769049847}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.021851715644588154}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.02176892103120283}], 'home_distribution': {'0': 0.05653992198407758, '1': 0.08659453467237682, '2': 0.11727201382185057, '3': 0.14043226660366856, '4': 0.14869900080624318, '5': 0.13922518937617806, '6': 0.11526466877234175, '7': 0.08438071833263454, '8': 0.054620900032613565, '9': 0.03126389678360806, '10': 0.015823260816707086, '11': 0.007081373271071714, '12': 0.002802254726628518}, 'away_distribution': {'0': 0.06701082553859773, '1': 0.10186654482688735, '2': 0.1348930159049193, '3': 0.15560323971882195, '4': 0.15635763275842648, '5': 0.13686450144062773, '6': 0.1043599432472741, '7': 0.06931833621196229, '8': 0.04010824946497932, '9': 0.020215782957801954, '10': 0.008876028874716039, '11': 0.003394830754705836, '12': 0.0011310683002802055}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.5226, 'recent_quality_edge': 0.224, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.2613} | ||||
| 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': 'PHI 4 - 5 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'PHI 4 - 5 NYM', '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.0771, 'recent_form_edge_home_minus_away': 0.294, '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': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'NYM', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 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.2613, 'winner': 'NYM', '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: 182. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| 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: 173. | |||
| 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: 182. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI 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 | 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: PHI 4 - 5 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PHI 4 - 5 NYM. | |||||
| 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.517. | |||||
| 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: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): NYM wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM 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: 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: 3/10 = 0.300. | |||
| 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: 4/10 = 0.400. |
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 | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI 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 | PHI | BATTING_TOTALS_SUM | current:PHI 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 | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match PHI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match PHI pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=40 matches PHI BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match NYM pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match NYM pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match NYM pitching: 13. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=38 matches NYM BF=38. | |||
| 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.545 -> 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.544835, 'sample_size': 713, 'empirical_hit_rate': 0.5568, 'empirical_weight': 0.5, 'blended_confidence': 0.550817, 'published_confidence': 0.517323, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | 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.483. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.517. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.517. | |||||
| 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.727/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: PHI 8, NYM 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PHI 4 - NYM 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYM. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYM; cap=0.56, reasons=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': ['recent head-to-head is split and volatile', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'NYM', 'opponent_team': 'PHI', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 10, 'opponent_runs': 3, 'margin_for_predicted_team': 7, 'winner': 'NYM'}, {'date': '2026-09-18', 'predicted_team_runs': 6, 'opponent_runs': 3, 'margin_for_predicted_team': 3, 'winner': 'NYM'}, {'date': '2026-09-17', 'predicted_team_runs': 0, 'opponent_runs': 3, 'margin_for_predicted_team': -3, 'winner': 'PHI'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 7, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 7, 'raw_pick_probability': 0.529107, 'artifact': '20260919_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.5115270000000001, 'artifact': '20260918_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260917', 'away': 'PHI', 'home': 'NYM', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'PHI', 'actual_margin': 3, 'raw_pick_probability': 0.544183, 'artifact': '20260917_PHI@NYM.json', 'verification': 'pregame_official_final'}, {'date': '20260718', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 5, 'raw_pick_probability': 0.64, 'artifact': '20260718_NYM@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260716', 'away': 'NYM', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'NYM', 'actual_winner': 'NYM', 'actual_margin': 3, 'raw_pick_probability': 0.51, 'artifact': '20260716_NYM@PHI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYM', 'guardrail_opponent_team': 'PHI', 'output_pre_simulation_winner': 'NYM', 'output_opponent_team': 'PHI', 'simulation_score_winner': 'NYM', 'final_score_winner': 'NYM', 'pre_simulation_winner': 'NYM', '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': 'PHI 4 - 5 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'PHI 4 - 5 NYM', '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.0771, 'recent_form_edge_home_minus_away': 0.294, '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': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'NYM', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 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.2613, 'winner': 'NYM', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_PHI@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PHI@NYM. | |||||
| 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': 7.0, 'absolute_net_margin': 7.0, 'home_average_margin': 1.4, 'home_run_delta': 0.0404, 'away_run_delta': -0.0404, 'evidence': [{'game_id': None, 'home_margin': 7.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -3.0}, {'game_id': None, 'home_margin': 5.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.023250223759607534}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.023138046268403156}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.021957656769049847}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.021851715644588154}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.02176892103120283}], 'home_distribution': {'0': 0.05653992198407758, '1': 0.08659453467237682, '2': 0.11727201382185057, '3': 0.14043226660366856, '4': 0.14869900080624318, '5': 0.13922518937617806, '6': 0.11526466877234175, '7': 0.08438071833263454, '8': 0.054620900032613565, '9': 0.03126389678360806, '10': 0.015823260816707086, '11': 0.007081373271071714, '12': 0.002802254726628518}, 'away_distribution': {'0': 0.06701082553859773, '1': 0.10186654482688735, '2': 0.1348930159049193, '3': 0.15560323971882195, '4': 0.15635763275842648, '5': 0.13686450144062773, '6': 0.1043599432472741, '7': 0.06931833621196229, '8': 0.04010824946497932, '9': 0.020215782957801954, '10': 0.008876028874716039, '11': 0.003394830754705836, '12': 0.0011310683002802055}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.5226, 'recent_quality_edge': 0.224, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.2613} | ||||
| 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': 'PHI 4 - 5 NYM', 'winner': 'NYM'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'PHI 4 - 5 NYM', '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.0771, 'recent_form_edge_home_minus_away': 0.294, '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': 'NYM', 'model_winner': 'NYM', 'simulation_winner': 'NYM', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'NYM', 'published_winner_draw_share': 0.6667, 'draw_majority_team': 'NYM', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 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.2613, 'winner': 'NYM', '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: 182. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| 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: 173. | |||
| 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: 182. | |||
| 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 | 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 | 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 | 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 | 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 | 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 | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI 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 | 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: PHI 4 - 5 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PHI 4 - 5 NYM. | |||||
| 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.517. | |||||
| 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: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): NYM wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM 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: 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: 3/10 = 0.300. | |||
| 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: 4/10 = 0.400. |
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 | 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 | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM 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 | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=8, sim=6; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=7; SO: current=9, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Francisco Lindor: H current=1 box=2, SO current=1 box=0; Carson Benge: 3B current=0 box=1, RBI current=0 box=2; Mark Vientos: AB current=4 box=5, 2B current=1 box=0, R current=0 box=1; Francisco Alvarez: H current=1 box=0, BB current=1 box=0; Juan Soto: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=2; Bo Bichette: H current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Nick Morabito: AB current=3 box=4, SO current=1 box=2; Marcus Semien: AB current=4 box=3, 2B current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (H: current=5, sim=6; BB: current=5, sim=7). | New contract: model pitcher projections may differ; simulation_box_score_stats carries 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=33, sim=35; H: current=7, sim=8; 2B: current=1, sim=3; HR: current=1, sim=0; 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 | 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, RBI current=1 box=0; Alec Bohm: 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1, SO current=0 box=1; Bryson Stott: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1; Trea Turner: AB current=4 box=5, H current=1 box=0, R current=1 box=0, SO current=1 box=3; J.T. Realmuto: AB current=3 box=4, SO current=1 box=2; Luis Arraez: 2B current=1 box=0, SO current=0 box=1; Brandon Marsh: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=0 box=2; Kyle Schwarber: 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.300453229352511 | 4.231717657438134 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.517 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 4 | 8 |
| NYM | 2 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 5 | 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 | PHI | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | PHI | pitching | 5 | 0 | 5 | 5 | 7 | 8.0 | 5 | 0 | 0 | |||||||||
| current | NYM | batting | 34 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | NYM | pitching | 9 | 0 | 4 | 3 | 13 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | PHI | batting | 35 | 8 | 3 | 0 | 0 | 4 | 4 | 3 | 13 | 0 | 0 | |||||||
| simulation | PHI | pitching | 6 | 0 | 5 | 7 | 7 | 9.0 | 5 | 40 | 182 | |||||||||
| simulation | NYM | batting | 33 | 6 | 1 | 1 | 0 | 5 | 5 | 7 | 7 | 0 | 0 | |||||||
| simulation | NYM | pitching | 8 | 0 | 4 | 3 | 13 | 9.0 | 4 | 38 | 173 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | 0 | 0 | 0.250 | |
| current | PHI | 3B | Bryson Stott | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | SS | Trea Turner | 0 | 4 | 1 | 0 | 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 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | PHI | LF | Brandon Marsh | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYM | SS | Francisco Lindor | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | RF | Carson Benge | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | 1B | Mark Vientos | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYM | DH | Francisco Alvarez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | NYM | LF | Juan Soto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | 3B | Bo Bichette | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYM | CF | Nick Morabito | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYM | 2B | Marcus Semien | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | C | Luis Torrens | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | PHI | 1 | DH | Kyle Schwarber | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | PHI | 2 | SS | Trea Turner | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | PHI | 3 | RF | Bryce Harper | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | PHI | 4 | 2B | Luis Arraez | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | PHI | 5 | 1B | Alec Bohm | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | PHI | 6 | 3B | Bryson Stott | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | PHI | 7 | LF | Brandon Marsh | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.750 |
| simulation | PHI | 8 | C | J.T. Realmuto | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PHI | 9 | CF | Justin Crawford | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | NYM | 1 | SS | Francisco Lindor | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.500 |
| simulation | NYM | 2 | LF | Juan Soto | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0.333 |
| simulation | NYM | 3 | 3B | Bo Bichette | 5 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.000 |
| simulation | NYM | 4 | 1B | Mark Vientos | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 |
| simulation | NYM | 5 | RF | Carson Benge | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | NYM | 6 | 2B | Marcus Semien | 4 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | NYM | 7 | DH | Francisco Alvarez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYM | 8 | CF | Nick Morabito | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | NYM | 9 | C | Luis Torrens | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 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 | PHI | 1 | Cristopher Sánchez | Starter | 6.1 | 3 | 4 | 4 | 5 | 6 | 0 | 0 | 0 | 5.68 | 2.93 | 1.22 |
| current | PHI | 2 | Jhoan Duran | Closer | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 1.44 | 0.96 |
| current | PHI | 3 | Jonathan Bowlan | Setup Man | 0.2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.36 | 1.03 |
| current | NYM | 1 | Jonah Tong | Starter | 5.1 | 6 | 2 | 2 | 2 | 11 | 0 | 0 | 0 | 3.38 | 3.43 | 1.19 |
| current | NYM | 3 | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.1 | 2 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 6.75 | 4.45 | 1.29 |
| current | NYM | 4 | Kodai Senga | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 6.75 | 7.05 | 1.60 |
| current | NYM | 5 | Nathan Lavender | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 1.93 | 0.86 |
| simulation | PHI | 1 | Cristopher Sánchez | Starter | 6.1 | 3 | 3 | 3 | 5 | 6 | 0 | 30 | 121 | 4.26 | 2.93 | 1.22 |
| simulation | PHI | 2 | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 25 | 0.00 | 1.44 | 0.96 |
| simulation | PHI | 3 | Jonathan Bowlan | Setup Man | 1.2 | 3 | 2 | 2 | 2 | 0 | 0 | 7 | 36 | 10.80 | 3.36 | 1.03 |
| simulation | NYM | 1 | Jonah Tong | Starter | 5.1 | 6 | 2 | 2 | 2 | 11 | 0 | 24 | 105 | 3.38 | 3.43 | 1.19 |
| simulation | NYM | 2 | Kodai Senga | Closer | 1.1 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 17 | 6.75 | 7.05 | 1.60 |
| simulation | NYM | 3 | Nathan Lavender | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 1.93 | 0.86 |
| simulation | NYM | 4 | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.1 | 2 | 1 | 1 | 1 | 0 | 0 | 7 | 38 | 6.75 | 4.45 | 1.29 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| PHI | Cristopher Sánchez | Starter | 6.1 | 3 | 3 | 5 | 6 | 30 | 121 |
| PHI | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 1 | 3 | 25 |
| PHI | Jonathan Bowlan | Setup Man | 1.2 | 2 | 3 | 2 | 0 | 7 | 36 |
| NYM | Jonah Tong | Starter | 5.1 | 2 | 6 | 2 | 11 | 24 | 105 |
| NYM | Jonathan Pintaro | Middle Reliever (High Leverage) | 1.1 | 1 | 2 | 1 | 0 | 7 | 38 |
| NYM | Kodai Senga | Closer | 1.1 | 1 | 0 | 0 | 0 | 4 | 17 |
| NYM | Nathan Lavender | Setup Man | 1.0 | 0 | 0 | 0 | 2 | 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 | 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. |
20260920_SEA@COL
20260920_SEA@COL.json • 2026-09-20
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 | 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_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 | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=51; H: current=10, sim=15; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=7, sim=10; HBP: current=0, sim=3). | 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: Connor Norby: AB current=4 box=6, H current=1 box=2, R current=0 box=1, BB current=1 box=0; Cole Carrigg: AB current=4 box=6, H current=1 box=3, 2B current=1 box=0, RBI current=1 box=3; Hunter Goodman: AB current=4 box=6, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Jake McCarthy: AB current=4 box=7, RBI current=1 box=0; Jordan Beck: AB current=3 box=4, BB current=0 box=1, HBP current=0 box=1; Adael Amador: AB current=4 box=6, H current=1 box=2, 2B current=0 box=1, SO current=0 box=2; Brett Sullivan: AB current=3 box=6, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; TJ Rumfield: AB current=4 box=5, H current=1 box=3, 2B 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 | 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=51; H: current=10, sim=15; 2B: current=2, sim=4; 3B: current=0, sim=1; HR: current=1, sim=4; RBI: current=5, sim=9; R: current=4, sim=9; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Dominic Canzone: AB current=4 box=6, H current=1 box=2, 3B current=0 box=1, HR current=1 box=0; Cal Raleigh: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Randy Arozarena: AB current=4 box=6, H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; J.P. Crawford: AB current=4 box=6, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Lazaro Montes: AB current=3 box=6, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Brock Rodden: AB current=3 box=5, H current=1 box=2, R current=0 box=1, BB current=0 box=1; Julio Rodríguez: AB current=4 box=6, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Josh Naylor: AB current=4 box=5, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL 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 | COL | BATTING_TOTALS_SUM | simulation:COL 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 | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match SEA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match SEA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match SEA pitching: 15. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match SEA pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=57 matches SEA BF=57. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match COL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match COL pitching: 15. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=55 matches COL BF=55. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 9. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.837 -> 0.693 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.837267, 'sample_size': 228, 'empirical_hit_rate': 0.5482, 'empirical_weight': 0.5, 'blended_confidence': 0.692733, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | 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 | 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.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 15 is reasonably close to low-score expected_total_runs 15.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.471/0.654. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 12 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: SEA 15, COL 15. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SEA 9 - COL 6. | |||||
| 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=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 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', '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': 'COL', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 3, 'opponent_runs': 5, 'margin_for_predicted_team': -2, 'winner': 'COL'}, {'date': '2026-09-18', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, 'winner': 'SEA'}], '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': '20260919', 'away': 'SEA', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'COL', 'actual_margin': 2, 'raw_pick_probability': 0.721304, 'artifact': '20260919_SEA@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'SEA', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.7604690000000001, 'artifact': '20260918_SEA@COL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'COL', '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': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0383, 'recent_form_edge_home_minus_away': -0.936, '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': 9, 'home_runs': 6, '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.3333, 'draw_majority_team': 'COL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 6}, 'simulation_score': {'away_runs': 9, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 0.921, 'winner': 'SEA', 'score_reviewed': {'away_runs': 9, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_SEA@COL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SEA@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': 2, 'sample_weight': 0.03, 'home_net_margin': 1.0, 'absolute_net_margin': 1.0, 'home_average_margin': 0.5, 'home_run_delta': 0.0075, 'away_run_delta': -0.0075, 'evidence': [{'game_id': None, 'home_margin': 2.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': 6, 'away_runs': 8, 'probability': 0.012245616171937227}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.012217087847929948}, {'home_runs': 6, 'away_runs': 9, 'probability': 0.011888843482344013}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.011868267407298167}, {'home_runs': 5, 'away_runs': 9, 'probability': 0.011861146323281212}], 'home_distribution': {'0': 0.03199490434544446, '1': 0.04986142545388006, '2': 0.07114008479131052, '3': 0.09292442475231005, '4': 0.11112485274599544, '5': 0.12166294646088763, '6': 0.12194704362049875, '7': 0.11190514042325236, '8': 0.09401445036252101, '9': 0.0723111054136493, '10': 0.05091915691081638, '11': 0.03282639736153855, '12': 0.019374524595360328, '13': 0.010468987990917627, '14': 0.005178979153475879, '15': 0.0023455756181414923}, 'away_distribution': {'0': 0.014220043544614243, '1': 0.02246646361098294, '2': 0.03339905307903702, '3': 0.04671961319052255, '4': 0.06149360727619374, '5': 0.07615989708461186, '6': 0.08875408972139394, '7': 0.09732312530865787, '8': 0.10041749113693801, '9': 0.09749185490172516, '10': 0.0890621033182319, '11': 0.07655670062323269, '12': 0.06192116466677113, '13': 0.0471260100389134, '14': 0.03374798703443989, '15': 0.02274053735647204, '16': 0.014418471359229747, '17': 0.008602077726788752, '18': 0.004828954939220809, '19': 0.0025507540820222862}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.9129, 'recent_quality_edge': -0.936, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.921} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0383, 'recent_form_edge_home_minus_away': -0.936, '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': 9, 'home_runs': 6, '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.3333, 'draw_majority_team': 'COL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 6}, 'simulation_score': {'away_runs': 9, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 0.921, 'winner': 'SEA', 'score_reviewed': {'away_runs': 9, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 226. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 218. | |||||
| 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: 218. | |||
| 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: 226. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 13 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | 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 | 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 | 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 | 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 | 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 | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SEA 9 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SEA 9 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 9-6 (Extra Innings - 12). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SEA, simulation=SEA, published=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.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): SEA wins 9-6. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 9-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 9-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 9-6, final 9-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 15. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 9-6 (Extra Innings - 12). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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 | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL 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 | COL | BATTING_TOTALS_SUM | simulation:COL 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 | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match SEA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match SEA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match SEA pitching: 15. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match SEA pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=57 matches SEA BF=57. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match COL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match COL pitching: 15. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=55 matches COL BF=55. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 9. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.837 -> 0.693 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.837267, 'sample_size': 228, 'empirical_hit_rate': 0.5482, 'empirical_weight': 0.5, 'blended_confidence': 0.692733, 'published_confidence': 0.56, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | 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 | 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.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 15 is reasonably close to low-score expected_total_runs 15.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.471/0.654. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 12 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: SEA 15, COL 15. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SEA 9 - COL 6. | |||||
| 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=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 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick', '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': 'COL', 'h2h_net_margin': -1, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 3, 'opponent_runs': 5, 'margin_for_predicted_team': -2, 'winner': 'COL'}, {'date': '2026-09-18', 'predicted_team_runs': 5, 'opponent_runs': 4, 'margin_for_predicted_team': 1, 'winner': 'SEA'}], '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': '20260919', 'away': 'SEA', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'COL', 'actual_margin': 2, 'raw_pick_probability': 0.721304, 'artifact': '20260919_SEA@COL.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'SEA', 'home': 'COL', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.7604690000000001, 'artifact': '20260918_SEA@COL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'COL', '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': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0383, 'recent_form_edge_home_minus_away': -0.936, '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': 9, 'home_runs': 6, '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.3333, 'draw_majority_team': 'COL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 6}, 'simulation_score': {'away_runs': 9, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 0.921, 'winner': 'SEA', 'score_reviewed': {'away_runs': 9, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_SEA@COL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SEA@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': 2, 'sample_weight': 0.03, 'home_net_margin': 1.0, 'absolute_net_margin': 1.0, 'home_average_margin': 0.5, 'home_run_delta': 0.0075, 'away_run_delta': -0.0075, 'evidence': [{'game_id': None, 'home_margin': 2.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': 6, 'away_runs': 8, 'probability': 0.012245616171937227}, {'home_runs': 5, 'away_runs': 8, 'probability': 0.012217087847929948}, {'home_runs': 6, 'away_runs': 9, 'probability': 0.011888843482344013}, {'home_runs': 6, 'away_runs': 7, 'probability': 0.011868267407298167}, {'home_runs': 5, 'away_runs': 9, 'probability': 0.011861146323281212}], 'home_distribution': {'0': 0.03199490434544446, '1': 0.04986142545388006, '2': 0.07114008479131052, '3': 0.09292442475231005, '4': 0.11112485274599544, '5': 0.12166294646088763, '6': 0.12194704362049875, '7': 0.11190514042325236, '8': 0.09401445036252101, '9': 0.0723111054136493, '10': 0.05091915691081638, '11': 0.03282639736153855, '12': 0.019374524595360328, '13': 0.010468987990917627, '14': 0.005178979153475879, '15': 0.0023455756181414923}, 'away_distribution': {'0': 0.014220043544614243, '1': 0.02246646361098294, '2': 0.03339905307903702, '3': 0.04671961319052255, '4': 0.06149360727619374, '5': 0.07615989708461186, '6': 0.08875408972139394, '7': 0.09732312530865787, '8': 0.10041749113693801, '9': 0.09749185490172516, '10': 0.0890621033182319, '11': 0.07655670062323269, '12': 0.06192116466677113, '13': 0.0471260100389134, '14': 0.03374798703443989, '15': 0.02274053735647204, '16': 0.014418471359229747, '17': 0.008602077726788752, '18': 0.004828954939220809, '19': 0.0025507540820222862}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.9129, 'recent_quality_edge': -0.936, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.921} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 9, 'home_runs': 6, 'score_text': 'SEA 9 - 6 COL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0383, 'recent_form_edge_home_minus_away': -0.936, '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': 9, 'home_runs': 6, '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.3333, 'draw_majority_team': 'COL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 3, 'simulation_margin': 3, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 9, 'home_runs': 6}, 'simulation_score': {'away_runs': 9, 'home_runs': 6}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 3, 'final_margin': 3, 'winner_quality_edge': 0.921, 'winner': 'SEA', 'score_reviewed': {'away_runs': 9, 'home_runs': 6, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 226. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 218. | |||||
| 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: 218. | |||
| 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: 226. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 13 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | 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 | 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 | 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 | 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 | 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 | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 12.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SEA 9 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SEA 9 - 6 COL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 9-6 (Extra Innings - 12). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SEA, simulation=SEA, published=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.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): SEA wins 9-6. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 9-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 9-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 9-6, final 9-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 15. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 9-6 (Extra Innings - 12). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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 | 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_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 | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=51; H: current=10, sim=15; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=7, sim=10; HBP: current=0, sim=3). | 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: Connor Norby: AB current=4 box=6, H current=1 box=2, R current=0 box=1, BB current=1 box=0; Cole Carrigg: AB current=4 box=6, H current=1 box=3, 2B current=1 box=0, RBI current=1 box=3; Hunter Goodman: AB current=4 box=6, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Jake McCarthy: AB current=4 box=7, RBI current=1 box=0; Jordan Beck: AB current=3 box=4, BB current=0 box=1, HBP current=0 box=1; Adael Amador: AB current=4 box=6, H current=1 box=2, 2B current=0 box=1, SO current=0 box=2; Brett Sullivan: AB current=3 box=6, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; TJ Rumfield: AB current=4 box=5, H current=1 box=3, 2B 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 | 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=51; H: current=10, sim=15; 2B: current=2, sim=4; 3B: current=0, sim=1; HR: current=1, sim=4; RBI: current=5, sim=9; R: current=4, sim=9; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Dominic Canzone: AB current=4 box=6, H current=1 box=2, 3B current=0 box=1, HR current=1 box=0; Cal Raleigh: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Randy Arozarena: AB current=4 box=6, H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; J.P. Crawford: AB current=4 box=6, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Lazaro Montes: AB current=3 box=6, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Brock Rodden: AB current=3 box=5, H current=1 box=2, R current=0 box=1, BB current=0 box=1; Julio Rodríguez: AB current=4 box=6, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Josh Naylor: AB current=4 box=5, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.674358574198883 | 4.25078103433336 | Base ML historical model prediction | |
| variance_applied | 6 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 8 | 6 | 0.560 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, matchup_recency_guardrail) |
| embedded_savant_run_environment | 9 | 6 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 9 | 6 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 9 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 9 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SEA | 0 | 0 | 0 | 2 | 0 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 9 | 15 |
| COL | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 6 | 15 |
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 | SEA | batting | 34 | 10 | 2 | 0 | 1 | 5 | 4 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | SEA | pitching | 15 | 0 | 6 | 3 | 10 | 9.0 | 6 | 0 | 0 | |||||||||
| current | COL | batting | 33 | 10 | 2 | 0 | 1 | 5 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | COL | pitching | 15 | 4 | 9 | 3 | 6 | 9.0 | 8 | 0 | 0 | |||||||||
| simulation | SEA | batting | 51 | 15 | 4 | 1 | 4 | 9 | 9 | 3 | 6 | 0 | 1 | |||||||
| simulation | SEA | pitching | 15 | 0 | 6 | 3 | 10 | 12.0 | 6 | 57 | 226 | |||||||||
| simulation | COL | batting | 51 | 15 | 3 | 0 | 0 | 6 | 6 | 3 | 10 | 0 | 3 | |||||||
| simulation | COL | pitching | 15 | 4 | 9 | 3 | 6 | 12.0 | 9 | 55 | 218 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SEA | RF | Dominic Canzone | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | C | Cal Raleigh | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SEA | LF | Randy Arozarena | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SEA | SS | J.P. Crawford | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 | |
| current | SEA | DH | Lazaro Montes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | SEA | 3B | Brock Rodden | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SEA | CF | Julio Rodríguez | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | 1B | Josh Naylor | 0 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 | |
| current | SEA | 2B | Cole Young | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | COL | 3B | Connor Norby | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | COL | CF | Cole Carrigg | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | DH | Hunter Goodman | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | COL | LF | Jake McCarthy | 0 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 | |
| current | COL | RF | Jordan Beck | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | COL | 2B | Adael Amador | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | COL | C | Brett Sullivan | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | COL | 1B | TJ Rumfield | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 | |
| current | COL | SS | Ezequiel Tovar | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | SEA | 1 | SS | J.P. Crawford | 7 | 6 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 1 | 0.000 |
| simulation | SEA | 2 | LF | Randy Arozarena | 6 | 6 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | SEA | 3 | RF | Dominic Canzone | 6 | 6 | 2 | 0 | 1 | 0 | 1 | 0 | 0 | 2 | 0 | 0.333 |
| simulation | SEA | 4 | C | Cal Raleigh | 6 | 5 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.200 |
| simulation | SEA | 5 | CF | Julio Rodríguez | 6 | 6 | 2 | 1 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.333 |
| simulation | SEA | 6 | 1B | Josh Naylor | 6 | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.400 |
| simulation | SEA | 7 | 2B | Cole Young | 6 | 6 | 3 | 1 | 0 | 2 | 1 | 4 | 0 | 0 | 0 | 0.500 |
| simulation | SEA | 8 | DH | Lazaro Montes | 6 | 6 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.167 |
| simulation | SEA | 9 | 3B | Brock Rodden | 6 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.400 |
| simulation | COL | 1 | LF | Jake McCarthy | 7 | 7 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.286 |
| simulation | COL | 2 | 3B | Connor Norby | 7 | 6 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0.333 |
| simulation | COL | 3 | DH | Hunter Goodman | 7 | 6 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | COL | 4 | 1B | TJ Rumfield | 6 | 5 | 3 | 1 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0.600 |
| simulation | COL | 5 | CF | Cole Carrigg | 6 | 6 | 3 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 0.500 |
| simulation | COL | 6 | 2B | Adael Amador | 6 | 6 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.333 |
| simulation | COL | 7 | C | Brett Sullivan | 6 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | COL | 8 | RF | Jordan Beck | 6 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0.250 |
| simulation | COL | 9 | SS | Ezequiel Tovar | 6 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SEA | 1 | Kade Anderson | Starter | 5.0 | 7 | 2 | 2 | 2 | 4 | 0 | 0 | 0 | 3.60 | 5.33 | 1.42 |
| current | SEA | 2 | Andrés Muñoz | Closer | 1.1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.79 | 1.16 |
| current | SEA | 4 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 3 | 2 | 2 | 1 | 0 | 0 | 0 | 0 | 18.00 | 3.84 | 1.44 |
| current | SEA | 5 | Gabe Speier | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.07 | 1.11 |
| current | SEA | 6 | José A. Ferrer | Setup Man | 1.0 | 3 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 18.00 | 3.94 | 1.44 |
| current | SEA | 7 | Carlos Vargas | Reliever | 0.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | |||
| current | SEA | 8 | Hoby Milner | Reliever | 0.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
| current | COL | 1 | Tomoyuki Sugano | Starter | 4.2 | 5 | 2 | 2 | 2 | 1 | 1 | 0 | 0 | 3.86 | 5.49 | 1.36 |
| current | COL | 2 | Brennan Bernardino | Setup Man | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 6.75 | 2.45 | 1.09 |
| current | COL | 3 | Jaden Hill | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.30 | 1.41 |
| current | COL | 4 | Jimmy Herget | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 5.76 | 1.48 |
| current | COL | 5 | Jordan Romano | Closer | 0.0 | 4 | 2 | 2 | 1 | 1 | 2 | 0 | 0 | 4.26 | 1.26 | |
| current | COL | 6 | Juan Mejia | Middle Reliever | 0.0 | 2 | 3 | 2 | 0 | 2 | 1 | 0 | 0 | 5.24 | 1.69 | |
| simulation | SEA | 1 | Kade Anderson | Starter | 5.0 | 7 | 2 | 2 | 2 | 4 | 0 | 27 | 104 | 3.60 | 5.33 | 1.42 |
| simulation | SEA | 2 | Andrés Muñoz | Closer | 1.1 | 1 | 0 | 0 | 0 | 0 | 0 | 5 | 20 | 0.00 | 3.79 | 1.16 |
| simulation | SEA | 3 | José A. Ferrer | Setup Man | 1.0 | 3 | 2 | 2 | 0 | 1 | 0 | 6 | 22 | 18.00 | 3.94 | 1.44 |
| simulation | SEA | 4 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 3 | 2 | 2 | 1 | 0 | 0 | 7 | 26 | 18.00 | 3.84 | 1.44 |
| simulation | SEA | 5 | Gabe Speier | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 8 | 0.00 | 3.07 | 1.11 |
| simulation | SEA | 6 | Carlos Vargas | Reliever | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 17 | 0.00 | 4.70 | 1.04 |
| simulation | SEA | 7 | Hoby Milner | Reliever | 1.2 | 1 | 0 | 0 | 0 | 1 | 0 | 6 | 29 | 0.00 | 3.69 | 1.18 |
| simulation | COL | 1 | Tomoyuki Sugano | Starter | 4.2 | 5 | 2 | 2 | 2 | 1 | 1 | 22 | 91 | 3.86 | 5.49 | 1.36 |
| simulation | COL | 2 | Jordan Romano | Closer | 1.1 | 4 | 2 | 2 | 1 | 1 | 2 | 9 | 33 | 13.50 | 4.26 | 1.26 |
| simulation | COL | 3 | Brennan Bernardino | Setup Man | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 6 | 23 | 6.75 | 2.45 | 1.09 |
| simulation | COL | 4 | Jimmy Herget | Middle Reliever (High Leverage) | 1.2 | 2 | 1 | 1 | 0 | 0 | 0 | 7 | 27 | 5.40 | 5.76 | 1.48 |
| simulation | COL | 5 | Jaden Hill | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 25 | 0.00 | 4.30 | 1.41 |
| simulation | COL | 6 | Juan Mejia | Middle Reliever | 1.0 | 2 | 3 | 3 | 0 | 2 | 1 | 5 | 19 | 27.00 | 5.24 | 1.69 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| SEA | Kade Anderson | Starter | 5.0 | 2 | 7 | 2 | 4 | 27 | 104 |
| SEA | Andrés Muñoz | Closer | 1.1 | 0 | 1 | 0 | 0 | 5 | 20 |
| SEA | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 2 | 3 | 1 | 0 | 7 | 26 |
| SEA | Gabe Speier | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 2 | 2 | 8 |
| SEA | José A. Ferrer | Setup Man | 1.0 | 2 | 3 | 0 | 1 | 6 | 22 |
| SEA | Carlos Vargas | Reliever | 1.1 | 0 | 0 | 0 | 2 | 4 | 17 |
| SEA | Hoby Milner | Reliever | 1.2 | 0 | 1 | 0 | 1 | 6 | 29 |
| COL | Tomoyuki Sugano | Starter | 4.2 | 2 | 5 | 2 | 1 | 22 | 91 |
| COL | Brennan Bernardino | Setup Man | 1.1 | 1 | 2 | 0 | 1 | 6 | 23 |
| COL | Jaden Hill | Middle Reliever (High Leverage) | 2.0 | 0 | 0 | 0 | 1 | 6 | 25 |
| COL | Jimmy Herget | Middle Reliever (High Leverage) | 1.2 | 1 | 2 | 0 | 0 | 7 | 27 |
| COL | Jordan Romano | Closer | 1.1 | 2 | 4 | 1 | 1 | 9 | 33 |
| COL | Juan Mejia | Middle Reliever | 1.0 | 3 | 2 | 0 | 2 | 5 | 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 | 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. |
20260920_SF@LAD
20260920_SF@LAD.json • 2026-09-20
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 | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=7; 2B: current=1, sim=2; RBI: current=4, sim=8; R: current=5, sim=8; BB: current=3, sim=5; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Teoscar Hernández: 2B current=0 box=1, BB current=1 box=0; Tommy Edman: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Mookie Betts: AB current=4 box=3, RBI current=1 box=5, BB current=0 box=1; Josue De Paula: AB current=3 box=2, BB current=1 box=2; Enrique Hernández: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Miguel Rojas: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1; Max Muncy: RBI current=1 box=0, BB current=1 box=0; Freddie Freeman: H current=1 box=0, R 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 | SF | CURRENT_FINALIZED_MATCH_BOX | SF model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=30, sim=36; H: current=7, sim=10; 3B: current=0, sim=3; BB: current=3, sim=2; SO: current=10, sim=6; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Jonah Cox: AB current=4 box=5, BB current=1 box=0; Victor Bericoto: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Brett Harris: AB current=3 box=4, H current=0 box=2; Shay Whitcomb: AB current=3 box=4, HR current=0 box=1, R current=0 box=1, SO current=1 box=0; Jung Hoo Lee: AB current=4 box=3, H current=1 box=2, 3B current=0 box=1, RBI current=1 box=2; Andrew Knizner: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=0; Scott Bandura: AB current=3 box=4; Grant McCray: H current=0 box=2, 3B current=0 box=2, R current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | LAD | BATTING_REALISM | current:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAD | BATTING_REALISM | simulation:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF 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 | SF | BATTING_TOTALS_SUM | current:SF 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 | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_BB_MATCH | simulation:LAD batting walks match SF pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match SF pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match SF pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match SF pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=36 matches SF BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 8. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match LAD pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match LAD pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match LAD pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=39 matches LAD BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.810 -> 0.774 at weight 0.180. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.810252, 'sample_size': 36, 'empirical_hit_rate': 0.6111, 'empirical_weight': 0.18, 'blended_confidence': 0.774404, 'published_confidence': 0.58, '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 | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| 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.464/0.646. | |||||
| 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: SF 10, LAD 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SF 4 - LAD 8. | |||||
| 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.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'SF', 'h2h_net_margin': 15, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 10, 'opponent_runs': 4, 'margin_for_predicted_team': 6, 'winner': 'LAD'}, {'date': '2026-09-18', 'predicted_team_runs': 8, 'opponent_runs': 2, 'margin_for_predicted_team': 6, 'winner': 'LAD'}, {'date': '2026-05-14', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'LAD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'SF', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 6, 'raw_pick_probability': 0.565131, 'artifact': '20260919_SF@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'SF', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 6, 'raw_pick_probability': 0.538282, 'artifact': '20260918_SF@LAD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAD', 'guardrail_opponent_team': 'SF', 'output_pre_simulation_winner': 'LAD', 'output_opponent_team': 'SF', 'simulation_score_winner': 'LAD', 'final_score_winner': 'LAD', 'pre_simulation_winner': 'LAD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0144, 'recent_form_edge_home_minus_away': 1.09, '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': 8, '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': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 8}, 'simulation_score': {'away_runs': 4, 'home_runs': 8}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6478, 'winner': 'LAD', 'score_reviewed': {'away_runs': 4, 'home_runs': 8, '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_SF@LAD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SF@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': 15.0, 'absolute_net_margin': 15.0, 'home_average_margin': 3.0, 'home_run_delta': 0.0865, 'away_run_delta': -0.0865, 'evidence': [{'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 7, 'away_runs': 5, 'probability': 0.014535656806175856}, {'home_runs': 7, 'away_runs': 4, 'probability': 0.014394328384955067}, {'home_runs': 8, 'away_runs': 5, 'probability': 0.014117935074587}, {'home_runs': 8, 'away_runs': 4, 'probability': 0.013980668110899385}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.013968921638979928}], 'home_distribution': {'0': 0.0191063671595936, '1': 0.030065017165592338, '2': 0.04415801407102794, '3': 0.06053720299225754, '4': 0.07746399833684921, '5': 0.09252140263937671, '6': 0.10314525339609072, '7': 0.10732997458929863, '8': 0.10424555512104448, '9': 0.0945058748075074, '10': 0.07996957854324442, '11': 0.06316195272002291, '12': 0.04656408031654867, '13': 0.03204138287144775, '14': 0.020579566094770258, '15': 0.012337464509956961, '16': 0.006903675337909506, '17': 0.0036057826350034965, '18': 0.001757856692457748}, 'away_distribution': {'0': 0.04458070071066573, '1': 0.06885418364302763, '2': 0.09562660324651748, '3': 0.11942412781338536, '4': 0.13411284629513234, '5': 0.13542961192152503, '6': 0.1229764185869717, '7': 0.10041416954635035, '8': 0.07372811211522895, '9': 0.04867838697727325, '10': 0.028900422847131887, '11': 0.015428978291316328, '12': 0.0074068763002720596, '13': 0.0031974073444907465, '14': 0.0012411543607111096}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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': 2.0613, 'recent_quality_edge': 0.88, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.6478} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0144, 'recent_form_edge_home_minus_away': 1.09, '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': 8, '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': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 8}, 'simulation_score': {'away_runs': 4, 'home_runs': 8}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6478, 'winner': 'LAD', 'score_reviewed': {'away_runs': 4, 'home_runs': 8, '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: 151. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 146. | |||||
| 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: 146. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_PITCHER_MATCH | SF pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_TOTAL_MATCH | SF pitch_count_summary total, row sum, and pitching total all match: 151. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAD | PITCHING_REALISM | current:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAD | STARTER_PRESENT | current:LAD includes a starter/opener role. | |||
| PASS | pitching | current | SF | PITCHING_REALISM | current:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SF | STARTER_PRESENT | current:SF includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | SF | PITCHING_REALISM | simulation:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SF | STARTER_PRESENT | simulation:SF includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF 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 | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SF 4 - 8 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SF 4 - 8 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 8-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.580. | |||||
| 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: 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 8-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD wins 4-8. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-8. | |||||
| 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-8, final 4-8 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAD wins 8-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 | SF | RECENT_FORM_RANGE | SF recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SF | TEAM_RECENT_RECORD | SF wins and win_pct agree: 2/10 = 0.200. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | LAD | BATTING_REALISM | current:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAD | BATTING_REALISM | simulation:LAD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF 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 | SF | BATTING_TOTALS_SUM | current:SF 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 | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_BB_MATCH | simulation:LAD batting walks match SF pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_HR_MATCH | simulation:LAD batting home runs match SF pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_H_MATCH | simulation:LAD batting hits match SF pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | LAD | BAT_PITCH_SO_MATCH | simulation:LAD batting strikeouts match SF pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | LAD | PA_BF_MATCH | simulation:LAD PA=36 matches SF BF=36. | |||
| PASS | boxscore_crosscheck | simulation | LAD | RUNS_MATCH_FINAL | simulation:LAD runs match final score and opposing pitching runs: 8. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match LAD pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match LAD pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match LAD pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match LAD pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=39 matches LAD BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.810 -> 0.774 at weight 0.180. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.810252, 'sample_size': 36, 'empirical_hit_rate': 0.6111, 'empirical_weight': 0.18, 'blended_confidence': 0.774404, 'published_confidence': 0.58, '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 | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.420. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.580. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.580. | |||||
| 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.464/0.646. | |||||
| 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: SF 10, LAD 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SF 4 - LAD 8. | |||||
| 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.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'LAD', 'opponent_team': 'SF', 'h2h_net_margin': 15, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 10, 'opponent_runs': 4, 'margin_for_predicted_team': 6, 'winner': 'LAD'}, {'date': '2026-09-18', 'predicted_team_runs': 8, 'opponent_runs': 2, 'margin_for_predicted_team': 6, 'winner': 'LAD'}, {'date': '2026-05-14', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'LAD'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'SF', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 6, 'raw_pick_probability': 0.565131, 'artifact': '20260919_SF@LAD.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'SF', 'home': 'LAD', 'game_number': 1, 'predicted_team': 'LAD', 'actual_winner': 'LAD', 'actual_margin': 6, 'raw_pick_probability': 0.538282, 'artifact': '20260918_SF@LAD.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'LAD', 'guardrail_opponent_team': 'SF', 'output_pre_simulation_winner': 'LAD', 'output_opponent_team': 'SF', 'simulation_score_winner': 'LAD', 'final_score_winner': 'LAD', 'pre_simulation_winner': 'LAD', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0144, 'recent_form_edge_home_minus_away': 1.09, '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': 8, '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': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 8}, 'simulation_score': {'away_runs': 4, 'home_runs': 8}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6478, 'winner': 'LAD', 'score_reviewed': {'away_runs': 4, 'home_runs': 8, '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_SF@LAD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SF@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': 15.0, 'absolute_net_margin': 15.0, 'home_average_margin': 3.0, 'home_run_delta': 0.0865, 'away_run_delta': -0.0865, 'evidence': [{'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': -4.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 7, 'away_runs': 5, 'probability': 0.014535656806175856}, {'home_runs': 7, 'away_runs': 4, 'probability': 0.014394328384955067}, {'home_runs': 8, 'away_runs': 5, 'probability': 0.014117935074587}, {'home_runs': 8, 'away_runs': 4, 'probability': 0.013980668110899385}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.013968921638979928}], 'home_distribution': {'0': 0.0191063671595936, '1': 0.030065017165592338, '2': 0.04415801407102794, '3': 0.06053720299225754, '4': 0.07746399833684921, '5': 0.09252140263937671, '6': 0.10314525339609072, '7': 0.10732997458929863, '8': 0.10424555512104448, '9': 0.0945058748075074, '10': 0.07996957854324442, '11': 0.06316195272002291, '12': 0.04656408031654867, '13': 0.03204138287144775, '14': 0.020579566094770258, '15': 0.012337464509956961, '16': 0.006903675337909506, '17': 0.0036057826350034965, '18': 0.001757856692457748}, 'away_distribution': {'0': 0.04458070071066573, '1': 0.06885418364302763, '2': 0.09562660324651748, '3': 0.11942412781338536, '4': 0.13411284629513234, '5': 0.13542961192152503, '6': 0.1229764185869717, '7': 0.10041416954635035, '8': 0.07372811211522895, '9': 0.04867838697727325, '10': 0.028900422847131887, '11': 0.015428978291316328, '12': 0.0074068763002720596, '13': 0.0031974073444907465, '14': 0.0012411543607111096}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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': 2.0613, 'recent_quality_edge': 0.88, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.6478} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 LAD', 'winner': 'LAD'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'SF 4 - 8 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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0144, 'recent_form_edge_home_minus_away': 1.09, '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': 8, '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': 1.0, 'draw_majority_team': 'LAD', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 4, 'simulation_margin': 4, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 8}, 'simulation_score': {'away_runs': 4, 'home_runs': 8}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 4, 'final_margin': 4, 'winner_quality_edge': 1.6478, 'winner': 'LAD', 'score_reviewed': {'away_runs': 4, 'home_runs': 8, '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: 151. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 146. | |||||
| 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: 146. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_PITCHER_MATCH | SF pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_TOTAL_MATCH | SF pitch_count_summary total, row sum, and pitching total all match: 151. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | LAD | PITCHING_REALISM | current:LAD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAD | STARTER_PRESENT | current:LAD includes a starter/opener role. | |||
| PASS | pitching | current | SF | PITCHING_REALISM | current:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SF | STARTER_PRESENT | current:SF includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | SF | PITCHING_REALISM | simulation:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SF | STARTER_PRESENT | simulation:SF includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF 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 | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SF 4 - 8 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SF 4 - 8 LAD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: LAD wins 8-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.580. | |||||
| 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: 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 8-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: LAD wins 4-8. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-8. | |||||
| 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-8, final 4-8 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 12. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: LAD wins 8-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 | SF | RECENT_FORM_RANGE | SF recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SF | TEAM_RECENT_RECORD | SF wins and win_pct agree: 2/10 = 0.200. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | 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 | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=7; 2B: current=1, sim=2; RBI: current=4, sim=8; R: current=5, sim=8; BB: current=3, sim=5; SO: current=7, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAD | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Teoscar Hernández: 2B current=0 box=1, BB current=1 box=0; Tommy Edman: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Mookie Betts: AB current=4 box=3, RBI current=1 box=5, BB current=0 box=1; Josue De Paula: AB current=3 box=2, BB current=1 box=2; Enrique Hernández: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Miguel Rojas: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1; Max Muncy: RBI current=1 box=0, BB current=1 box=0; Freddie Freeman: H current=1 box=0, R 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 | SF | CURRENT_FINALIZED_MATCH_BOX | SF model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=30, sim=36; H: current=7, sim=10; 3B: current=0, sim=3; BB: current=3, sim=2; SO: current=10, sim=6; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Jonah Cox: AB current=4 box=5, BB current=1 box=0; Victor Bericoto: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Brett Harris: AB current=3 box=4, H current=0 box=2; Shay Whitcomb: AB current=3 box=4, HR current=0 box=1, R current=0 box=1, SO current=1 box=0; Jung Hoo Lee: AB current=4 box=3, H current=1 box=2, 3B current=0 box=1, RBI current=1 box=2; Andrew Knizner: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=0; Scott Bandura: AB current=3 box=4; Grant McCray: H current=0 box=2, 3B current=0 box=2, R current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 2.5733083873046563 | 5.991158277323872 | Base ML historical model prediction | |
| variance_applied | 3 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 7 | 0.580 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4 | 8 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 8 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 8 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 8 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SF | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 4 | 10 |
| LAD | 0 | 3 | 2 | 0 | 0 | 3 | 0 | 0 | 0 | 8 | 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 | SF | batting | 30 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 10 | 0 | 0 | 0 | 0 | |||||
| current | SF | pitching | 7 | 1 | 8 | 5 | 8 | 8.0 | 7 | 0 | 0 | |||||||||
| current | LAD | batting | 32 | 8 | 1 | 0 | 1 | 4 | 5 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | LAD | pitching | 10 | 1 | 4 | 2 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | SF | batting | 36 | 10 | 1 | 3 | 1 | 4 | 4 | 2 | 6 | 1 | 0 | |||||||
| simulation | SF | pitching | 7 | 1 | 8 | 5 | 8 | 8.0 | 8 | 36 | 151 | |||||||||
| simulation | LAD | batting | 31 | 7 | 2 | 0 | 1 | 8 | 8 | 5 | 8 | 0 | 0 | |||||||
| simulation | LAD | pitching | 10 | 1 | 4 | 2 | 6 | 9.0 | 4 | 39 | 146 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SF | 2B | Jonah Cox | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 | |
| current | SF | DH | Victor Bericoto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SF | 1B | Brett Harris | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SF | 3B | Shay Whitcomb | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | SF | RF | Jung Hoo Lee | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SF | C | Andrew Knizner | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | SF | LF | Scott Bandura | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | CF | Grant McCray | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | SF | SS | Christian Koss | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAD | RF | Teoscar Hernández | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAD | CF | Tommy Edman | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAD | SS | Mookie Betts | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | LAD | DH | Josue De Paula | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | LAD | LF | Enrique Hernández | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAD | 2B | Miguel Rojas | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | LAD | 3B | Max Muncy | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAD | 1B | Freddie Freeman | 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 | |
| simulation | SF | 1 | 2B | Jonah Cox | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.200 |
| simulation | SF | 2 | RF | Jung Hoo Lee | 5 | 3 | 2 | 1 | 1 | 0 | 1 | 2 | 1 | 0 | 0 | 0.667 |
| simulation | SF | 3 | DH | Victor Bericoto | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | SF | 4 | C | Andrew Knizner | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SF | 5 | 1B | Brett Harris | 4 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | SF | 6 | LF | Scott Bandura | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | SF | 7 | 3B | Shay Whitcomb | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | SF | 8 | CF | Grant McCray | 4 | 3 | 2 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | SF | 9 | SS | Christian Koss | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | LAD | 1 | SS | Mookie Betts | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 5 | 1 | 0 | 0 | 0.333 |
| simulation | LAD | 2 | CF | Tommy Edman | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | LAD | 3 | RF | Teoscar Hernández | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | LAD | 4 | 1B | Freddie Freeman | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | LAD | 5 | 2B | Miguel Rojas | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | LAD | 6 | 3B | Max Muncy | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | LAD | 7 | DH | Josue De Paula | 4 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0.500 |
| simulation | LAD | 8 | LF | Enrique Hernández | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | LAD | 9 | C | Hunter Feduccia | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 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 | SF | 1 | Matt Wilkinson | Starter | 4.1 | 4 | 5 | 4 | 4 | 5 | 0 | 0 | 0 | 8.31 | 4.58 | 1.12 |
| current | SF | 3 | Dylan Smith | Closer | 1.1 | 3 | 3 | 3 | 0 | 1 | 1 | 0 | 0 | 20.25 | 3.50 | 1.47 |
| current | SF | 4 | Trent Harris | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.33 | 1.09 |
| current | SF | 5 | Carson Seymour | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.88 | 1.63 |
| current | LAD | 1 | Jack Dreyer | Starter | 5.0 | 5 | 2 | 2 | 2 | 4 | 1 | 0 | 0 | 3.60 | 3.19 | 1.13 |
| current | LAD | 2 | Brock Stewart | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.28 | 0.97 |
| current | LAD | 3 | Tanner Scott | Closer | 1.2 | 3 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 10.80 | 2.82 | 1.01 |
| current | LAD | 4 | Alex Vesia | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.78 | 1.11 |
| simulation | SF | 1 | Matt Wilkinson | Starter | 4.1 | 4 | 5 | 5 | 4 | 5 | 0 | 21 | 91 | 10.38 | 4.58 | 1.12 |
| simulation | SF | 2 | Dylan Smith | Closer | 1.1 | 3 | 3 | 3 | 0 | 1 | 1 | 7 | 26 | 20.25 | 3.50 | 1.47 |
| simulation | SF | 3 | Trent Harris | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.33 | 1.09 |
| simulation | SF | 4 | Carson Seymour | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 5 | 21 | 0.00 | 4.88 | 1.63 |
| simulation | LAD | 1 | Jack Dreyer | Starter | 5.0 | 5 | 2 | 2 | 2 | 4 | 1 | 22 | 86 | 3.60 | 3.19 | 1.13 |
| simulation | LAD | 2 | Tanner Scott | Closer | 1.2 | 3 | 2 | 2 | 0 | 0 | 0 | 8 | 24 | 10.80 | 2.82 | 1.01 |
| simulation | LAD | 3 | Brock Stewart | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 2.28 | 0.97 |
| simulation | LAD | 4 | Alex Vesia | Middle Reliever (High Leverage) | 1.1 | 1 | 0 | 0 | 0 | 2 | 0 | 5 | 20 | 0.00 | 2.78 | 1.11 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| SF | Matt Wilkinson | Starter | 4.1 | 5 | 4 | 4 | 5 | 21 | 91 |
| SF | Dylan Smith | Closer | 1.1 | 3 | 3 | 0 | 1 | 7 | 26 |
| SF | Trent Harris | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| SF | Carson Seymour | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 1 | 1 | 5 | 21 |
| LAD | Jack Dreyer | Starter | 5.0 | 2 | 5 | 2 | 4 | 22 | 86 |
| LAD | Brock Stewart | Setup Man | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| LAD | Tanner Scott | Closer | 1.2 | 2 | 3 | 0 | 0 | 8 | 24 |
| LAD | Alex Vesia | Middle Reliever (High Leverage) | 1.1 | 0 | 1 | 0 | 2 | 5 | 20 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 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. |
20260920_TOR@TEX
20260920_TOR@TEX.json • 2026-09-20
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 | 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_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=32, sim=28; H: current=7, sim=4; 3B: current=0, sim=1; 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 | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Corey Seager: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Josh Jung: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Ezequiel Duran: AB current=4 box=3, 3B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Brandon Nimmo: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Wyatt Langford: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Jake Burger: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Nicky Lopez: H current=1 box=0, SO current=0 box=2; Danny Jansen: AB current=3 box=2, H current=0 box=1, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model pitcher projections differ from final simulation pitching box score (H: current=3, sim=4; BB: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (H: current=7, sim=4; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=4, sim=2; R: current=4, sim=2; SO: current=9, 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 | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Nathan Lukes: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2; Sean Keys: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kazuma Okamoto: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Josh Smith: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Vladimir Guerrero Jr.: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brett Bateman: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Andrés Giménez: RBI current=1 box=0, SO current=1 box=0; Ernie Clement: 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 | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match TOR pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match TOR pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match TOR pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match TOR pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=31 matches TOR BF=31. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match TEX pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match TEX pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=33 matches TEX BF=33. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 2. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.610 -> 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.609947, 'sample_size': 490, 'empirical_hit_rate': 0.5469, 'empirical_weight': 0.5, 'blended_confidence': 0.578423, 'published_confidence': 0.550465, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | 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 | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.450. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.550. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.550. | |||||
| 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.727/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 4, TEX 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 2 - TEX 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TEX. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TEX; cap=0.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'TEX', 'opponent_team': 'TOR', 'h2h_net_margin': 11, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 2, 'margin_for_predicted_team': 4, 'winner': 'TEX'}, {'date': '2026-09-18', 'predicted_team_runs': 7, 'opponent_runs': 1, 'margin_for_predicted_team': 6, 'winner': 'TEX'}, {'date': '2026-06-28', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'TEX'}], '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': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'TOR', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 4, 'raw_pick_probability': 0.611002, 'artifact': '20260919_TOR@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'TOR', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 6, 'raw_pick_probability': 0.505, 'artifact': '20260918_TOR@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'TEX', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TEX', 'actual_margin': 3, 'raw_pick_probability': 0.523856, 'artifact': '20260627_TEX@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260626', 'away': 'TEX', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260626_TEX@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260625', 'away': 'TEX', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260625_TEX@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TEX', 'guardrail_opponent_team': 'TOR', 'output_pre_simulation_winner': 'TEX', 'output_opponent_team': 'TOR', 'simulation_score_winner': 'TEX', 'final_score_winner': 'TEX', 'pre_simulation_winner': 'TEX', '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': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1146, 'recent_form_edge_home_minus_away': 0.802, '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': 'TEX', 'model_winner': 'TEX', 'simulation_winner': 'TEX', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TEX', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TEX', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.2463, 'winner': 'TEX', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_TOR@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@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': 5, 'sample_weight': 0.0577, 'home_net_margin': 15.0, 'absolute_net_margin': 15.0, 'home_average_margin': 3.0, 'home_run_delta': 0.0865, 'away_run_delta': -0.0865, 'evidence': [{'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 1.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': 3, 'probability': 0.026030984953697718}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.024873256737901944}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.02426767084714297}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.02400848911332598}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.023807877862594393}], 'home_distribution': {'0': 0.05888698273870956, '1': 0.09003853280338624, '2': 0.12132597693348954, '3': 0.14407726808538834, '4': 0.15078335889910363, '5': 0.13906813887522987, '6': 0.1130363569385754, '7': 0.08097014969328381, '8': 0.051114958521881866, '9': 0.028437234791959174, '10': 0.013942575191417129, '11': 0.0060244153626682955, '12': 0.002294051164907318}, 'away_distribution': {'0': 0.08187101601101117, '1': 0.12313029967213075, '2': 0.1578945981600356, '3': 0.17263831462407134, '4': 0.16094395976005302, '5': 0.12793216698201312, '6': 0.08670665050823176, '7': 0.05010633555633207, '8': 0.024688826898082987, '9': 0.010372318553319613, '10': 0.0037155132747185167}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.1355, 'recent_quality_edge': 0.452, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.2463} | ||||
| 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': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1146, 'recent_form_edge_home_minus_away': 0.802, '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': 'TEX', 'model_winner': 'TEX', 'simulation_winner': 'TEX', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TEX', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TEX', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.2463, 'winner': 'TEX', '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: 139. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 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: 143. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 139. | |||
| 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 | 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 | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 2 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 2 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TEX wins 4-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TEX, simulation=TEX, published=TEX. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.550. | |||||
| 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): TEX wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TEX 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: TEX wins 4-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match TOR pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match TOR pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match TOR pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match TOR pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=31 matches TOR BF=31. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match TEX pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match TEX pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=33 matches TEX BF=33. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 2. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.610 -> 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.609947, 'sample_size': 490, 'empirical_hit_rate': 0.5469, 'empirical_weight': 0.5, 'blended_confidence': 0.578423, 'published_confidence': 0.550465, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | 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 | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.450. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.550. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.550. | |||||
| 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.727/0.900. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 4, TEX 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 2 - TEX 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TEX. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TEX; cap=0.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'TEX', 'opponent_team': 'TOR', 'h2h_net_margin': 11, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 6, 'opponent_runs': 2, 'margin_for_predicted_team': 4, 'winner': 'TEX'}, {'date': '2026-09-18', 'predicted_team_runs': 7, 'opponent_runs': 1, 'margin_for_predicted_team': 6, 'winner': 'TEX'}, {'date': '2026-06-28', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'TEX'}], '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': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260919', 'away': 'TOR', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 4, 'raw_pick_probability': 0.611002, 'artifact': '20260919_TOR@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'TOR', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 6, 'raw_pick_probability': 0.505, 'artifact': '20260918_TOR@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260627', 'away': 'TEX', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TEX', 'actual_margin': 3, 'raw_pick_probability': 0.523856, 'artifact': '20260627_TEX@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260626', 'away': 'TEX', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260626_TEX@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260625', 'away': 'TEX', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 1, 'raw_pick_probability': 0.525, 'artifact': '20260625_TEX@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TEX', 'guardrail_opponent_team': 'TOR', 'output_pre_simulation_winner': 'TEX', 'output_opponent_team': 'TOR', 'simulation_score_winner': 'TEX', 'final_score_winner': 'TEX', 'pre_simulation_winner': 'TEX', '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': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1146, 'recent_form_edge_home_minus_away': 0.802, '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': 'TEX', 'model_winner': 'TEX', 'simulation_winner': 'TEX', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TEX', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TEX', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.2463, 'winner': 'TEX', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_TOR@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@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': 5, 'sample_weight': 0.0577, 'home_net_margin': 15.0, 'absolute_net_margin': 15.0, 'home_average_margin': 3.0, 'home_run_delta': 0.0865, 'away_run_delta': -0.0865, 'evidence': [{'game_id': None, 'home_margin': 4.0}, {'game_id': None, 'home_margin': 6.0}, {'game_id': None, 'home_margin': 1.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': 3, 'probability': 0.026030984953697718}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.024873256737901944}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.02426767084714297}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.02400848911332598}, {'home_runs': 4, 'away_runs': 2, 'probability': 0.023807877862594393}], 'home_distribution': {'0': 0.05888698273870956, '1': 0.09003853280338624, '2': 0.12132597693348954, '3': 0.14407726808538834, '4': 0.15078335889910363, '5': 0.13906813887522987, '6': 0.1130363569385754, '7': 0.08097014969328381, '8': 0.051114958521881866, '9': 0.028437234791959174, '10': 0.013942575191417129, '11': 0.0060244153626682955, '12': 0.002294051164907318}, 'away_distribution': {'0': 0.08187101601101117, '1': 0.12313029967213075, '2': 0.1578945981600356, '3': 0.17263831462407134, '4': 0.16094395976005302, '5': 0.12793216698201312, '6': 0.08670665050823176, '7': 0.05010633555633207, '8': 0.024688826898082987, '9': 0.010372318553319613, '10': 0.0037155132747185167}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.1355, 'recent_quality_edge': 0.452, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.2463} | ||||
| 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': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'final_simulation_score': {'away_runs': 2, 'home_runs': 4, 'score_text': 'TOR 2 - 4 TEX', 'winner': 'TEX'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.1146, 'recent_form_edge_home_minus_away': 0.802, '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': 'TEX', 'model_winner': 'TEX', 'simulation_winner': 'TEX', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'TEX', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'TEX', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': True, 'margin_widening_capped': False, 'model_margin': 2, 'simulation_margin': 2, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 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.2463, 'winner': 'TEX', '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: 139. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 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: 143. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 139. | |||
| 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 | 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 | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 2 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 2 - 4 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TEX wins 4-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TEX, simulation=TEX, published=TEX. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.550. | |||||
| 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): TEX wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TEX 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: TEX wins 4-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | 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_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=32, sim=28; H: current=7, sim=4; 3B: current=0, sim=1; 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 | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Corey Seager: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Josh Jung: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Ezequiel Duran: AB current=4 box=3, 3B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Brandon Nimmo: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Wyatt Langford: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Jake Burger: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Nicky Lopez: H current=1 box=0, SO current=0 box=2; Danny Jansen: AB current=3 box=2, H current=0 box=1, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model pitcher projections differ from final simulation pitching box score (H: current=3, sim=4; BB: current=2, sim=3). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (H: current=7, sim=4; 2B: current=1, sim=0; HR: current=1, sim=2; RBI: current=4, sim=2; R: current=4, sim=2; SO: current=9, 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 | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Nathan Lukes: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2; Sean Keys: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kazuma Okamoto: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Josh Smith: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Vladimir Guerrero Jr.: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brett Bateman: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Andrés Giménez: RBI current=1 box=0, SO current=1 box=0; Ernie Clement: 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.629328652476163 | 4.104117469092586 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 3 | 4 | 0.550 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 4 |
| TEX | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 4 | 4 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | batting | 31 | 7 | 1 | 0 | 1 | 4 | 4 | 2 | 9 | 0 | 0 | 0 | 0 | |||||
| current | TOR | pitching | 3 | 1 | 4 | 2 | 6 | 8.0 | 4 | 0 | 0 | |||||||||
| current | TEX | batting | 32 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | TEX | pitching | 4 | 2 | 2 | 2 | 10 | 9.0 | 2 | 0 | 0 | |||||||||
| simulation | TOR | batting | 31 | 4 | 0 | 0 | 2 | 2 | 2 | 2 | 10 | 0 | 0 | |||||||
| simulation | TOR | pitching | 4 | 1 | 4 | 3 | 6 | 8.0 | 4 | 31 | 139 | |||||||||
| simulation | TEX | batting | 28 | 4 | 1 | 1 | 1 | 4 | 4 | 3 | 6 | 0 | 0 | |||||||
| simulation | TEX | pitching | 4 | 2 | 2 | 2 | 10 | 9.0 | 2 | 33 | 143 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | RF | Nathan Lukes | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TOR | DH | Sean Keys | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TOR | 3B | Kazuma Okamoto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TOR | LF | Josh Smith | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TOR | 1B | Vladimir Guerrero Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TOR | CF | Brett Bateman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | TOR | SS | Andrés Giménez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TOR | 2B | Ernie Clement | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TOR | C | Brandon Valenzuela | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TEX | DH | Corey Seager | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TEX | 3B | Josh Jung | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | SS | Ezequiel Duran | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | RF | Brandon Nimmo | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | LF | Wyatt Langford | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | TEX | 1B | Jake Burger | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TEX | 2B | Nicky Lopez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | TEX | C | Danny Jansen | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TEX | CF | Evan Carter | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| simulation | TOR | 1 | CF | Brett Bateman | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TOR | 2 | 1B | Vladimir Guerrero Jr. | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TOR | 3 | RF | Nathan Lukes | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | TOR | 4 | 3B | Kazuma Okamoto | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TOR | 5 | DH | Sean Keys | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TOR | 6 | LF | Josh Smith | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 3 | 0 | 0.250 |
| simulation | TOR | 7 | SS | Andrés Giménez | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | TOR | 8 | C | Brandon Valenzuela | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TOR | 9 | 2B | Ernie Clement | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TEX | 1 | LF | Wyatt Langford | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TEX | 2 | DH | Corey Seager | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TEX | 3 | 3B | Josh Jung | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TEX | 4 | SS | Ezequiel Duran | 4 | 3 | 1 | 0 | 1 | 0 | 1 | 2 | 1 | 0 | 0 | 0.333 |
| simulation | TEX | 5 | RF | Brandon Nimmo | 3 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.333 |
| simulation | TEX | 6 | 1B | Jake Burger | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TEX | 7 | 2B | Nicky Lopez | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | TEX | 8 | C | Danny Jansen | 3 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.500 |
| simulation | TEX | 9 | CF | Evan Carter | 3 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 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 | TOR | 1 | Spencer Miles | Starter | 6.0 | 2 | 3 | 3 | 1 | 3 | 1 | 0 | 0 | 4.50 | 2.65 | 1.09 |
| current | TOR | 2 | Louis Varland | Closer | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 1.30 | 1.00 |
| current | TOR | 3 | Tyler Rogers | Setup Man | 1.0 | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 9.00 | 1.70 | 1.15 |
| current | TEX | 1 | Jacob deGrom | Starter | 5.2 | 4 | 2 | 2 | 2 | 7 | 2 | 0 | 0 | 3.18 | 3.79 | 1.07 |
| current | TEX | 2 | Jacob Latz | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.69 | 0.75 |
| current | TEX | 3 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.12 | 1.44 |
| current | TEX | 4 | Jakob Junis | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.96 | 1.16 |
| simulation | TOR | 1 | Spencer Miles | Starter | 6.0 | 2 | 2 | 2 | 1 | 3 | 1 | 21 | 98 | 3.00 | 2.65 | 1.09 |
| simulation | TOR | 2 | Louis Varland | Closer | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 18 | 0.00 | 1.30 | 1.00 |
| simulation | TOR | 3 | Tyler Rogers | Setup Man | 1.0 | 2 | 2 | 2 | 1 | 2 | 0 | 6 | 23 | 18.00 | 1.70 | 1.15 |
| simulation | TEX | 1 | Jacob deGrom | Starter | 5.2 | 4 | 2 | 2 | 2 | 7 | 2 | 23 | 100 | 3.18 | 3.79 | 1.07 |
| simulation | TEX | 2 | Jacob Latz | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 1.69 | 0.75 |
| simulation | TEX | 3 | Jakob Junis | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.96 | 1.16 |
| simulation | TEX | 4 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.12 | 1.44 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Spencer Miles | Starter | 6.0 | 2 | 2 | 1 | 3 | 21 | 98 |
| TOR | Louis Varland | Closer | 1.0 | 0 | 0 | 1 | 1 | 4 | 18 |
| TOR | Tyler Rogers | Setup Man | 1.0 | 2 | 2 | 1 | 2 | 6 | 23 |
| TEX | Jacob deGrom | Starter | 5.2 | 2 | 4 | 2 | 7 | 23 | 100 |
| TEX | Jacob Latz | Closer | 1.1 | 0 | 0 | 0 | 1 | 4 | 17 |
| TEX | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| TEX | Jakob Junis | 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 | 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. |
20260920_WAS@STL
20260920_WAS@STL.json • 2026-09-20
Final simulation is structurally valid with warnings to review. Risk score: 20.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Innings Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Inning 9 home has outs=0; expected 3 for a played half inning. |
| WARN | Pitch count summary differs by pitcher Pitch-count rows disagree with individual pitching box-score rows. Recalculate pitch_count_summary from the same final pitcher ledger used by box_score.pitching. | 0C / 0E / 1W | WAS | WAS pitch_count row for Jake Irvin differs from pitching box score: batters_faced/BF: summary=20, box=17. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | innings | INNING_OUTS | Inning 9 home has outs=0; expected 3 for a played half inning. | |||||
| WARN | pitch_count | simulation | WAS | Jake Irvin | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count row for Jake Irvin differs from pitching box score: batters_faced/BF: summary=20, box=17. |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | innings | INNING_OUTS | Inning 9 home has outs=0; expected 3 for a played half inning. | |||||
| WARN | pitch_count | simulation | WAS | Jake Irvin | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count row for Jake Irvin differs from pitching box score: batters_faced/BF: summary=20, box=17. | ||
| 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_payload | current | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=7; 2B: current=2, sim=1; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=7, 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 | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Leonardo Bernal: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Thomas Saggese: AB current=4 box=3, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Bryan Torres: AB current=3 box=4, H current=0 box=2, 3B current=0 box=1, HR current=0 box=1; Iván Herrera: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Alec Burleson: BB current=1 box=0, SO current=1 box=0; José Fermín: RBI current=1 box=0; Jordan Walker: 2B 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 | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS 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=3; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=4; SO: current=8, 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 | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: James Wood: AB current=4 box=2, RBI current=1 box=4, BB current=1 box=2, SO current=1 box=0; CJ Abrams: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Brady House: H current=1 box=0, SO current=1 box=3; Dylan Crews: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Andrés Chaparro: 2B current=1 box=0, HR current=0 box=1, R current=0 box=1, BB current=1 box=0; Daylen Lile: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Nasim Nuñez: AB current=3 box=4, SO current=1 box=2; Harry Ford: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | WAS | BATTING_TOTALS_SUM | current:WAS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match WAS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match WAS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match WAS pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match WAS pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=34 matches WAS BF=34. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match STL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match STL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match STL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match STL pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=36 matches STL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.569 -> 0.558 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.568913, 'sample_size': 490, 'empirical_hit_rate': 0.5469, 'empirical_weight': 0.5, 'blended_confidence': 0.557906, 'published_confidence': 0.512495, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | 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 | current_payload | current | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.488. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.551/0.749. | |||||
| 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: WAS 5, STL 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 6 - STL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: WAS. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for WAS; cap=0.58, reasons=predicted side recently lost this matchup by 5+ runs. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs'], 'signals': {'predicted_team': 'WAS', 'opponent_team': 'STL', 'h2h_net_margin': 6, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 8, 'opponent_runs': 5, 'margin_for_predicted_team': 3, 'winner': 'WAS'}, {'date': '2026-09-18', 'predicted_team_runs': 9, 'opponent_runs': 1, 'margin_for_predicted_team': 8, 'winner': 'WAS'}, {'date': '2026-04-08', 'predicted_team_runs': 1, 'opponent_runs': 6, 'margin_for_predicted_team': -5, 'winner': 'STL'}], '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': '20260919', 'away': 'WAS', 'home': 'STL', 'game_number': 1, 'predicted_team': 'WAS', 'actual_winner': 'WAS', 'actual_margin': 3, 'raw_pick_probability': 0.543104, 'artifact': '20260919_WAS@STL.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'WAS', 'home': 'STL', 'game_number': 1, 'predicted_team': 'STL', 'actual_winner': 'WAS', 'actual_margin': 8, 'raw_pick_probability': 0.509375, 'artifact': '20260918_WAS@STL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'WAS', 'guardrail_opponent_team': 'STL', 'output_pre_simulation_winner': 'WAS', 'output_opponent_team': 'STL', 'simulation_score_winner': 'WAS', 'final_score_winner': 'WAS', 'pre_simulation_winner': 'WAS', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0292, 'recent_form_edge_home_minus_away': -0.646, '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': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'WAS', 'published_winner_draw_share': 0.1667, 'draw_majority_team': 'STL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3526, 'winner': 'WAS', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_WAS@STL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@STL. | |||||
| 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': -3.0}, {'game_id': None, 'home_margin': -8.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.019248300246212525}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.01896189298207488}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01869097842927214}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.018412863898248193}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.017670104057603428}], 'home_distribution': {'0': 0.05085525440426786, '1': 0.07820418334675061, '2': 0.10720388241024047, '3': 0.13100184633739465, '4': 0.1427022083678869, '5': 0.13857036020302646, '6': 0.11994892833819616, '7': 0.0925568941539645, '8': 0.06366599754981914, '9': 0.03903846186387735, '10': 0.02133851645138781, '11': 0.010397337001242159, '12': 0.004516129571945953}, 'away_distribution': {'0': 0.04376193383086692, '1': 0.06762883185467006, '2': 0.09408840251743769, '3': 0.11784444949794251, '4': 0.13287736187789778, '5': 0.13488438943138373, '6': 0.12326540636594358, '7': 0.10141204985630226, '8': 0.07511155254124603, '9': 0.05008327781816158, '10': 0.030064056460801295, '11': 0.01624692741778418, '12': 0.007904305736751983, '13': 0.003461983936671375, '14': 0.0013650708561391619}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.2323, 'recent_quality_edge': -0.576, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.3526} | ||||
| 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': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0292, 'recent_form_edge_home_minus_away': -0.646, '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': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'WAS', 'published_winner_draw_share': 0.1667, 'draw_majority_team': 'STL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3526, 'winner': 'WAS', '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: 137. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 175. | |||||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_PITCHER_MATCH | STL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_TOTAL_MATCH | STL pitch_count_summary total, row sum, and pitching total all match: 175. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 137. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| 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 | current | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 6 - 5 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 6 - 5 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: WAS wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=WAS, simulation=WAS, published=WAS. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.512. | |||||
| 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: 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): WAS wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: WAS 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: WAS wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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: 6/10 = 0.600. | |||
| PASS | team_recent_performance | current | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 6/10 = 0.600. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | WAS | BATTING_TOTALS_SUM | current:WAS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match WAS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match WAS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match WAS pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match WAS pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=34 matches WAS BF=34. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match STL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match STL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match STL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match STL pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=36 matches STL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.569 -> 0.558 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.568913, 'sample_size': 490, 'empirical_hit_rate': 0.5469, 'empirical_weight': 0.5, 'blended_confidence': 0.557906, 'published_confidence': 0.512495, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | 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 | current_payload | current | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.512. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.488. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 11 is reasonably close to low-score expected_total_runs 11.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.551/0.749. | |||||
| 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: WAS 5, STL 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 6 - STL 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: WAS. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for WAS; cap=0.58, reasons=predicted side recently lost this matchup by 5+ runs. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs'], 'signals': {'predicted_team': 'WAS', 'opponent_team': 'STL', 'h2h_net_margin': 6, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-19', 'predicted_team_runs': 8, 'opponent_runs': 5, 'margin_for_predicted_team': 3, 'winner': 'WAS'}, {'date': '2026-09-18', 'predicted_team_runs': 9, 'opponent_runs': 1, 'margin_for_predicted_team': 8, 'winner': 'WAS'}, {'date': '2026-04-08', 'predicted_team_runs': 1, 'opponent_runs': 6, 'margin_for_predicted_team': -5, 'winner': 'STL'}], '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': '20260919', 'away': 'WAS', 'home': 'STL', 'game_number': 1, 'predicted_team': 'WAS', 'actual_winner': 'WAS', 'actual_margin': 3, 'raw_pick_probability': 0.543104, 'artifact': '20260919_WAS@STL.json', 'verification': 'pregame_official_final'}, {'date': '20260918', 'away': 'WAS', 'home': 'STL', 'game_number': 1, 'predicted_team': 'STL', 'actual_winner': 'WAS', 'actual_margin': 8, 'raw_pick_probability': 0.509375, 'artifact': '20260918_WAS@STL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'WAS', 'guardrail_opponent_team': 'STL', 'output_pre_simulation_winner': 'WAS', 'output_opponent_team': 'STL', 'simulation_score_winner': 'WAS', 'final_score_winner': 'WAS', 'pre_simulation_winner': 'WAS', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0292, 'recent_form_edge_home_minus_away': -0.646, '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': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'WAS', 'published_winner_draw_share': 0.1667, 'draw_majority_team': 'STL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3526, 'winner': 'WAS', '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-20. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260920_WAS@STL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@STL. | |||||
| 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': -3.0}, {'game_id': None, 'home_margin': -8.0}, {'game_id': None, 'home_margin': 5.0}, {'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -3.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.019248300246212525}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.01896189298207488}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.01869097842927214}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.018412863898248193}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.017670104057603428}], 'home_distribution': {'0': 0.05085525440426786, '1': 0.07820418334675061, '2': 0.10720388241024047, '3': 0.13100184633739465, '4': 0.1427022083678869, '5': 0.13857036020302646, '6': 0.11994892833819616, '7': 0.0925568941539645, '8': 0.06366599754981914, '9': 0.03903846186387735, '10': 0.02133851645138781, '11': 0.010397337001242159, '12': 0.004516129571945953}, 'away_distribution': {'0': 0.04376193383086692, '1': 0.06762883185467006, '2': 0.09408840251743769, '3': 0.11784444949794251, '4': 0.13287736187789778, '5': 0.13488438943138373, '6': 0.12326540636594358, '7': 0.10141204985630226, '8': 0.07511155254124603, '9': 0.05008327781816158, '10': 0.030064056460801295, '11': 0.01624692741778418, '12': 0.007904305736751983, '13': 0.003461983936671375, '14': 0.0013650708561391619}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, '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.2323, 'recent_quality_edge': -0.576, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.3526} | ||||
| 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': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'WAS 6 - 5 STL', 'winner': 'WAS'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0292, 'recent_form_edge_home_minus_away': -0.646, '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': 'WAS', 'model_winner': 'WAS', 'simulation_winner': 'WAS', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'WAS', 'published_winner_draw_share': 0.1667, 'draw_majority_team': 'STL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 6, 'home_runs': 5}, 'simulation_score': {'away_runs': 6, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.3526, 'winner': 'WAS', '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: 137. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 175. | |||||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_PITCHER_MATCH | STL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_TOTAL_MATCH | STL pitch_count_summary total, row sum, and pitching total all match: 175. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 137. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| 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 | current | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 6 - 5 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 6 - 5 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: WAS wins 6-5. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=WAS, simulation=WAS, published=WAS. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.512. | |||||
| 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: 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): WAS wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: WAS 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: WAS wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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: 6/10 = 0.600. | |||
| PASS | team_recent_performance | current | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 6/10 = 0.600. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| 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_payload | current | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=7; 2B: current=2, sim=1; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=7, 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 | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Leonardo Bernal: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Thomas Saggese: AB current=4 box=3, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Bryan Torres: AB current=3 box=4, H current=0 box=2, 3B current=0 box=1, HR current=0 box=1; Iván Herrera: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Alec Burleson: BB current=1 box=0, SO current=1 box=0; José Fermín: RBI current=1 box=0; Jordan Walker: 2B 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 | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS 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=3; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=4; SO: current=8, 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 | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: James Wood: AB current=4 box=2, RBI current=1 box=4, BB current=1 box=2, SO current=1 box=0; CJ Abrams: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Brady House: H current=1 box=0, SO current=1 box=3; Dylan Crews: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Andrés Chaparro: 2B current=1 box=0, HR current=0 box=1, R current=0 box=1, BB current=1 box=0; Daylen Lile: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Nasim Nuñez: AB current=3 box=4, SO current=1 box=2; Harry Ford: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.334050897143371 | 5.076074385994112 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.512 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| WAS | 0 | 2 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 6 | 5 |
| STL | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 2 | 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 | WAS | batting | 33 | 8 | 2 | 0 | 1 | 4 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | WAS | pitching | 7 | 2 | 5 | 3 | 6 | 9.0 | 5 | 0 | 0 | |||||||||
| current | STL | batting | 33 | 8 | 2 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | STL | pitching | 5 | 3 | 6 | 4 | 14 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | WAS | batting | 32 | 5 | 0 | 0 | 3 | 6 | 6 | 4 | 14 | 0 | 0 | |||||||
| simulation | WAS | pitching | 7 | 2 | 5 | 3 | 6 | 8.0 | 5 | 34 | 137 | |||||||||
| simulation | STL | batting | 31 | 7 | 1 | 1 | 2 | 5 | 5 | 3 | 6 | 0 | 0 | |||||||
| simulation | STL | pitching | 5 | 3 | 6 | 4 | 14 | 9.0 | 6 | 36 | 175 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | DH | James Wood | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | WAS | 2B | CJ Abrams | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | WAS | 3B | Brady House | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | WAS | RF | Dylan Crews | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | WAS | 1B | Andrés Chaparro | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | WAS | LF | Daylen Lile | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | WAS | SS | Nasim Nuñez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | WAS | C | Harry Ford | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | WAS | CF | Jacob Young | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 | |
| current | STL | 2B | JJ Wetherholt | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | STL | C | Leonardo Bernal | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | SS | Thomas Saggese | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | STL | LF | Bryan Torres | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | STL | DH | Iván Herrera | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | STL | 1B | Alec Burleson | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | STL | 3B | José Fermín | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| current | STL | RF | Jordan Walker | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | CF | Nathan Church | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| simulation | WAS | 1 | DH | James Wood | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 4 | 2 | 0 | 0 | 0.500 |
| simulation | WAS | 2 | 1B | Andrés Chaparro | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | WAS | 3 | 3B | Brady House | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | WAS | 4 | 2B | CJ Abrams | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | WAS | 5 | RF | Dylan Crews | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | WAS | 6 | LF | Daylen Lile | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | WAS | 7 | C | Harry Ford | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | WAS | 8 | CF | Jacob Young | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | WAS | 9 | SS | Nasim Nuñez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | STL | 1 | 2B | JJ Wetherholt | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | STL | 2 | DH | Iván Herrera | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | STL | 3 | 1B | Alec Burleson | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | STL | 4 | RF | Jordan Walker | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | STL | 5 | C | Leonardo Bernal | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | STL | 6 | SS | Thomas Saggese | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | STL | 7 | LF | Bryan Torres | 4 | 4 | 2 | 0 | 1 | 1 | 1 | 3 | 0 | 1 | 0 | 0.500 |
| simulation | STL | 8 | 3B | José Fermín | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | STL | 9 | CF | Nathan Church | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | 1 | Jake Irvin | Starter | 5.0 | 3 | 2 | 2 | 2 | 6 | 1 | 0 | 0 | 3.60 | 5.51 | 1.41 |
| current | WAS | 2 | Brad Lord | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.94 | 1.24 |
| current | WAS | 3 | Erik Tolman | Closer | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.09 | 1.37 |
| current | WAS | 4 | Luis Perales | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 9.00 | 9.00 | 2.33 |
| current | WAS | 5 | Jared Simpson | Middle Reliever (High Leverage) | 0.2 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 27.00 | 4.15 | 1.15 |
| current | STL | 1 | Quinn Mathews | Starter | 5.2 | 4 | 4 | 4 | 3 | 9 | 2 | 0 | 0 | 6.35 | 3.62 | 1.39 |
| current | STL | 2 | Riley O'Brien | Closer | 1.0 | 1 | 2 | 2 | 0 | 1 | 1 | 0 | 0 | 18.00 | 4.14 | 1.30 |
| current | STL | 3 | Ryne Stanek | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 4.01 | 1.32 |
| current | STL | 4 | George Soriano | Setup Man | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.29 | 1.40 |
| current | STL | 5 | Justin Bruihl | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.60 | 1.32 |
| simulation | WAS | 1 | Jake Irvin | Starter | 5.0 | 3 | 2 | 2 | 2 | 6 | 1 | 17 | 80 | 3.60 | 5.51 | 1.41 |
| simulation | WAS | 2 | Erik Tolman | Closer | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 3.09 | 1.37 |
| simulation | WAS | 3 | Brad Lord | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 3.94 | 1.24 |
| simulation | WAS | 4 | Luis Perales | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 1 | 0 | 0 | 5 | 10 | 27.00 | 9.00 | 2.33 |
| simulation | WAS | 5 | Jared Simpson | Middle Reliever (High Leverage) | 0.1 | 2 | 2 | 2 | 0 | 0 | 1 | 4 | 14 | 54.00 | 4.15 | 1.15 |
| simulation | STL | 1 | Quinn Mathews | Starter | 5.2 | 4 | 4 | 4 | 3 | 9 | 2 | 24 | 107 | 6.35 | 3.62 | 1.39 |
| simulation | STL | 2 | Riley O'Brien | Closer | 1.0 | 1 | 2 | 2 | 0 | 1 | 1 | 4 | 28 | 18.00 | 4.14 | 1.30 |
| simulation | STL | 3 | George Soriano | Setup Man | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 | 0.00 | 4.29 | 1.40 |
| simulation | STL | 4 | Ryne Stanek | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 24 | 0.00 | 4.01 | 1.32 |
| simulation | STL | 5 | Justin Bruihl | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 8 | 0.00 | 3.60 | 1.32 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| WAS | Jake Irvin | Starter | 5.0 | 2 | 3 | 2 | 6 | 20 | 80 |
| WAS | Brad Lord | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| WAS | Erik Tolman | Closer | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| WAS | Luis Perales | Middle Reliever (High Leverage) | 0.1 | 1 | 1 | 1 | 0 | 5 | 10 |
| WAS | Jared Simpson | Middle Reliever (High Leverage) | 0.1 | 2 | 2 | 0 | 0 | 4 | 14 |
| STL | Quinn Mathews | Starter | 5.2 | 4 | 4 | 3 | 9 | 24 | 107 |
| STL | Riley O'Brien | Closer | 1.0 | 2 | 1 | 0 | 1 | 4 | 28 |
| STL | Ryne Stanek | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 2 | 4 | 24 |
| STL | George Soriano | Setup Man | 0.2 | 0 | 0 | 0 | 0 | 2 | 8 |
| STL | Justin Bruihl | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 2 | 2 | 8 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | warning | 0 | 0 | 1 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | warning | 0 | 0 | 1 | 1 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |