20260910_COL@NYY
20260910_COL@NYY.json • 2026-09-10
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 | 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 | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=7, sim=8; 2B: current=2, sim=1; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=9, sim=11; 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 | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: H current=1 box=2, SO current=1 box=0, HBP current=0 box=1; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; TJ Rumfield: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Adael Amador: H current=1 box=2, HR current=0 box=1, RBI current=1 box=3, BB current=0 box=1; Jordan Beck: AB current=3 box=4; Jake McCarthy: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, HBP current=0 box=1; Connor Norby: AB current=4 box=5, 2B current=1 box=0, BB current=1 box=0, SO current=1 box=2; Kyle Karros: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=3 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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=10; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=4, sim=8; R: current=4, sim=8; BB: current=4, sim=0; 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 | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Jasson Domínguez: H current=1 box=2, HR current=0 box=1, RBI current=0 box=4, R current=0 box=1; Luis García Jr.: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Ben Rice: HR current=1 box=0, BB current=1 box=0; Cody Bellinger: H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; George Lombard Jr.: AB current=3 box=4, R current=0 box=1, SO current=1 box=2; Anthony Volpe: R current=0 box=1, BB current=1 box=0, SO current=1 box=2; Ryan McMahon: AB current=3 box=4, H current=1 box=2, HR current=0 box=2, RBI current=0 box=3; Spencer Jones: H current=1 box=0, RBI 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 | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY 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 | NYY | BATTING_TOTALS_SUM | current:NYY 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 | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match NYY pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match NYY pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match NYY pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match NYY pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=41 matches NYY BF=41. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match COL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match COL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match COL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=34 matches COL BF=34. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 8. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.856 -> 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.856144, 'sample_size': 199, 'empirical_hit_rate': 0.5477, 'empirical_weight': 0.5, 'blended_confidence': 0.701922, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY current pitcher projected totals match final simulation pitching box score. | |||
| PASS | 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 | 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.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.528/0.713. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: COL 8, NYY 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: COL 4 - NYY 8. | |||||
| 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.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': 'NYY', 'opponent_team': 'COL', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 6, 'opponent_runs': 1, 'margin_for_predicted_team': 5, 'winner': 'NYY'}, {'date': '2026-09-08', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'NYY'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260909', 'away': 'COL', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 5, 'raw_pick_probability': 0.783866, 'artifact': '20260909_COL@NYY.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'COL', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 2, 'raw_pick_probability': 0.644809, 'artifact': '20260908_COL@NYY.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYY', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'NYY', 'output_opponent_team': 'COL', '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': 4, 'home_runs': 8, 'score_text': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0924, 'recent_form_edge_home_minus_away': 1.254, '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': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, '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': 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.7195, 'winner': 'NYY', '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-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_COL@NYY. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: COL@NYY. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 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': 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': 8, 'away_runs': 5, 'probability': 0.014733644768376334}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.014631443001248273}, {'home_runs': 8, 'away_runs': 6, 'probability': 0.014485209416361566}, {'home_runs': 7, 'away_runs': 6, 'probability': 0.014384730952081657}, {'home_runs': 9, 'away_runs': 5, 'probability': 0.013760911365369284}], 'home_distribution': {'0': 0.01268682180978032, '1': 0.021636056130109552, '2': 0.03422294085629955, '3': 0.050207722546619656, '4': 0.06831839974522524, '5': 0.08622214367969465, '6': 0.10092852240891537, '7': 0.10957790228245243, '8': 0.11034331245084779, '9': 0.10305831084352236, '10': 0.08927584936849998, '11': 0.07172968596382598, '12': 0.05345370790407465, '13': 0.036946279446701764, '14': 0.023685227103614447, '15': 0.014083103264087066, '16': 0.007766639409907446, '17': 0.003972664490963175, '18': 0.0018847102948586333}, 'away_distribution': {'0': 0.02920966967589919, '1': 0.04903009867246978, '2': 0.07394938750275298, '3': 0.10021715913982318, '4': 0.12203524753332382, '5': 0.13352548914044435, '6': 0.13127401284798274, '7': 0.11596556203297297, '8': 0.0920481375276564, '9': 0.06565029264408996, '10': 0.042072083480827985, '11': 0.024226298564049096, '12': 0.012534753653419106, '13': 0.0058274725108343845, '14': 0.002434335073454049}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.1586, 'recent_quality_edge': 0.904, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.7195} | ||||
| 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': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0924, 'recent_form_edge_home_minus_away': 1.254, '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': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, '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': 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.7195, 'winner': 'NYY', '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: 147. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 183. | |||||
| 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: 147. | |||
| 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: 183. | |||
| 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 | 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 | 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 | 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 | 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 | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL 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 | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL 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: COL 4 - 8 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: COL 4 - 8 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 8-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.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): NYY wins 8-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY 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: NYY wins 8-4. | |||||
| 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: 3/10 = 0.300. | |||
| 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 | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY 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 | NYY | BATTING_TOTALS_SUM | current:NYY 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 | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match NYY pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match NYY pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match NYY pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match NYY pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=41 matches NYY BF=41. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match COL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match COL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match COL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=34 matches COL BF=34. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 8. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.856 -> 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.856144, 'sample_size': 199, 'empirical_hit_rate': 0.5477, 'empirical_weight': 0.5, 'blended_confidence': 0.701922, 'published_confidence': 0.58, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY current pitcher projected totals match final simulation pitching box score. | |||
| PASS | 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 | 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.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.528/0.713. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: COL 8, NYY 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: COL 4 - NYY 8. | |||||
| 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.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': 'NYY', 'opponent_team': 'COL', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 6, 'opponent_runs': 1, 'margin_for_predicted_team': 5, 'winner': 'NYY'}, {'date': '2026-09-08', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'NYY'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260909', 'away': 'COL', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 5, 'raw_pick_probability': 0.783866, 'artifact': '20260909_COL@NYY.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'COL', 'home': 'NYY', 'game_number': 1, 'predicted_team': 'NYY', 'actual_winner': 'NYY', 'actual_margin': 2, 'raw_pick_probability': 0.644809, 'artifact': '20260908_COL@NYY.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'NYY', 'guardrail_opponent_team': 'COL', 'output_pre_simulation_winner': 'NYY', 'output_opponent_team': 'COL', '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': 4, 'home_runs': 8, 'score_text': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0924, 'recent_form_edge_home_minus_away': 1.254, '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': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, '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': 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.7195, 'winner': 'NYY', '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-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_COL@NYY. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: COL@NYY. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 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': 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': 8, 'away_runs': 5, 'probability': 0.014733644768376334}, {'home_runs': 7, 'away_runs': 5, 'probability': 0.014631443001248273}, {'home_runs': 8, 'away_runs': 6, 'probability': 0.014485209416361566}, {'home_runs': 7, 'away_runs': 6, 'probability': 0.014384730952081657}, {'home_runs': 9, 'away_runs': 5, 'probability': 0.013760911365369284}], 'home_distribution': {'0': 0.01268682180978032, '1': 0.021636056130109552, '2': 0.03422294085629955, '3': 0.050207722546619656, '4': 0.06831839974522524, '5': 0.08622214367969465, '6': 0.10092852240891537, '7': 0.10957790228245243, '8': 0.11034331245084779, '9': 0.10305831084352236, '10': 0.08927584936849998, '11': 0.07172968596382598, '12': 0.05345370790407465, '13': 0.036946279446701764, '14': 0.023685227103614447, '15': 0.014083103264087066, '16': 0.007766639409907446, '17': 0.003972664490963175, '18': 0.0018847102948586333}, 'away_distribution': {'0': 0.02920966967589919, '1': 0.04903009867246978, '2': 0.07394938750275298, '3': 0.10021715913982318, '4': 0.12203524753332382, '5': 0.13352548914044435, '6': 0.13127401284798274, '7': 0.11596556203297297, '8': 0.0920481375276564, '9': 0.06565029264408996, '10': 0.042072083480827985, '11': 0.024226298564049096, '12': 0.012534753653419106, '13': 0.0058274725108343845, '14': 0.002434335073454049}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.1586, 'recent_quality_edge': 0.904, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 1.7195} | ||||
| 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': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 8, 'score_text': 'COL 4 - 8 NYY', 'winner': 'NYY'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0924, 'recent_form_edge_home_minus_away': 1.254, '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': 'NYY', 'model_winner': 'NYY', 'simulation_winner': 'NYY', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, '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': 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.7195, 'winner': 'NYY', '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: 147. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 183. | |||||
| 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: 147. | |||
| 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: 183. | |||
| 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 | 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 | 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 | 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 | 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 | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL 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 | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL 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: COL 4 - 8 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: COL 4 - 8 NYY. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 8-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.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): NYY wins 8-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY 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: NYY wins 8-4. | |||||
| 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: 3/10 = 0.300. | |||
| 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 | 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 | 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 | COL | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | New contract: model pitcher projections may differ; simulation_box_score_stats carries the simulation draw. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=7, sim=8; 2B: current=2, sim=1; HR: current=1, sim=2; BB: current=3, sim=4; SO: current=9, sim=11; 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 | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: H current=1 box=2, SO current=1 box=0, HBP current=0 box=1; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; TJ Rumfield: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Adael Amador: H current=1 box=2, HR current=0 box=1, RBI current=1 box=3, BB current=0 box=1; Jordan Beck: AB current=3 box=4; Jake McCarthy: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, HBP current=0 box=1; Connor Norby: AB current=4 box=5, 2B current=1 box=0, BB current=1 box=0, SO current=1 box=2; Kyle Karros: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=3 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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=10; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=4, sim=8; R: current=4, sim=8; BB: current=4, sim=0; 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 | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Jasson Domínguez: H current=1 box=2, HR current=0 box=1, RBI current=0 box=4, R current=0 box=1; Luis García Jr.: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Ben Rice: HR current=1 box=0, BB current=1 box=0; Cody Bellinger: H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; George Lombard Jr.: AB current=3 box=4, R current=0 box=1, SO current=1 box=2; Anthony Volpe: R current=0 box=1, BB current=1 box=0, SO current=1 box=2; Ryan McMahon: AB current=3 box=4, H current=1 box=2, HR current=0 box=2, RBI current=0 box=3; Spencer Jones: H current=1 box=0, RBI 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 | 3.7685722210916186 | 6.356942548111263 | Base ML historical model prediction | |
| variance_applied | 4 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 8 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 4 | 8 |
| NYY | 0 | 3 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 8 | 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 | COL | batting | 32 | 7 | 2 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | COL | pitching | 10 | 3 | 8 | 0 | 9 | 8.0 | 7 | 0 | 0 | |||||||||
| current | NYY | batting | 32 | 8 | 2 | 0 | 1 | 4 | 4 | 4 | 8 | 0 | 0 | 0 | 0 | |||||
| current | NYY | pitching | 8 | 2 | 4 | 4 | 11 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | COL | batting | 35 | 8 | 1 | 0 | 2 | 4 | 4 | 4 | 11 | 0 | 2 | |||||||
| simulation | COL | pitching | 10 | 3 | 8 | 0 | 9 | 8.0 | 8 | 34 | 147 | |||||||||
| simulation | NYY | batting | 34 | 10 | 1 | 0 | 3 | 8 | 8 | 0 | 9 | 0 | 0 | |||||||
| simulation | NYY | pitching | 8 | 2 | 4 | 4 | 11 | 9.0 | 4 | 41 | 183 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | COL | C | Hunter Goodman | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | CF | Cole Carrigg | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | COL | 1B | TJ Rumfield | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | COL | DH | Adael Amador | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | COL | RF | Jordan Beck | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | COL | LF | Jake McCarthy | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | 2B | Connor Norby | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | COL | 3B | Kyle Karros | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | COL | SS | Ezequiel Tovar | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYY | RF | Jasson Domínguez | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | 1B | Luis García Jr. | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYY | DH | Ben Rice | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYY | LF | Cody Bellinger | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | NYY | SS | George Lombard Jr. | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | 2B | Anthony Volpe | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | NYY | 3B | Ryan McMahon | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | C | Austin Wells | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYY | CF | Spencer Jones | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| simulation | COL | 1 | LF | Jake McCarthy | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0.333 |
| simulation | COL | 2 | 2B | Connor Norby | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | COL | 3 | C | Hunter Goodman | 5 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0.500 |
| simulation | COL | 4 | 1B | TJ Rumfield | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | COL | 5 | CF | Cole Carrigg | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | COL | 6 | 3B | Kyle Karros | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | COL | 7 | DH | Adael Amador | 4 | 3 | 2 | 0 | 0 | 1 | 1 | 3 | 1 | 1 | 0 | 0.667 |
| simulation | COL | 8 | RF | Jordan Beck | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | COL | 9 | SS | Ezequiel Tovar | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.250 |
| simulation | NYY | 1 | DH | Ben Rice | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | NYY | 2 | LF | Cody Bellinger | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | NYY | 3 | RF | Jasson Domínguez | 4 | 4 | 2 | 1 | 0 | 1 | 1 | 4 | 0 | 1 | 0 | 0.500 |
| simulation | NYY | 4 | 1B | Luis García Jr. | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | NYY | 5 | CF | Spencer Jones | 4 | 4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYY | 6 | SS | George Lombard Jr. | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | NYY | 7 | 3B | Ryan McMahon | 4 | 4 | 2 | 0 | 0 | 2 | 1 | 3 | 0 | 1 | 0 | 0.500 |
| simulation | NYY | 8 | C | Austin Wells | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYY | 9 | 2B | Anthony Volpe | 3 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 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 | COL | 1 | Ryan Feltner | Starter | 4.2 | 7 | 5 | 4 | 0 | 5 | 1 | 0 | 0 | 7.71 | 5.91 | 1.57 |
| current | COL | 3 | Jordan Romano | Closer | 1.0 | 1 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 9.00 | 3.90 | 1.23 |
| current | COL | 4 | Brennan Bernardino | Setup Man | 1.1 | 2 | 2 | 2 | 0 | 2 | 1 | 0 | 0 | 13.50 | 2.51 | 1.12 |
| current | COL | 6 | Jimmy Herget | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 6.04 | 1.54 |
| current | NYY | 1 | Max Fried | Starter | 6.0 | 7 | 2 | 2 | 1 | 7 | 1 | 0 | 0 | 3.00 | 2.73 | 0.99 |
| current | NYY | 2 | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 1.87 | 1.15 |
| current | NYY | 3 | David Bednar | Closer | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.63 | 1.02 |
| current | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 1 | 2 | 2 | 1 | 1 | 1 | 0 | 0 | 18.00 | 1.70 | 1.03 |
| simulation | COL | 1 | Ryan Feltner | Starter | 4.2 | 7 | 5 | 5 | 0 | 5 | 1 | 21 | 92 | 9.64 | 5.91 | 1.57 |
| simulation | COL | 2 | Jordan Romano | Closer | 1.0 | 1 | 1 | 1 | 0 | 2 | 1 | 4 | 16 | 9.00 | 3.90 | 1.23 |
| simulation | COL | 3 | Brennan Bernardino | Setup Man | 1.1 | 2 | 2 | 2 | 0 | 2 | 1 | 6 | 26 | 13.50 | 2.51 | 1.12 |
| simulation | COL | 4 | Jimmy Herget | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 6.04 | 1.54 |
| simulation | NYY | 1 | Max Fried | Starter | 6.0 | 7 | 2 | 2 | 1 | 7 | 1 | 28 | 113 | 3.00 | 2.73 | 0.99 |
| simulation | NYY | 2 | David Bednar | Closer | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 21 | 0.00 | 2.63 | 1.02 |
| simulation | NYY | 3 | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 29 | 0.00 | 1.87 | 1.15 |
| simulation | NYY | 4 | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 1 | 2 | 2 | 1 | 1 | 1 | 5 | 20 | 18.00 | 1.70 | 1.03 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| COL | Ryan Feltner | Starter | 4.2 | 5 | 7 | 0 | 5 | 21 | 92 |
| COL | Jordan Romano | Closer | 1.0 | 1 | 1 | 0 | 2 | 4 | 16 |
| COL | Brennan Bernardino | Setup Man | 1.1 | 2 | 2 | 0 | 2 | 6 | 26 |
| COL | Jimmy Herget | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| NYY | Max Fried | Starter | 6.0 | 2 | 7 | 1 | 7 | 28 | 113 |
| NYY | Brent Headrick | Setup Man | 1.0 | 0 | 0 | 1 | 2 | 4 | 29 |
| NYY | David Bednar | Closer | 1.0 | 0 | 0 | 1 | 1 | 4 | 21 |
| NYY | Paul Blackburn | Middle Reliever (High Leverage) | 1.0 | 2 | 1 | 1 | 1 | 5 | 20 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 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. |
20260910_HOU@PHI
20260910_HOU@PHI.json • 2026-09-10
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | HOU | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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 | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=2, sim=1; HR: current=1, sim=0; SO: current=9, sim=7; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Jose Altuve: H current=1 box=2, RBI current=0 box=2, SO current=1 box=0; Isaac Paredes: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Yordan Alvarez: H current=1 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jeremy Peña: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=2, HBP current=0 box=1; Christian Walker: 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Daulton Varsho: AB current=4 box=3, H current=1 box=0, SO current=1 box=0; Cam Smith: AB current=3 box=4, H current=1 box=0, R current=1 box=0; Taylor Trammell: H current=1 box=0, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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=31; H: current=9, sim=7; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=7, sim=8; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: BB current=1 box=0, SO current=1 box=2; Alec Bohm: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Bryson Stott: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Kyle Schwarber: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Luis Arraez: RBI current=0 box=1, R current=0 box=1, SO current=0 box=2; Trea Turner: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Brandon Marsh: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Justin Crawford: 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 | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match PHI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match PHI pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=39 matches PHI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match HOU pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match HOU pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match HOU pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match HOU pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=35 matches HOU BF=35. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.610 -> 0.585 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.61, 'sample_size': 313, 'empirical_hit_rate': 0.5591, 'empirical_weight': 0.5, 'blended_confidence': 0.58455, 'published_confidence': 0.566859, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | HOU | CURRENT_LINEUP_SHAPE | HOU current lineup has 9 expected positions. | |||
| PASS | current_payload | current | HOU | CURRENT_MODEL_ZERO_FALLBACK | HOU current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | HOU | CURRENT_NAMES_PRESENT | HOU current hitter names are populated. | |||
| PASS | current_payload | current | HOU | CURRENT_PREDICTIONS_MATCH_FINALIZED | HOU hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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.433. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.567. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.567. | |||||
| 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.518/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_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: HOU 8, PHI 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 4 - PHI 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PHI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for PHI; cap=0.6, reasons=recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.6, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile'], 'signals': {'predicted_team': 'PHI', 'opponent_team': 'HOU', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 11, 'opponent_runs': 7, 'margin_for_predicted_team': 4, 'winner': 'PHI'}, {'date': '2026-09-08', 'predicted_team_runs': 5, 'opponent_runs': 6, 'margin_for_predicted_team': -1, 'winner': 'HOU'}], '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': '20260909', 'away': 'HOU', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 4, 'raw_pick_probability': 0.519697, 'artifact': '20260909_HOU@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'HOU', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 1, 'raw_pick_probability': 0.55362, 'artifact': '20260908_HOU@PHI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'PHI', 'guardrail_opponent_team': 'HOU', 'output_pre_simulation_winner': 'PHI', 'output_opponent_team': 'HOU', 'simulation_score_winner': 'PHI', 'final_score_winner': 'PHI', 'pre_simulation_winner': 'PHI', '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': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, '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.0198, 'recent_form_edge_home_minus_away': 0.068, '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': 'PHI', 'model_winner': 'PHI', 'simulation_winner': 'PHI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'PHI', '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.4289, 'winner': 'PHI', '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-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_HOU@PHI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@PHI. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': 3.0, 'absolute_net_margin': 3.0, 'home_average_margin': 1.5, 'home_run_delta': 0.0225, 'away_run_delta': -0.0225, 'evidence': [{'game_id': None, 'home_margin': 4.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': 5, 'away_runs': 4, 'probability': 0.022717820861471897}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.021760079436394932}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.02151904012651874}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.02109022879958114}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.020688643559826934}], 'home_distribution': {'0': 0.035220045439377394, '1': 0.05881151952710289, '2': 0.08732594930993925, '3': 0.11530088928035831, '4': 0.13537249231192708, '5': 0.1413307354370048, '6': 0.13120525797589114, '7': 0.10831142919882729, '8': 0.079507071981534, '9': 0.05189740705195948, '10': 0.030122706202293844, '11': 0.015547148207852881, '12': 0.007135360463757417, '13': 0.002911987612174272}, 'away_distribution': {'0': 0.05331929262498383, '1': 0.08769269964529917, '2': 0.1244125159152629, '3': 0.15226015813177735, '4': 0.16074225320647176, '5': 0.14638460272534604, '6': 0.11499588939376591, '7': 0.07792751114578689, '8': 0.04555340729348853, '9': 0.02297060845040504, '10': 0.009991845329418703, '11': 0.003749216137993863}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.6233, 'recent_quality_edge': 0.068, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.4289} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, '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.0198, 'recent_form_edge_home_minus_away': 0.068, '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': 'PHI', 'model_winner': 'PHI', 'simulation_winner': 'PHI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'PHI', '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.4289, 'winner': 'PHI', '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: 144. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| 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: 144. | |||
| 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: 164. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | current | 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 | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU 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: HOU 4 - 5 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 4 - 5 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PHI wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=PHI, simulation=PHI, published=PHI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.567. | |||||
| 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: 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): PHI wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PHI 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: PHI wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | HOU | RECENT_FORM_RANGE | HOU recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | HOU | TEAM_RECENT_RECORD | HOU wins and win_pct agree: 6/10 = 0.600. | |||
| 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: 6/10 = 0.600. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match PHI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match PHI pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match PHI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=39 matches PHI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match HOU pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match HOU pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match HOU pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match HOU pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=35 matches HOU BF=35. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.610 -> 0.585 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.61, 'sample_size': 313, 'empirical_hit_rate': 0.5591, 'empirical_weight': 0.5, 'blended_confidence': 0.58455, 'published_confidence': 0.566859, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | HOU | CURRENT_LINEUP_SHAPE | HOU current lineup has 9 expected positions. | |||
| PASS | current_payload | current | HOU | CURRENT_MODEL_ZERO_FALLBACK | HOU current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | HOU | CURRENT_NAMES_PRESENT | HOU current hitter names are populated. | |||
| PASS | current_payload | current | HOU | CURRENT_PREDICTIONS_MATCH_FINALIZED | HOU hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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.433. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.567. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.567. | |||||
| 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.518/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_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: HOU 8, PHI 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 4 - PHI 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PHI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for PHI; cap=0.6, reasons=recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.6, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile'], 'signals': {'predicted_team': 'PHI', 'opponent_team': 'HOU', 'h2h_net_margin': 3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 11, 'opponent_runs': 7, 'margin_for_predicted_team': 4, 'winner': 'PHI'}, {'date': '2026-09-08', 'predicted_team_runs': 5, 'opponent_runs': 6, 'margin_for_predicted_team': -1, 'winner': 'HOU'}], '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': '20260909', 'away': 'HOU', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'PHI', 'actual_winner': 'PHI', 'actual_margin': 4, 'raw_pick_probability': 0.519697, 'artifact': '20260909_HOU@PHI.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'HOU', 'home': 'PHI', 'game_number': 1, 'predicted_team': 'HOU', 'actual_winner': 'HOU', 'actual_margin': 1, 'raw_pick_probability': 0.55362, 'artifact': '20260908_HOU@PHI.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'PHI', 'guardrail_opponent_team': 'HOU', 'output_pre_simulation_winner': 'PHI', 'output_opponent_team': 'HOU', 'simulation_score_winner': 'PHI', 'final_score_winner': 'PHI', 'pre_simulation_winner': 'PHI', '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': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, '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.0198, 'recent_form_edge_home_minus_away': 0.068, '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': 'PHI', 'model_winner': 'PHI', 'simulation_winner': 'PHI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'PHI', '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.4289, 'winner': 'PHI', '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-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_HOU@PHI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@PHI. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': 3.0, 'absolute_net_margin': 3.0, 'home_average_margin': 1.5, 'home_run_delta': 0.0225, 'away_run_delta': -0.0225, 'evidence': [{'game_id': None, 'home_margin': 4.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': 5, 'away_runs': 4, 'probability': 0.022717820861471897}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.021760079436394932}, {'home_runs': 5, 'away_runs': 3, 'probability': 0.02151904012651874}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.02109022879958114}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.020688643559826934}], 'home_distribution': {'0': 0.035220045439377394, '1': 0.05881151952710289, '2': 0.08732594930993925, '3': 0.11530088928035831, '4': 0.13537249231192708, '5': 0.1413307354370048, '6': 0.13120525797589114, '7': 0.10831142919882729, '8': 0.079507071981534, '9': 0.05189740705195948, '10': 0.030122706202293844, '11': 0.015547148207852881, '12': 0.007135360463757417, '13': 0.002911987612174272}, 'away_distribution': {'0': 0.05331929262498383, '1': 0.08769269964529917, '2': 0.1244125159152629, '3': 0.15226015813177735, '4': 0.16074225320647176, '5': 0.14638460272534604, '6': 0.11499588939376591, '7': 0.07792751114578689, '8': 0.04555340729348853, '9': 0.02297060845040504, '10': 0.009991845329418703, '11': 0.003749216137993863}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.6233, 'recent_quality_edge': 0.068, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.4289} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'HOU 4 - 5 PHI', 'winner': 'PHI'}, '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.0198, 'recent_form_edge_home_minus_away': 0.068, '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': 'PHI', 'model_winner': 'PHI', 'simulation_winner': 'PHI', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 6, 'published_winner': 'PHI', '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.4289, 'winner': 'PHI', '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: 144. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 164. | |||||
| 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: 144. | |||
| 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: 164. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | current | 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 | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU 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: HOU 4 - 5 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 4 - 5 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PHI wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=PHI, simulation=PHI, published=PHI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.567. | |||||
| 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: 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): PHI wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PHI 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: PHI wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | HOU | RECENT_FORM_RANGE | HOU recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | HOU | TEAM_RECENT_RECORD | HOU wins and win_pct agree: 6/10 = 0.600. | |||
| 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: 6/10 = 0.600. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | HOU | CURRENT_PITCHER_DUPLICATION | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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 | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=2, sim=1; HR: current=1, sim=0; SO: current=9, sim=7; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Jose Altuve: H current=1 box=2, RBI current=0 box=2, SO current=1 box=0; Isaac Paredes: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Yordan Alvarez: H current=1 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jeremy Peña: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=2, HBP current=0 box=1; Christian Walker: 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Daulton Varsho: AB current=4 box=3, H current=1 box=0, SO current=1 box=0; Cam Smith: AB current=3 box=4, H current=1 box=0, R current=1 box=0; Taylor Trammell: H current=1 box=0, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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=31; H: current=9, sim=7; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=7, sim=8; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: BB current=1 box=0, SO current=1 box=2; Alec Bohm: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Bryson Stott: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Kyle Schwarber: AB current=4 box=3, HR current=1 box=0, SO current=1 box=0; Luis Arraez: RBI current=0 box=1, R current=0 box=1, SO current=0 box=2; Trea Turner: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Brandon Marsh: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Justin Crawford: 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 | 4.010791078553811 | 5.983368668229911 | Base ML historical model prediction | |
| variance_applied | 4 | 6 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.567 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 8 |
| PHI | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 7 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | batting | 33 | 8 | 2 | 0 | 1 | 4 | 4 | 3 | 9 | 0 | 0 | 0 | 0 | |||||
| current | HOU | pitching | 7 | 0 | 5 | 3 | 8 | 8.0 | 5 | 0 | 0 | |||||||||
| current | PHI | batting | 33 | 9 | 2 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | PHI | pitching | 8 | 0 | 4 | 3 | 7 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | HOU | batting | 35 | 8 | 1 | 0 | 0 | 4 | 4 | 3 | 7 | 0 | 1 | |||||||
| simulation | HOU | pitching | 7 | 0 | 5 | 3 | 8 | 8.0 | 5 | 35 | 144 | |||||||||
| simulation | PHI | batting | 31 | 7 | 1 | 0 | 0 | 5 | 5 | 3 | 8 | 0 | 1 | |||||||
| simulation | PHI | pitching | 8 | 0 | 4 | 3 | 7 | 9.0 | 4 | 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 | HOU | 2B | Jose Altuve | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | HOU | 3B | Isaac Paredes | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | HOU | DH | Yordan Alvarez | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | HOU | SS | Jeremy Peña | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | 1B | Christian Walker | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | HOU | CF | Daulton Varsho | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | HOU | RF | Cam Smith | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | HOU | LF | Taylor Trammell | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | HOU | C | Christian Vázquez | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| 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 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PHI | 3B | Bryson Stott | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | PHI | DH | Kyle Schwarber | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | 2B | Luis Arraez | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | PHI | SS | Trea Turner | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PHI | LF | Brandon Marsh | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PHI | CF | Justin Crawford | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | PHI | C | Rafael Marchán | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | HOU | 1 | SS | Jeremy Peña | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 1 | 0.500 |
| simulation | HOU | 2 | DH | Yordan Alvarez | 5 | 4 | 3 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.750 |
| simulation | HOU | 3 | 3B | Isaac Paredes | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | HOU | 4 | 2B | Jose Altuve | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | HOU | 5 | CF | Daulton Varsho | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | HOU | 6 | 1B | Christian Walker | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 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 | LF | Taylor Trammell | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | HOU | 9 | C | Christian Vázquez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PHI | 1 | DH | Kyle Schwarber | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | PHI | 2 | SS | Trea Turner | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | PHI | 3 | RF | Bryce Harper | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | PHI | 4 | 2B | Luis Arraez | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | PHI | 5 | 1B | Alec Bohm | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.333 |
| simulation | PHI | 6 | 3B | Bryson Stott | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PHI | 7 | LF | Brandon Marsh | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | PHI | 8 | CF | Justin Crawford | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | PHI | 9 | C | Rafael Marchán | 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 | HOU | 1 | Cristian Javier | Starter | 4.0 | 7 | 5 | 5 | 2 | 6 | 0 | 0 | 0 | 11.25 | 5.98 | 1.55 |
| current | HOU | 2 | AJ Blubaugh | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.34 | 1.20 |
| current | HOU | 3 | Bryan Abreu | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.63 | 1.33 |
| current | HOU | 4 | Josh Hader | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.67 | 0.60 |
| current | HOU | 5 | Enyel De Los Santos | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 4.28 | 1.17 |
| current | PHI | 1 | Zack Wheeler | Starter | 5.2 | 7 | 3 | 3 | 1 | 6 | 0 | 0 | 0 | 4.76 | 3.23 | 1.08 |
| current | PHI | 2 | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 1.35 | 0.97 |
| current | PHI | 3 | Jonathan Bowlan | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.17 | 1.00 |
| current | PHI | 4 | Orion Kerkering | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 4.12 | 1.30 |
| current | PHI | 5 | Brooks Raley | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.31 | 1.11 |
| simulation | HOU | 1 | Cristian Javier | Starter | 4.0 | 7 | 5 | 5 | 2 | 6 | 0 | 22 | 89 | 11.25 | 5.98 | 1.55 |
| simulation | HOU | 2 | Josh Hader | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 0.67 | 0.60 |
| simulation | HOU | 3 | Bryan Abreu | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 17 | 0.00 | 3.63 | 1.33 |
| simulation | HOU | 4 | AJ Blubaugh | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 3.34 | 1.20 |
| simulation | HOU | 5 | Enyel De Los Santos | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 8 | 0.00 | 4.28 | 1.17 |
| simulation | PHI | 1 | Zack Wheeler | Starter | 5.2 | 7 | 3 | 3 | 1 | 6 | 0 | 26 | 108 | 4.76 | 3.23 | 1.08 |
| simulation | PHI | 2 | Jhoan Duran | Closer | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 19 | 0.00 | 1.35 | 0.97 |
| simulation | PHI | 3 | Jonathan Bowlan | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.17 | 1.00 |
| simulation | PHI | 4 | Orion Kerkering | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 1 | 0 | 0 | 0 | 4 | 16 | 9.00 | 4.12 | 1.30 |
| simulation | PHI | 5 | Brooks Raley | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 8 | 0.00 | 2.31 | 1.11 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| HOU | Cristian Javier | Starter | 4.0 | 5 | 7 | 2 | 6 | 22 | 89 |
| HOU | AJ Blubaugh | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 0 | 4 | 17 |
| HOU | Bryan Abreu | Setup Man | 1.0 | 0 | 0 | 1 | 0 | 4 | 17 |
| HOU | Josh Hader | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| HOU | Enyel De Los Santos | Middle Reliever (High Leverage) | 0.2 | 0 | 0 | 0 | 2 | 2 | 8 |
| PHI | Zack Wheeler | Starter | 5.2 | 3 | 7 | 1 | 6 | 26 | 108 |
| PHI | Jhoan Duran | Closer | 1.0 | 0 | 0 | 1 | 0 | 4 | 19 |
| PHI | Jonathan Bowlan | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| PHI | Orion Kerkering | Middle Reliever (High Leverage) | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| PHI | Brooks Raley | Middle Reliever (High Leverage) | 0.1 | 0 | 0 | 1 | 1 | 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 | 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. |
20260910_PIT@CHW
20260910_PIT@CHW.json • 2026-09-10
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 | 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 | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW 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 | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 2B: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; SO: current=9, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Munetaka Murakami: RBI current=1 box=3, BB current=1 box=0, SO current=1 box=2; Braden Montgomery: H current=1 box=2, R current=0 box=1, BB current=1 box=0; Colson Montgomery: H current=1 box=0, RBI current=1 box=0; Chase Meidroth: AB current=4 box=3, BB current=0 box=1; Miguel Vargas: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrew Benintendi: AB current=3 box=4, RBI current=1 box=0, SO current=1 box=0; Tristan Peters: AB current=3 box=4, H current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (2B: current=2, sim=1; HR: current=1, sim=2; R: current=5, sim=4; BB: current=4, sim=2; SO: current=10, 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 | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Konnor Griffin: AB current=4 box=3, 2B current=1 box=0, RBI current=0 box=1, BB current=0 box=1; Oneil Cruz: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Bryan Reynolds: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jake Mangum: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, SO current=1 box=0; Brandon Lowe: AB current=4 box=3, H current=1 box=2, BB current=0 box=1; Nick Gonzales: H current=1 box=0; Rafael Flores Jr.: H current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Spencer Horwitz: 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 | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT 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 | PIT | BATTING_TOTALS_SUM | current:PIT 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 | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match PIT pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match PIT pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match PIT pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match PIT pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=35 matches PIT BF=35. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match CHW pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match CHW pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=36 matches CHW BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.629 -> 0.586 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.629048, 'sample_size': 417, 'empirical_hit_rate': 0.542, 'empirical_weight': 0.5, 'blended_confidence': 0.585524, 'published_confidence': 0.528284, '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 | 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 | 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.528. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.528. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.472. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.753/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: PIT 7, CHW 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PIT 4 - CHW 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PIT. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for PIT. | {'winner_confidence': 0.52828377125, 'h2h_net_margin': 8, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260909', 'away': 'PIT', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 2, 'raw_pick_probability': 0.598407, 'artifact': '20260909_PIT@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'PIT', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'PIT', 'actual_margin': 6, 'raw_pick_probability': 0.519276, 'artifact': '20260908_PIT@CHW.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_PIT@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PIT@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': 2, 'sample_weight': 0.03, 'home_net_margin': -8.0, 'absolute_net_margin': 8.0, 'home_average_margin': -4.0, 'home_run_delta': -0.06, 'away_run_delta': 0.06, 'evidence': [{'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 4, 'probability': 0.02911215006433469}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.02722371235914164}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.026953674201821667}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.026903604280260774}, {'home_runs': 2, 'away_runs': 4, 'probability': 0.02616032970231603}], 'home_distribution': {'0': 0.07620880718497486, '1': 0.12297759570657496, '2': 0.164798004659398, '3': 0.18339311073447895, '4': 0.16948029149420443, '5': 0.1300650177448681, '6': 0.0828909131275855, '7': 0.04386907328966142, '8': 0.019280358891678465, '9': 0.007036827166575485}, 'away_distribution': {'0': 0.05113097641038225, '1': 0.08424822145632826, '2': 0.12018607602565262, '3': 0.14844457488131493, '4': 0.15874178668839953, '5': 0.146972119584393, '6': 0.11781359554254339, '7': 0.08176597558149001, '8': 0.04913224342253772, '9': 0.025560969753845496, '10': 0.011513432457348373, '11': 0.004490028195764464}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.0757, 'recent_quality_edge': -0.8, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.2308} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'PIT 4 - 3 CHW', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'PIT 4 - 3 CHW', '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.0417, 'recent_form_edge_home_minus_away': -1.15, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'PIT', 'model_winner': 'PIT', 'simulation_winner': 'PIT', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, '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': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.2308, 'winner': 'PIT', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 154. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| 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: 150. | |||
| 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: 154. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | current | 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 | 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 | 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 | 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 | 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 | 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 | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: PIT 4 - 3 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PIT 4 - 3 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=PIT, simulation=PIT, published=PIT. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.528. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| 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): PIT wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PIT wins 4-3. | |||||
| 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 | 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: 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 | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT 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 | PIT | BATTING_TOTALS_SUM | current:PIT 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 | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match PIT pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match PIT pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match PIT pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match PIT pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=35 matches PIT BF=35. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match CHW pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match CHW pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match CHW pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=36 matches CHW BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.629 -> 0.586 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.629048, 'sample_size': 417, 'empirical_hit_rate': 0.542, 'empirical_weight': 0.5, 'blended_confidence': 0.585524, 'published_confidence': 0.528284, '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 | 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 | 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.528. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.528. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.472. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.753/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: PIT 7, CHW 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PIT 4 - CHW 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PIT. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for PIT. | {'winner_confidence': 0.52828377125, 'h2h_net_margin': 8, 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 2, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260909', 'away': 'PIT', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'PIT', 'actual_winner': 'PIT', 'actual_margin': 2, 'raw_pick_probability': 0.598407, 'artifact': '20260909_PIT@CHW.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'PIT', 'home': 'CHW', 'game_number': 1, 'predicted_team': 'CHW', 'actual_winner': 'PIT', 'actual_margin': 6, 'raw_pick_probability': 0.519276, 'artifact': '20260908_PIT@CHW.json', 'verification': 'pregame_official_final'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_PIT@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PIT@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': 2, 'sample_weight': 0.03, 'home_net_margin': -8.0, 'absolute_net_margin': 8.0, 'home_average_margin': -4.0, 'home_run_delta': -0.06, 'away_run_delta': 0.06, 'evidence': [{'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 3, 'away_runs': 4, 'probability': 0.02911215006433469}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.02722371235914164}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.026953674201821667}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.026903604280260774}, {'home_runs': 2, 'away_runs': 4, 'probability': 0.02616032970231603}], 'home_distribution': {'0': 0.07620880718497486, '1': 0.12297759570657496, '2': 0.164798004659398, '3': 0.18339311073447895, '4': 0.16948029149420443, '5': 0.1300650177448681, '6': 0.0828909131275855, '7': 0.04386907328966142, '8': 0.019280358891678465, '9': 0.007036827166575485}, 'away_distribution': {'0': 0.05113097641038225, '1': 0.08424822145632826, '2': 0.12018607602565262, '3': 0.14844457488131493, '4': 0.15874178668839953, '5': 0.146972119584393, '6': 0.11781359554254339, '7': 0.08176597558149001, '8': 0.04913224342253772, '9': 0.025560969753845496, '10': 0.011513432457348373, '11': 0.004490028195764464}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.0757, 'recent_quality_edge': -0.8, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': -0.2308} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'PIT 4 - 3 CHW', 'winner': 'PIT'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 3, 'score_text': 'PIT 4 - 3 CHW', '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.0417, 'recent_form_edge_home_minus_away': -1.15, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 3, 'winner': 'PIT', 'model_winner': 'PIT', 'simulation_winner': 'PIT', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, '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': 4, 'home_runs': 3}, 'simulation_score': {'away_runs': 4, 'home_runs': 3}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.2308, 'winner': 'PIT', 'score_reviewed': {'away_runs': 4, 'home_runs': 3, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 154. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 150. | |||||
| 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: 150. | |||
| 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: 154. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | current | 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 | 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 | 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 | 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 | 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 | 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 | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: PIT 4 - 3 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PIT 4 - 3 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PIT wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=PIT, simulation=PIT, published=PIT. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.528. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| 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): PIT wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PIT wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PIT wins 4-3. | |||||
| 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 | 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: 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 | 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 | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW 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 | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=4; 2B: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; SO: current=9, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Munetaka Murakami: RBI current=1 box=3, BB current=1 box=0, SO current=1 box=2; Braden Montgomery: H current=1 box=2, R current=0 box=1, BB current=1 box=0; Colson Montgomery: H current=1 box=0, RBI current=1 box=0; Chase Meidroth: AB current=4 box=3, BB current=0 box=1; Miguel Vargas: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrew Benintendi: AB current=3 box=4, RBI current=1 box=0, SO current=1 box=0; Tristan Peters: AB current=3 box=4, H current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (2B: current=2, sim=1; HR: current=1, sim=2; R: current=5, sim=4; BB: current=4, sim=2; SO: current=10, 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 | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Konnor Griffin: AB current=4 box=3, 2B current=1 box=0, RBI current=0 box=1, BB current=0 box=1; Oneil Cruz: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Bryan Reynolds: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jake Mangum: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, SO current=1 box=0; Brandon Lowe: AB current=4 box=3, H current=1 box=2, BB current=0 box=1; Nick Gonzales: H current=1 box=0; Rafael Flores Jr.: H current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Spencer Horwitz: 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 | 3.866690292107629 | 5.498517969416038 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 3 | 0.528 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by opposing_starter_is_elite, starter_quality_favours_the_other_side, projected_margin_is_one_run) |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PIT | 0 | 2 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 4 | 7 |
| CHW | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 4 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | PIT | batting | 34 | 7 | 2 | 0 | 1 | 4 | 5 | 4 | 10 | 0 | 0 | 0 | 0 | |||||
| current | PIT | pitching | 4 | 1 | 3 | 4 | 11 | 9.0 | 3 | 0 | 0 | |||||||||
| current | CHW | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 4 | 9 | 0 | 0 | 0 | 0 | |||||
| current | CHW | pitching | 8 | 2 | 4 | 2 | 7 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | PIT | batting | 34 | 7 | 1 | 0 | 2 | 4 | 4 | 2 | 7 | 0 | 0 | |||||||
| simulation | PIT | pitching | 4 | 1 | 3 | 4 | 11 | 9.0 | 3 | 35 | 154 | |||||||||
| simulation | CHW | batting | 31 | 4 | 0 | 0 | 1 | 3 | 3 | 4 | 11 | 0 | 0 | |||||||
| simulation | CHW | pitching | 7 | 2 | 4 | 2 | 7 | 9.0 | 4 | 36 | 150 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | PIT | DH | Konnor Griffin | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | CF | Oneil Cruz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 | |
| current | PIT | LF | Bryan Reynolds | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | RF | Jake Mangum | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | 2B | Brandon Lowe | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | 3B | Nick Gonzales | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | C | Rafael Flores Jr. | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.000 | |
| current | PIT | 1B | Spencer Horwitz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | PIT | SS | Jared Triolo | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CHW | LF | Sam Antonacci | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHW | 1B | Munetaka Murakami | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | RF | Braden Montgomery | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHW | SS | Colson Montgomery | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CHW | 2B | Chase Meidroth | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CHW | 3B | Miguel Vargas | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHW | DH | Andrew Benintendi | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.000 | |
| current | CHW | C | Jake Rogers | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | CHW | CF | Tristan Peters | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | PIT | 1 | DH | Konnor Griffin | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | PIT | 2 | CF | Oneil Cruz | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 3 | LF | Bryan Reynolds | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 4 | 3B | Nick Gonzales | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 5 | 2B | Brandon Lowe | 4 | 3 | 2 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.667 |
| simulation | PIT | 6 | C | Rafael Flores Jr. | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | PIT | 7 | RF | Jake Mangum | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | PIT | 8 | 1B | Spencer Horwitz | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | PIT | 9 | SS | Jared Triolo | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | CHW | 1 | LF | Sam Antonacci | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0.000 |
| simulation | CHW | 2 | 3B | Miguel Vargas | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.000 |
| simulation | CHW | 3 | 1B | Munetaka Murakami | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 2 | 0 | 0.250 |
| simulation | CHW | 4 | DH | Andrew Benintendi | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CHW | 5 | SS | Colson Montgomery | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHW | 6 | RF | Braden Montgomery | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | CHW | 7 | 2B | Chase Meidroth | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | CHW | 8 | CF | Tristan Peters | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | CHW | 9 | C | Jake Rogers | 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 | PIT | 1 | Jared Jones | Starter | 4.2 | 2 | 3 | 3 | 2 | 4 | 1 | 0 | 0 | 5.79 | 4.46 | 1.23 |
| current | PIT | 2 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 0.00 | 2.64 | 1.01 |
| current | PIT | 3 | Luke Weaver | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 2.65 | 0.98 |
| current | PIT | 4 | Mason Montgomery | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.52 | 1.01 |
| current | PIT | 5 | Yohan Ramírez | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.12 | 1.26 |
| current | CHW | 1 | Hagen Smith | Starter | 4.2 | 4 | 1 | 1 | 2 | 4 | 1 | 0 | 0 | 1.93 | 0.00 | 0.88 |
| current | CHW | 2 | Grant Taylor | Closer | 1.1 | 1 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 13.50 | 2.40 | 1.03 |
| current | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 6.75 | 2.44 | 1.07 |
| current | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.58 | 1.16 |
| current | CHW | 5 | Jordan Hicks | Middle Reliever (High Leverage) | 0.2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.83 | 1.50 |
| simulation | PIT | 1 | Jared Jones | Starter | 4.2 | 2 | 3 | 3 | 2 | 4 | 1 | 18 | 84 | 5.79 | 4.46 | 1.23 |
| simulation | PIT | 2 | Mason Montgomery | Closer | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 2.52 | 1.01 |
| simulation | PIT | 3 | Luke Weaver | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 17 | 0.00 | 2.65 | 0.98 |
| simulation | PIT | 4 | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 3 | 0 | 4 | 17 | 0.00 | 2.64 | 1.01 |
| simulation | PIT | 5 | Yohan Ramírez | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 5 | 19 | 0.00 | 3.12 | 1.26 |
| simulation | CHW | 1 | Hagen Smith | Starter | 4.2 | 4 | 1 | 1 | 2 | 4 | 1 | 20 | 86 | 1.93 | 0.00 | 0.88 |
| simulation | CHW | 2 | Grant Taylor | Closer | 1.1 | 0 | 2 | 2 | 0 | 1 | 0 | 4 | 17 | 13.50 | 2.40 | 1.03 |
| simulation | CHW | 3 | Sean Newcomb | Setup Man | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 5 | 20 | 6.75 | 2.44 | 1.07 |
| simulation | CHW | 4 | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 13 | 0.00 | 2.58 | 1.16 |
| simulation | CHW | 5 | Jordan Hicks | Middle Reliever (High Leverage) | 0.2 | 2 | 0 | 0 | 0 | 0 | 0 | 4 | 14 | 0.00 | 3.83 | 1.50 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| PIT | Jared Jones | Starter | 4.2 | 3 | 2 | 2 | 4 | 18 | 84 |
| PIT | Gregory Soto | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 3 | 4 | 17 |
| PIT | Luke Weaver | Setup Man | 1.0 | 0 | 0 | 1 | 2 | 4 | 17 |
| PIT | Mason Montgomery | Closer | 1.1 | 0 | 0 | 0 | 1 | 4 | 17 |
| PIT | Yohan Ramírez | Middle Reliever (High Leverage) | 1.0 | 0 | 2 | 0 | 1 | 5 | 19 |
| CHW | Hagen Smith | Starter | 4.2 | 1 | 4 | 2 | 4 | 20 | 86 |
| CHW | Grant Taylor | Closer | 1.1 | 2 | 0 | 0 | 1 | 4 | 17 |
| CHW | Sean Newcomb | Setup Man | 1.1 | 1 | 1 | 0 | 0 | 5 | 20 |
| CHW | Bryan Hudson | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 2 | 3 | 13 |
| CHW | Jordan Hicks | Middle Reliever (High Leverage) | 0.2 | 0 | 2 | 0 | 0 | 4 | 14 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260910_TB@ATL
20260910_TB@ATL.json • 2026-09-10
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 | 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 | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; 2B: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=2, sim=1; SO: current=7, sim=10). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Matt Olson: HR current=1 box=0, RBI current=1 box=0; Mauricio Dubón: H current=1 box=0, RBI current=1 box=0, SO current=0 box=2; Drake Baldwin: 2B current=0 box=1, RBI current=1 box=2, SO current=1 box=2; Ronald Acuña Jr.: AB current=4 box=5, BB current=1 box=0; Brewer Hicklen: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Michael Harris II: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Lane Thomas: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, R current=0 box=1; Austin Riley: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, HR current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; 2B: current=1, sim=4; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=2; SO: current=6, 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 | 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=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=2; Chandler Simpson: H current=1 box=0, RBI current=0 box=1, SO current=0 box=1; Nick Madrigal: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Yandy Díaz: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Junior Caminero: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jonny DeLuca: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Jorge Mateo: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Nick Fortes: AB current=3 box=4, 2B 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 | 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 | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB 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 | TB | BATTING_TOTALS_SUM | current:TB 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 | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=38 matches TB BF=38. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match ATL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match ATL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match ATL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match ATL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=39 matches ATL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.526 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 417, 'empirical_hit_rate': 0.542, 'empirical_weight': 0.5, 'blended_confidence': 0.52605, 'published_confidence': 0.505802, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB 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 | 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.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.494. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 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.752/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: TB 10, ATL 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TB 6 - ATL 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.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': 'TB', 'opponent_team': 'ATL', 'h2h_net_margin': 11, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'TB'}, {'date': '2026-09-08', 'predicted_team_runs': 7, 'opponent_runs': 1, 'margin_for_predicted_team': 6, 'winner': 'TB'}], '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': '20260909', 'away': 'TB', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 5, 'raw_pick_probability': 0.5771740000000001, 'artifact': '20260909_TB@ATL.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'TB', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 6, 'raw_pick_probability': 0.5215080000000001, 'artifact': '20260908_TB@ATL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'ATL', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'ATL', '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': 6, 'home_runs': 5, 'score_text': 'TB 6 - 5 ATL', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TB 6 - 5 ATL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0252, 'recent_form_edge_home_minus_away': -0.766, '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': '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': 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': 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.0579, 'winner': 'TB', '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-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_TB@ATL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TB@ATL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': -11.0, 'absolute_net_margin': 11.0, 'home_average_margin': -5.5, 'home_run_delta': -0.0825, 'away_run_delta': 0.0825, 'evidence': [{'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.024360820932009447}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.023144198584839803}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.022789331985863748}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.022597901459634487}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.02232794698631229}], 'home_distribution': {'0': 0.0497635854452591, '1': 0.08208954949539926, '2': 0.11751138575978672, '3': 0.1459781615787147, '4': 0.1573662873322632, '5': 0.14721476650589832, '6': 0.11951073485848493, '7': 0.08419345386321357, '8': 0.05147135504639245, '9': 0.027306670147420175, '10': 0.01257151892616798, '11': 0.005022531040999569}, 'away_distribution': {'0': 0.04762668073788504, '1': 0.07869953036841125, '2': 0.11324031450621314, '3': 0.1418851989509612, '4': 0.15480330218742472, '5': 0.1470721523471742, '6': 0.12167119578203887, '7': 0.08765005741444432, '8': 0.054982405189111655, '9': 0.030033252238976575, '10': 0.01428525817401203, '11': 0.005916718730990085, '12': 0.002133933372357095}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.313, 'recent_quality_edge': -0.416, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0579} | ||||
| 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': 'TB 6 - 5 ATL', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TB 6 - 5 ATL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0252, 'recent_form_edge_home_minus_away': -0.766, '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': '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': 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': 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.0579, 'winner': 'TB', '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: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 160. | |||||
| 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: 160. | |||
| 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: 157. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | ATL | PITCHING_REALISM | current:ATL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ATL | STARTER_PRESENT | current:ATL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | 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 | 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 | 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 | 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 | 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 | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TB 6 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TB 6 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 6-5. | |||||
| 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.506. | |||||
| 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: 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): TB wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB 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: TB wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ATL | RECENT_FORM_RANGE | ATL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ATL | TEAM_RECENT_RECORD | ATL wins and win_pct agree: 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: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | ATL | BATTING_REALISM | current:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB 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 | TB | BATTING_TOTALS_SUM | current:TB 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 | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match TB pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=38 matches TB BF=38. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match ATL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match ATL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match ATL pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match ATL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=39 matches ATL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 6. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.526 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 417, 'empirical_hit_rate': 0.542, 'empirical_weight': 0.5, 'blended_confidence': 0.52605, 'published_confidence': 0.505802, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| PASS | cross_schema | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB 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 | 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.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.506. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.494. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 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.752/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: TB 10, ATL 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TB 6 - ATL 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.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': 'TB', 'opponent_team': 'ATL', 'h2h_net_margin': 11, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'TB'}, {'date': '2026-09-08', 'predicted_team_runs': 7, 'opponent_runs': 1, 'margin_for_predicted_team': 6, 'winner': 'TB'}], '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': '20260909', 'away': 'TB', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 5, 'raw_pick_probability': 0.5771740000000001, 'artifact': '20260909_TB@ATL.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'TB', 'home': 'ATL', 'game_number': 1, 'predicted_team': 'TB', 'actual_winner': 'TB', 'actual_margin': 6, 'raw_pick_probability': 0.5215080000000001, 'artifact': '20260908_TB@ATL.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TB', 'guardrail_opponent_team': 'ATL', 'output_pre_simulation_winner': 'TB', 'output_opponent_team': 'ATL', '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': 6, 'home_runs': 5, 'score_text': 'TB 6 - 5 ATL', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TB 6 - 5 ATL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0252, 'recent_form_edge_home_minus_away': -0.766, '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': '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': 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': 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.0579, 'winner': 'TB', '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-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_TB@ATL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TB@ATL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 2, 'sample_weight': 0.03, 'home_net_margin': -11.0, 'absolute_net_margin': 11.0, 'home_average_margin': -5.5, 'home_run_delta': -0.0825, 'away_run_delta': 0.0825, 'evidence': [{'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.024360820932009447}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.023144198584839803}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.022789331985863748}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.022597901459634487}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.02232794698631229}], 'home_distribution': {'0': 0.0497635854452591, '1': 0.08208954949539926, '2': 0.11751138575978672, '3': 0.1459781615787147, '4': 0.1573662873322632, '5': 0.14721476650589832, '6': 0.11951073485848493, '7': 0.08419345386321357, '8': 0.05147135504639245, '9': 0.027306670147420175, '10': 0.01257151892616798, '11': 0.005022531040999569}, 'away_distribution': {'0': 0.04762668073788504, '1': 0.07869953036841125, '2': 0.11324031450621314, '3': 0.1418851989509612, '4': 0.15480330218742472, '5': 0.1470721523471742, '6': 0.12167119578203887, '7': 0.08765005741444432, '8': 0.054982405189111655, '9': 0.030033252238976575, '10': 0.01428525817401203, '11': 0.005916718730990085, '12': 0.002133933372357095}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.313, 'recent_quality_edge': -0.416, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'conflict', 'blended_quality_edge': 0.0579} | ||||
| 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': 'TB 6 - 5 ATL', 'winner': 'TB'}, 'final_simulation_score': {'away_runs': 6, 'home_runs': 5, 'score_text': 'TB 6 - 5 ATL', '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': True, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0252, 'recent_form_edge_home_minus_away': -0.766, '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': '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': 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': 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.0579, 'winner': 'TB', '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: 157. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 160. | |||||
| 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: 160. | |||
| 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: 157. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | ATL | PITCHING_REALISM | current:ATL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ATL | STARTER_PRESENT | current:ATL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | 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 | 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 | 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 | 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 | 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 | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TB 6 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TB 6 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TB wins 6-5. | |||||
| 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.506. | |||||
| 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: 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): TB wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TB 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: TB wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ATL | RECENT_FORM_RANGE | ATL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ATL | TEAM_RECENT_RECORD | ATL wins and win_pct agree: 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: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | ATL | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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 | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; 2B: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=2, sim=1; SO: current=7, sim=10). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Matt Olson: HR current=1 box=0, RBI current=1 box=0; Mauricio Dubón: H current=1 box=0, RBI current=1 box=0, SO current=0 box=2; Drake Baldwin: 2B current=0 box=1, RBI current=1 box=2, SO current=1 box=2; Ronald Acuña Jr.: AB current=4 box=5, BB current=1 box=0; Brewer Hicklen: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Michael Harris II: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Lane Thomas: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, R current=0 box=1; Austin Riley: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, HR current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; 2B: current=1, sim=4; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=2; SO: current=6, 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 | 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=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=2; Chandler Simpson: H current=1 box=0, RBI current=0 box=1, SO current=0 box=1; Nick Madrigal: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Yandy Díaz: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Junior Caminero: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jonny DeLuca: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Jorge Mateo: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Nick Fortes: AB current=3 box=4, 2B 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 | 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.21697079179026 | 4.676679871115991 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.506 | 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 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TB | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 6 | 10 |
| ATL | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 2 | 5 | 10 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TB | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 6 | 0 | 0 | 0 | 0 | |||||
| current | TB | pitching | 10 | 1 | 5 | 1 | 10 | 9.0 | 5 | 0 | 0 | |||||||||
| current | ATL | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 2 | 7 | 0 | 0 | 0 | 0 | |||||
| current | ATL | pitching | 10 | 1 | 6 | 2 | 7 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | TB | batting | 37 | 10 | 4 | 0 | 1 | 6 | 6 | 2 | 7 | 0 | 0 | |||||||
| simulation | TB | pitching | 10 | 1 | 5 | 1 | 10 | 9.0 | 5 | 38 | 157 | |||||||||
| simulation | ATL | batting | 37 | 10 | 3 | 0 | 1 | 5 | 5 | 1 | 10 | 0 | 0 | |||||||
| simulation | ATL | pitching | 10 | 1 | 6 | 2 | 7 | 9.0 | 6 | 39 | 160 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TB | 1B | Ryan Vilade | 0 | 4 | 1 | 0 | 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 | 2B | Nick Madrigal | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 | |
| current | TB | DH | Yandy Díaz | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | 3B | Junior Caminero | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | RF | Jonny DeLuca | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TB | SS | Jorge Mateo | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | C | Nick Fortes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | TB | CF | Cedric Mullins | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | ATL | 1B | Matt Olson | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | 2B | Mauricio Dubón | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | ATL | C | Drake Baldwin | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | ATL | RF | Ronald Acuña Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | ATL | DH | Brewer Hicklen | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | CF | Michael Harris II | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | ATL | LF | Lane Thomas | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | 3B | Austin Riley | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | SS | Ha-Seong Kim | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | TB | 1 | DH | Yandy Díaz | 5 | 5 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | TB | 2 | 1B | Ryan Vilade | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.000 |
| simulation | TB | 3 | 3B | Junior Caminero | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | TB | 4 | RF | Jonny DeLuca | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | TB | 5 | LF | Chandler Simpson | 4 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.000 |
| simulation | TB | 6 | 2B | Nick Madrigal | 4 | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | TB | 7 | SS | Jorge Mateo | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | TB | 8 | C | Nick Fortes | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | TB | 9 | CF | Cedric Mullins | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | ATL | 1 | C | Drake Baldwin | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 2 | 0 | 0.250 |
| simulation | ATL | 2 | RF | Ronald Acuña Jr. | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | ATL | 3 | 1B | Matt Olson | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 4 | CF | Michael Harris II | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | ATL | 5 | 2B | Mauricio Dubón | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 6 | LF | Lane Thomas | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.750 |
| simulation | ATL | 7 | 3B | Austin Riley | 4 | 4 | 3 | 1 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.750 |
| simulation | ATL | 8 | DH | Brewer Hicklen | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 9 | SS | Ha-Seong Kim | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TB | 1 | Nick Martinez | Starter | 6.0 | 5 | 2 | 2 | 0 | 5 | 0 | 0 | 0 | 3.00 | 3.04 | 1.10 |
| current | TB | 2 | Bryan Baker | Closer | 1.0 | 2 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 9.00 | 1.45 | 0.86 |
| current | TB | 3 | Kevin Kelly | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0.00 | 2.13 | 0.84 |
| current | TB | 4 | Tyler Wells | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 1 | 0 | 1 | 0 | 0 | 18.00 | 2.44 | 0.90 |
| current | ATL | 1 | Martín Pérez | Starter | 5.2 | 4 | 2 | 2 | 1 | 4 | 1 | 0 | 0 | 3.18 | 3.25 | 1.27 |
| current | ATL | 2 | Didier Fuentes | Middle Reliever (High Leverage) | 1.1 | 3 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 13.50 | 2.37 | 1.07 |
| current | ATL | 3 | Dylan Lee | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.32 | 0.82 |
| current | ATL | 4 | Raisel Iglesias | Closer | 1.0 | 3 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 18.00 | 2.72 | 1.15 |
| simulation | TB | 1 | Nick Martinez | Starter | 6.0 | 5 | 2 | 2 | 0 | 5 | 0 | 23 | 99 | 3.00 | 3.04 | 1.10 |
| simulation | TB | 2 | Bryan Baker | Closer | 1.0 | 2 | 1 | 1 | 0 | 2 | 0 | 5 | 19 | 9.00 | 1.45 | 0.86 |
| simulation | TB | 3 | Kevin Kelly | Setup Man | 1.0 | 1 | 0 | 0 | 0 | 3 | 0 | 4 | 16 | 0.00 | 2.13 | 0.84 |
| simulation | TB | 4 | Tyler Wells | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 2 | 1 | 0 | 1 | 6 | 23 | 18.00 | 2.44 | 0.90 |
| simulation | ATL | 1 | Martín Pérez | Starter | 5.2 | 4 | 2 | 2 | 1 | 4 | 1 | 22 | 95 | 3.18 | 3.25 | 1.27 |
| simulation | ATL | 2 | Raisel Iglesias | Closer | 1.0 | 3 | 2 | 2 | 0 | 1 | 0 | 6 | 22 | 18.00 | 2.72 | 1.15 |
| simulation | ATL | 3 | Dylan Lee | Setup Man | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.32 | 0.82 |
| simulation | ATL | 4 | Didier Fuentes | Middle Reliever (High Leverage) | 1.1 | 3 | 2 | 2 | 1 | 1 | 0 | 8 | 30 | 13.50 | 2.37 | 1.07 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TB | Nick Martinez | Starter | 6.0 | 2 | 5 | 0 | 5 | 23 | 99 |
| TB | Bryan Baker | Closer | 1.0 | 1 | 2 | 0 | 2 | 5 | 19 |
| TB | Kevin Kelly | Setup Man | 1.0 | 0 | 1 | 0 | 3 | 4 | 16 |
| TB | Tyler Wells | Middle Reliever (High Leverage) | 1.0 | 2 | 2 | 1 | 0 | 6 | 23 |
| ATL | Martín Pérez | Starter | 5.2 | 2 | 4 | 1 | 4 | 22 | 95 |
| ATL | Didier Fuentes | Middle Reliever (High Leverage) | 1.1 | 2 | 3 | 1 | 1 | 8 | 30 |
| ATL | Dylan Lee | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| ATL | Raisel Iglesias | Closer | 1.0 | 2 | 3 | 0 | 1 | 6 | 22 |
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. |
20260910_TEX@SEA
20260910_TEX@SEA.json • 2026-09-10
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 | 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_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=29; H: current=7, sim=5; HR: current=1, sim=3; RBI: current=4, sim=5; BB: current=3, sim=2; SO: current=10, sim=7; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Cal Raleigh: AB current=4 box=3, H current=0 box=1, HR current=0 box=1, SO current=2 box=0; Dominic Canzone: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Randy Arozarena: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0; J.P. Crawford: H current=1 box=0, BB current=1 box=0; Lazaro Montes: H current=1 box=2, HR current=0 box=2, RBI current=1 box=4, R current=0 box=1; Josh Naylor: AB current=4 box=3, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Julio Rodríguez: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cole Young: 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 | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=7, sim=6; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; R: current=5, sim=4; SO: current=10, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Ezequiel Duran: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Joc Pederson: AB current=3 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=0 box=1; Wyatt Langford: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Brandon Nimmo: H current=1 box=2, 3B current=0 box=1, RBI current=1 box=3, R current=0 box=1; Corey Seager: RBI current=1 box=0, BB current=1 box=0; Evan Carter: AB current=3 box=4, H current=0 box=1, R current=0 box=1, BB current=1 box=0; Jake Burger: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Danny Jansen: AB current=3 box=4, 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 | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | SEA | BATTING_TOTALS_SUM | current:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match TEX pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match TEX pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=32 matches TEX BF=32. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match SEA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match SEA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match SEA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match SEA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=36 matches SEA BF=36. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.530 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 549, 'empirical_hit_rate': 0.5501, 'empirical_weight': 0.5, 'blended_confidence': 0.5301, 'published_confidence': 0.527296, '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 | cross_schema | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX current pitcher projected totals match final simulation pitching box score. | |||
| 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 | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.473. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.527. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.527. | |||||
| 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.480/0.657. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 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: TEX 6, SEA 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TEX 4 - SEA 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SEA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SEA; cap=0.56, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'SEA', 'opponent_team': 'TEX', 'h2h_net_margin': -8, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'SEA'}, {'date': '2026-09-08', 'predicted_team_runs': 5, 'opponent_runs': 10, 'margin_for_predicted_team': -5, 'winner': 'TEX'}, {'date': '2026-07-27', 'predicted_team_runs': 3, 'opponent_runs': 7, 'margin_for_predicted_team': -4, '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': 0, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260909', 'away': 'TEX', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.5487230000000001, 'artifact': '20260909_TEX@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'TEX', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 5, 'raw_pick_probability': 0.5248079999999999, 'artifact': '20260908_TEX@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260727', 'away': 'SEA', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 4, 'raw_pick_probability': 0.56, 'artifact': '20260727_SEA@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260726', 'away': 'SEA', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'SEA', 'actual_margin': 2, 'raw_pick_probability': 0.514299, 'artifact': '20260726_SEA@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260724', 'away': 'SEA', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'TEX', 'actual_margin': 1, 'raw_pick_probability': 0.64, 'artifact': '20260724_SEA@TEX.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'TEX', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'TEX', 'simulation_score_winner': 'SEA', 'final_score_winner': 'SEA', 'pre_simulation_winner': 'SEA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0312, 'recent_form_edge_home_minus_away': -0.61, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'SEA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SEA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3715, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_TEX@SEA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TEX@SEA. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -12.0, 'absolute_net_margin': 12.0, 'home_average_margin': -2.4, 'home_run_delta': -0.0692, 'away_run_delta': 0.0692, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.02201285249751714}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.021845958204836587}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.021556483639830825}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.02139304938749323}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.019706266640635652}], 'home_distribution': {'0': 0.041878282018934766, '1': 0.06953694913895442, '2': 0.1015218230257107, '3': 0.13032273417435353, '4': 0.1470950160342283, '5': 0.14597978943373952, '6': 0.12738095709976402, '7': 0.09773121150634498, '8': 0.0659293899341725, '9': 0.03910585914343131, '10': 0.020394901214384135, '11': 0.009352298942868174, '12': 0.0037707883331136423}, 'away_distribution': {'0': 0.0436282959822752, '1': 0.07233547530825109, '2': 0.10513905152585003, '3': 0.13396964201730735, '4': 0.14965056662691315, '5': 0.1465480219589135, '6': 0.12580884720203214, '7': 0.09468300470589493, '8': 0.062468705560644905, '9': 0.03613121856003512, '10': 0.018320289722052106, '11': 0.008143511100809396, '12': 0.003173369729021185}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.2808, 'recent_quality_edge': -0.54, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.3715} | ||||
| 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': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0312, 'recent_form_edge_home_minus_away': -0.61, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'SEA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SEA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3715, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 141. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 156. | |||||
| 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: 156. | |||
| 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: 141. | |||
| 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 | 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 | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TEX 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TEX 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SEA, simulation=SEA, published=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.527. | |||||
| 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: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): SEA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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: 6/10 = 0.600. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | SEA | BATTING_TOTALS_SUM | current:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match TEX pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match TEX pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match TEX pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match TEX pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=32 matches TEX BF=32. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match SEA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match SEA pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match SEA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match SEA pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=36 matches SEA BF=36. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.510 -> 0.530 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.5101, 'sample_size': 549, 'empirical_hit_rate': 0.5501, 'empirical_weight': 0.5, 'blended_confidence': 0.5301, 'published_confidence': 0.527296, '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 | cross_schema | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX current pitcher projected totals match final simulation pitching box score. | |||
| 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 | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.473. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.527. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.527. | |||||
| 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.480/0.657. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 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: TEX 6, SEA 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TEX 4 - SEA 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SEA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for SEA; cap=0.56, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'SEA', 'opponent_team': 'TEX', 'h2h_net_margin': -8, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-09', 'predicted_team_runs': 3, 'opponent_runs': 2, 'margin_for_predicted_team': 1, 'winner': 'SEA'}, {'date': '2026-09-08', 'predicted_team_runs': 5, 'opponent_runs': 10, 'margin_for_predicted_team': -5, 'winner': 'TEX'}, {'date': '2026-07-27', 'predicted_team_runs': 3, 'opponent_runs': 7, 'margin_for_predicted_team': -4, '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': 0, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260909', 'away': 'TEX', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'SEA', 'actual_margin': 1, 'raw_pick_probability': 0.5487230000000001, 'artifact': '20260909_TEX@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260908', 'away': 'TEX', 'home': 'SEA', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 5, 'raw_pick_probability': 0.5248079999999999, 'artifact': '20260908_TEX@SEA.json', 'verification': 'pregame_official_final'}, {'date': '20260727', 'away': 'SEA', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'TEX', 'actual_margin': 4, 'raw_pick_probability': 0.56, 'artifact': '20260727_SEA@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260726', 'away': 'SEA', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'TEX', 'actual_winner': 'SEA', 'actual_margin': 2, 'raw_pick_probability': 0.514299, 'artifact': '20260726_SEA@TEX.json', 'verification': 'pregame_official_final'}, {'date': '20260724', 'away': 'SEA', 'home': 'TEX', 'game_number': 1, 'predicted_team': 'SEA', 'actual_winner': 'TEX', 'actual_margin': 1, 'raw_pick_probability': 0.64, 'artifact': '20260724_SEA@TEX.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'SEA', 'guardrail_opponent_team': 'TEX', 'output_pre_simulation_winner': 'SEA', 'output_opponent_team': 'TEX', 'simulation_score_winner': 'SEA', 'final_score_winner': 'SEA', 'pre_simulation_winner': 'SEA', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0312, 'recent_form_edge_home_minus_away': -0.61, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'SEA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SEA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3715, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-10. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260910_TEX@SEA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TEX@SEA. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -12.0, 'absolute_net_margin': 12.0, 'home_average_margin': -2.4, 'home_run_delta': -0.0692, 'away_run_delta': 0.0692, 'evidence': [{'game_id': None, 'home_margin': 1.0}, {'game_id': None, 'home_margin': -5.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 2.0}, {'game_id': None, 'home_margin': -6.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.02201285249751714}, {'home_runs': 5, 'away_runs': 4, 'probability': 0.021845958204836587}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.021556483639830825}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.02139304938749323}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.019706266640635652}], 'home_distribution': {'0': 0.041878282018934766, '1': 0.06953694913895442, '2': 0.1015218230257107, '3': 0.13032273417435353, '4': 0.1470950160342283, '5': 0.14597978943373952, '6': 0.12738095709976402, '7': 0.09773121150634498, '8': 0.0659293899341725, '9': 0.03910585914343131, '10': 0.020394901214384135, '11': 0.009352298942868174, '12': 0.0037707883331136423}, 'away_distribution': {'0': 0.0436282959822752, '1': 0.07233547530825109, '2': 0.10513905152585003, '3': 0.13396964201730735, '4': 0.14965056662691315, '5': 0.1465480219589135, '6': 0.12580884720203214, '7': 0.09468300470589493, '8': 0.062468705560644905, '9': 0.03613121856003512, '10': 0.018320289722052106, '11': 0.008143511100809396, '12': 0.003173369729021185}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 1.75, '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.2808, 'recent_quality_edge': -0.54, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.3715} | ||||
| 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': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'TEX 4 - 5 SEA', 'winner': 'SEA'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0312, 'recent_form_edge_home_minus_away': -0.61, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'SEA', 'model_winner': 'SEA', 'simulation_winner': 'SEA', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'SEA', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'SEA', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.3715, 'winner': 'SEA', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 141. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 156. | |||||
| 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: 156. | |||
| 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: 141. | |||
| 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 | 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 | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TEX 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TEX 4 - 5 SEA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=SEA, simulation=SEA, published=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.527. | |||||
| 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: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): SEA wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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. | |||
| 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: 6/10 = 0.600. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| 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_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=29; H: current=7, sim=5; HR: current=1, sim=3; RBI: current=4, sim=5; BB: current=3, sim=2; SO: current=10, sim=7; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Cal Raleigh: AB current=4 box=3, H current=0 box=1, HR current=0 box=1, SO current=2 box=0; Dominic Canzone: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Randy Arozarena: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0; J.P. Crawford: H current=1 box=0, BB current=1 box=0; Lazaro Montes: H current=1 box=2, HR current=0 box=2, RBI current=1 box=4, R current=0 box=1; Josh Naylor: AB current=4 box=3, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Julio Rodríguez: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cole Young: 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 | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=7, sim=6; 2B: current=1, sim=2; 3B: current=0, sim=1; HR: current=1, sim=0; R: current=5, sim=4; SO: current=10, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Ezequiel Duran: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Joc Pederson: AB current=3 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=0 box=1; Wyatt Langford: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Brandon Nimmo: H current=1 box=2, 3B current=0 box=1, RBI current=1 box=3, R current=0 box=1; Corey Seager: RBI current=1 box=0, BB current=1 box=0; Evan Carter: AB current=3 box=4, H current=0 box=1, R current=0 box=1, BB current=1 box=0; Jake Burger: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Danny Jansen: AB current=3 box=4, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.902514155344706 | 4.3480114586377985 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.527 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TEX | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 6 |
| SEA | 0 | 1 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 5 | 5 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TEX | batting | 31 | 7 | 1 | 0 | 1 | 4 | 5 | 3 | 10 | 0 | 0 | 0 | 0 | |||||
| current | TEX | pitching | 5 | 3 | 5 | 2 | 7 | 8.0 | 5 | 0 | 0 | |||||||||
| current | SEA | batting | 33 | 7 | 1 | 0 | 1 | 4 | 5 | 3 | 10 | 0 | 0 | 0 | 0 | |||||
| current | SEA | pitching | 6 | 0 | 4 | 3 | 8 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | TEX | batting | 33 | 6 | 2 | 1 | 0 | 4 | 4 | 3 | 8 | 0 | 0 | |||||||
| simulation | TEX | pitching | 5 | 3 | 5 | 2 | 7 | 8.0 | 5 | 32 | 141 | |||||||||
| simulation | SEA | batting | 29 | 5 | 1 | 0 | 3 | 5 | 5 | 2 | 7 | 0 | 1 | |||||||
| simulation | SEA | pitching | 6 | 0 | 4 | 3 | 8 | 9.0 | 4 | 36 | 156 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TEX | 3B | Ezequiel Duran | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 | |
| current | TEX | DH | Joc Pederson | 0 | 3 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | TEX | LF | Wyatt Langford | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | RF | Brandon Nimmo | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | SS | Corey Seager | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TEX | CF | Evan Carter | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | TEX | 1B | Jake Burger | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TEX | C | Danny Jansen | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TEX | 2B | Nicky Lopez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SEA | C | Cal Raleigh | 0 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.000 | |
| current | SEA | DH | Dominic Canzone | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | LF | Randy Arozarena | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | SEA | SS | J.P. Crawford | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | SEA | RF | Lazaro Montes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | SEA | 3B | Brock Rodden | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SEA | 1B | Josh Naylor | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SEA | CF | Julio Rodríguez | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | 2B | Cole Young | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | TEX | 1 | DH | Joc Pederson | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | TEX | 2 | SS | Corey Seager | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TEX | 3 | 3B | Ezequiel Duran | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | TEX | 4 | RF | Brandon Nimmo | 4 | 4 | 2 | 0 | 1 | 0 | 1 | 3 | 0 | 1 | 0 | 0.500 |
| simulation | TEX | 5 | LF | Wyatt Langford | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TEX | 6 | CF | Evan Carter | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TEX | 7 | 1B | Jake Burger | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | TEX | 8 | 2B | Nicky Lopez | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | TEX | 9 | C | Danny Jansen | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SEA | 1 | SS | J.P. Crawford | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | SEA | 2 | LF | Randy Arozarena | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 |
| simulation | SEA | 3 | DH | Dominic Canzone | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | SEA | 4 | C | Cal Raleigh | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | SEA | 5 | CF | Julio Rodríguez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SEA | 6 | 1B | Josh Naylor | 3 | 3 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | SEA | 7 | 2B | Cole Young | 3 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | SEA | 8 | RF | Lazaro Montes | 3 | 3 | 2 | 0 | 0 | 2 | 1 | 4 | 0 | 1 | 0 | 0.667 |
| simulation | SEA | 9 | 3B | Brock Rodden | 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 | TEX | 1 | Jacob deGrom | Starter | 5.0 | 1 | 1 | 1 | 1 | 6 | 1 | 0 | 0 | 1.80 | 3.96 | 1.12 |
| current | TEX | 2 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.82 | 1.42 |
| current | TEX | 3 | Jacob Latz | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.42 | 0.71 |
| current | TEX | 4 | Jakob Junis | Setup Man | 1.0 | 4 | 4 | 4 | 0 | 0 | 2 | 0 | 0 | 36.00 | 2.74 | 1.14 |
| current | SEA | 1 | Logan Gilbert | Starter | 5.2 | 4 | 3 | 3 | 3 | 6 | 0 | 0 | 0 | 4.76 | 3.71 | 1.07 |
| current | SEA | 2 | Andrés Muñoz | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.71 | 1.11 |
| current | SEA | 3 | José A. Ferrer | Setup Man | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 6.75 | 3.77 | 1.39 |
| current | SEA | 4 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.90 | 1.46 |
| simulation | TEX | 1 | Jacob deGrom | Starter | 5.0 | 1 | 1 | 1 | 1 | 6 | 1 | 18 | 82 | 1.80 | 3.96 | 1.12 |
| simulation | TEX | 2 | Jacob Latz | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.42 | 0.71 |
| simulation | TEX | 3 | Jakob Junis | Setup Man | 1.0 | 4 | 4 | 4 | 0 | 0 | 2 | 7 | 25 | 36.00 | 2.74 | 1.14 |
| simulation | TEX | 4 | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 21 | 0.00 | 2.82 | 1.42 |
| simulation | SEA | 1 | Logan Gilbert | Starter | 5.2 | 4 | 3 | 3 | 3 | 6 | 0 | 24 | 107 | 4.76 | 3.71 | 1.07 |
| simulation | SEA | 2 | Andrés Muñoz | Closer | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.71 | 1.11 |
| simulation | SEA | 3 | José A. Ferrer | Setup Man | 1.1 | 2 | 1 | 1 | 0 | 1 | 0 | 6 | 23 | 6.75 | 3.77 | 1.39 |
| simulation | SEA | 4 | Eduard Bazardo | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 3.90 | 1.46 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TEX | Jacob deGrom | Starter | 5.0 | 1 | 1 | 1 | 6 | 18 | 82 |
| TEX | Chase Silseth | Middle Reliever (High Leverage) | 1.0 | 0 | 0 | 1 | 1 | 4 | 21 |
| TEX | Jacob Latz | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| TEX | Jakob Junis | Setup Man | 1.0 | 4 | 4 | 0 | 0 | 7 | 25 |
| SEA | Logan Gilbert | Starter | 5.2 | 3 | 4 | 3 | 6 | 24 | 107 |
| SEA | Andrés Muñoz | Closer | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| SEA | José A. Ferrer | Setup Man | 1.1 | 1 | 2 | 0 | 1 | 6 | 23 |
| SEA | Eduard Bazardo | 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 | 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. |