20260430_ARI@MIL
20260430_ARI@MIL.json • 2026-04-30
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | ARI | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | ARI | BATTING_REALISM | current:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | ARI | BATTING_TOTALS_SUM | current:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | ARI | BATTING_TOTALS_SUM | simulation:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match MIL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match MIL pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match MIL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=40 matches MIL BF=40. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match ARI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match ARI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match ARI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match ARI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=43 matches ARI BF=43. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | ARI | CURRENT_LINEUP_SHAPE | ARI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | ARI | CURRENT_MODEL_ZERO_FALLBACK | ARI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | ARI | CURRENT_NAMES_PRESENT | ARI current hitter names are populated. | |||
| PASS | current_payload | current | ARI | CURRENT_PREDICTIONS_MATCH_FINALIZED | ARI hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines mirror simulation box score. | |||
| 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.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.484. | |||||
| 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.318/0.736. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ARI 11, MIL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 5 - MIL 4. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ARI; cap=0.6, reasons=latest same-matchup result beat the predicted side. | {'applied': True, 'confidence_cap': 0.6, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'ARI', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 2, 'opponent_runs': 6, 'margin_for_predicted_team': -4, 'winner': 'ARI'}, {'date': '2026-04-28', 'predicted_team_runs': 13, 'opponent_runs': 2, 'margin_for_predicted_team': 11, 'winner': 'MIL'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'ARI', 'confidence': 0.5477109871622392, 'actual_winner': 'ARI', 'actual_margin': 4, 'path': '20260429_ARI@MIL.json'}, {'date': '2026-04-28', 'predicted_team': 'MIL', 'confidence': 0.4562669067785317, 'actual_winner': 'MIL', 'actual_margin': 11, 'path': '20260428_ARI@MIL.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_ARI@MIL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ARI@MIL. | |||||
| 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: 176. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 167. | |||||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_PITCHER_MATCH | ARI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_TOTAL_MATCH | ARI pitch_count_summary total, row sum, and pitching total all match: 176. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_PITCHER_MATCH | MIL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_TOTAL_MATCH | MIL pitch_count_summary total, row sum, and pitching total all match: 167. | |||
| PASS | pitching | current | ARI | PITCHING_REALISM | current:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ARI | STARTER_PRESENT | current:ARI includes a starter/opener role. | |||
| PASS | pitching | current | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | ARI | PITCHING_REALISM | simulation:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | ARI | STARTER_PRESENT | simulation:ARI includes a starter/opener role. | |||
| PASS | pitching | simulation | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ARI 5 - 4 MIL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 5 - 4 MIL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 5-4. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.516. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: ARI wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ARI wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ARI | RECENT_FORM_RANGE | ARI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ARI | TEAM_RECENT_RECORD | ARI wins and win_pct agree: 14/29 = 0.483. | |||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 9/29 = 0.310. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | ARI | BATTING_REALISM | current:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | ARI | BATTING_TOTALS_SUM | current:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | ARI | BATTING_TOTALS_SUM | simulation:ARI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match MIL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match MIL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match MIL pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match MIL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=40 matches MIL BF=40. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match ARI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match ARI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match ARI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match ARI pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=43 matches ARI BF=43. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | ARI | CURRENT_LINEUP_SHAPE | ARI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | ARI | CURRENT_MODEL_ZERO_FALLBACK | ARI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | ARI | CURRENT_NAMES_PRESENT | ARI current hitter names are populated. | |||
| PASS | current_payload | current | ARI | CURRENT_PREDICTIONS_MATCH_FINALIZED | ARI hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines mirror simulation box score. | |||
| 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.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.516. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.484. | |||||
| 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.318/0.736. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ARI 11, MIL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 5 - MIL 4. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ARI; cap=0.6, reasons=latest same-matchup result beat the predicted side. | {'applied': True, 'confidence_cap': 0.6, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side'], 'signals': {'predicted_team': 'MIL', 'opponent_team': 'ARI', 'h2h_net_margin': 7, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 2, 'opponent_runs': 6, 'margin_for_predicted_team': -4, 'winner': 'ARI'}, {'date': '2026-04-28', 'predicted_team_runs': 13, 'opponent_runs': 2, 'margin_for_predicted_team': 11, 'winner': 'MIL'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'ARI', 'confidence': 0.5477109871622392, 'actual_winner': 'ARI', 'actual_margin': 4, 'path': '20260429_ARI@MIL.json'}, {'date': '2026-04-28', 'predicted_team': 'MIL', 'confidence': 0.4562669067785317, 'actual_winner': 'MIL', 'actual_margin': 11, 'path': '20260428_ARI@MIL.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_ARI@MIL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ARI@MIL. | |||||
| 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: 176. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 167. | |||||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_PITCHER_MATCH | ARI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | ARI | PITCH_COUNT_TOTAL_MATCH | ARI pitch_count_summary total, row sum, and pitching total all match: 176. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_PITCHER_MATCH | MIL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIL | PITCH_COUNT_TOTAL_MATCH | MIL pitch_count_summary total, row sum, and pitching total all match: 167. | |||
| PASS | pitching | current | ARI | PITCHING_REALISM | current:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | ARI | STARTER_PRESENT | current:ARI includes a starter/opener role. | |||
| PASS | pitching | current | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | ARI | PITCHING_REALISM | simulation:ARI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | ARI | STARTER_PRESENT | simulation:ARI includes a starter/opener role. | |||
| PASS | pitching | simulation | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | ARI | PITCHING_TOTALS_SUM | current:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | ARI | PITCHING_TOTALS_SUM | simulation:ARI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ARI 5 - 4 MIL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 5 - 4 MIL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 5-4. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.516. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: ARI wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ARI wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | ARI | RECENT_FORM_RANGE | ARI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | ARI | TEAM_RECENT_RECORD | ARI wins and win_pct agree: 14/29 = 0.483. | |||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 9/29 = 0.310. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | ARI | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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.173615455627441 | 4.565174102783203 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 6 | 5 | 0.516 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 6 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ARI | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 5 | 11 |
| MIL | 0 | 1 | 0 | 0 | 2 | 0 | 1 | 0 | 0 | 4 | 9 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | batting | 38 | 11 | 3 | 1 | 1 | 5 | 5 | 2 | 6 | 0 | 0 | 0 | 0 | ||||
| current | ARI | pitching | 9 | 1 | 4 | 7 | 7 | 9.0 | 4 | 0 | 0 | ||||||||
| current | MIL | batting | 36 | 9 | 1 | 0 | 1 | 4 | 4 | 7 | 7 | 0 | 0 | 0 | 0 | ||||
| current | MIL | pitching | 11 | 1 | 5 | 2 | 6 | 9.0 | 5 | 0 | 0 | ||||||||
| simulation | ARI | batting | 38 | 11 | 3 | 1 | 1 | 5 | 5 | 2 | 6 | 0 | 0 | ||||||
| simulation | ARI | pitching | 9 | 1 | 4 | 7 | 7 | 9.0 | 4 | 43 | 176 | ||||||||
| simulation | MIL | batting | 36 | 9 | 1 | 0 | 1 | 4 | 4 | 7 | 7 | 0 | 0 | ||||||
| simulation | MIL | pitching | 11 | 1 | 5 | 2 | 6 | 9.0 | 5 | 40 | 167 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | SS | Geraldo Perdomo | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 | |
| current | ARI | C | James McCann | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | ARI | CF | Alek Thomas | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | ARI | 3B | Nolan Arenado | 3 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.667 | |
| current | ARI | LF | Lourdes Gurriel Jr. | 4 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 | |
| current | ARI | DH | Adrian Del Castillo | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | ARI | RF | Corbin Carroll | 4 | 3 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0.750 | |
| current | ARI | 1B | Ildemaro Vargas | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.250 | |
| current | ARI | 2B | Ketel Marte | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 | |
| current | MIL | 1B | Jake Bauers | 3 | 3 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0 | 1.000 | |
| current | MIL | 3B | Luis Rengifo | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | MIL | RF | Sal Frelick | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 | |
| current | MIL | 2B | Brice Turang | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 | |
| current | MIL | CF | Garrett Mitchell | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 | |
| current | MIL | C | William Contreras | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | MIL | LF | Greg Jones | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIL | DH | Tyler Black | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | MIL | SS | David Hamilton | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | ||
| simulation | ARI | 1 | SS | Geraldo Perdomo | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | ARI | 2 | 2B | Ketel Marte | 5 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | ARI | 3 | RF | Corbin Carroll | 4 | 3 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0.750 |
| simulation | ARI | 4 | DH | Adrian Del Castillo | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | ARI | 5 | 1B | Ildemaro Vargas | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | ARI | 6 | LF | Lourdes Gurriel Jr. | 4 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | ARI | 7 | 3B | Nolan Arenado | 3 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.667 |
| simulation | ARI | 8 | CF | Alek Thomas | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | ARI | 9 | C | James McCann | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIL | 1 | CF | Garrett Mitchell | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | MIL | 2 | 2B | Brice Turang | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 |
| simulation | MIL | 3 | C | William Contreras | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIL | 4 | 1B | Jake Bauers | 3 | 3 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0 | 1.000 |
| simulation | MIL | 5 | DH | Tyler Black | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIL | 6 | 3B | Luis Rengifo | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | MIL | 7 | RF | Sal Frelick | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | MIL | 8 | LF | Greg Jones | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | MIL | 9 | SS | David Hamilton | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | 1 | Michael Soroka | Starter | 5.0 | 5 | 3 | 3 | 4 | 4 | 0 | 0 | 0 | 5.40 | 2.60 | 1.16 |
| current | ARI | 3 | Eduardo Rodriguez | Reliever | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | ||
| current | ARI | 4 | Juan Morillo | Reliever | 1.0 | 2 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 9.00 | ||
| current | ARI | 5 | Merrill Kelly | Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | ||
| current | ARI | 6 | Ryne Nelson | Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | ||
| current | MIL | 1 | Brandon Woodruff | Starter | 5.0 | 9 | 5 | 5 | 1 | 1 | 1 | 0 | 0 | 9.00 | 3.77 | 1.01 |
| current | MIL | 2 | Aaron Ashby | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.45 | 1.42 |
| current | MIL | 3 | Abner Uribe | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.97 | 1.06 |
| current | MIL | 5 | Grant Anderson | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.60 | 1.07 |
| current | MIL | 6 | Trevor Megill | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 3.60 | 1.30 |
| simulation | ARI | 1 | Michael Soroka | Starter | 5.0 | 5 | 3 | 3 | 4 | 4 | 0 | 24 | 92 | 5.40 | 2.60 | 1.16 |
| simulation | ARI | 2 | Eduardo Rodriguez | Reliever | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 25 | 0.00 | ||
| simulation | ARI | 3 | Juan Morillo | Reliever | 1.0 | 2 | 1 | 1 | 1 | 1 | 1 | 6 | 23 | 9.00 | ||
| simulation | ARI | 4 | Merrill Kelly | Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 16 | 0.00 | ||
| simulation | ARI | 5 | Ryne Nelson | Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 20 | 0.00 | ||
| simulation | MIL | 1 | Brandon Woodruff | Starter | 5.0 | 9 | 5 | 5 | 1 | 1 | 1 | 25 | 95 | 9.00 | 3.77 | 1.01 |
| simulation | MIL | 2 | Abner Uribe | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 18 | 0.00 | 3.97 | 1.06 |
| simulation | MIL | 3 | Aaron Ashby | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 22 | 0.00 | 2.45 | 1.42 |
| simulation | MIL | 4 | Trevor Megill | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 20 | 0.00 | 3.60 | 1.30 |
| simulation | MIL | 5 | Grant Anderson | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 12 | 0.00 | 3.60 | 1.07 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| ARI | Michael Soroka | Starter | 5.0 | 3 | 5 | 4 | 4 | 24 | 92 |
| ARI | Eduardo Rodriguez | Reliever | 1.0 | 0 | 1 | 1 | 1 | 5 | 25 |
| ARI | Juan Morillo | Reliever | 1.0 | 1 | 2 | 1 | 1 | 6 | 23 |
| ARI | Merrill Kelly | Reliever | 1.0 | 0 | 0 | 1 | 1 | 4 | 16 |
| ARI | Ryne Nelson | Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 20 |
| MIL | Brandon Woodruff | Starter | 5.0 | 5 | 9 | 1 | 1 | 25 | 95 |
| MIL | Abner Uribe | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 18 |
| MIL | Aaron Ashby | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 22 |
| MIL | Trevor Megill | Middle Reliever | 1.0 | 0 | 0 | 1 | 2 | 4 | 20 |
| MIL | Grant Anderson | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 12 |
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_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |
20260430_COL@CIN
20260430_COL@CIN.json • 2026-04-30
Final simulation is structurally valid with warnings to review. Risk score: 20.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Pitching Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 2W | CIN | current:CIN starter line(s) need review: Andrew Abbott: 2.0 IP, 5 ER early hook simulation:CIN starter line(s) need review: Andrew Abbott: 2.0 IP, 5 ER early hook |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | pitching | current | CIN | PITCHING_REALISM | current:CIN starter line(s) need review: Andrew Abbott: 2.0 IP, 5 ER early hook | |||
| WARN | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN starter line(s) need review: Andrew Abbott: 2.0 IP, 5 ER early hook |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | pitching | current | CIN | PITCHING_REALISM | current:CIN starter line(s) need review: Andrew Abbott: 2.0 IP, 5 ER early hook | |||
| WARN | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN starter line(s) need review: Andrew Abbott: 2.0 IP, 5 ER early hook | |||
| INFO | current_payload | current | CIN | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_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 | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CIN | BATTING_TOTALS_SUM | current:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match COL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match COL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=39 matches COL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=41 matches CIN BF=41. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 6. | |||
| PASS | cross_schema | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CIN | CURRENT_LINEUP_SHAPE | CIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CIN | CURRENT_MODEL_ZERO_FALLBACK | CIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CIN | CURRENT_NAMES_PRESENT | CIN current hitter names are populated. | |||
| PASS | current_payload | current | CIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | CIN hitter predictions mirror finalized stats. | |||
| PASS | 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_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines mirror simulation box score. | |||
| 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.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.470. | |||||
| 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.289/0.678. | |||||
| 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: COL 11, CIN 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: COL 6 - CIN 5. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for COL; cap=0.53, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': True, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs', 'repeat-pick guardrail flipped the lean after a blowout miss and opponent breakout'], 'signals': {'predicted_team': 'CIN', 'opponent_team': 'COL', 'h2h_net_margin': -6, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 2, 'opponent_runs': 13, 'margin_for_predicted_team': -11, 'winner': 'COL'}, {'date': '2026-04-28', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'CIN'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'CIN', 'confidence': 0.6469851644237723, 'actual_winner': 'COL', 'actual_margin': 11, 'path': '20260429_COL@CIN.json'}, {'date': '2026-04-28', 'predicted_team': 'CIN', 'confidence': 0.61, 'actual_winner': 'CIN', 'actual_margin': 5, 'path': '20260428_COL@CIN.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_COL@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: COL@CIN. | |||||
| 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: 178. | |||||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_PITCHER_MATCH | CIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_TOTAL_MATCH | CIN pitch_count_summary total, row sum, and pitching total all match: 178. | |||
| 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: 157. | |||
| PASS | pitching | current | CIN | PITCHING_REALISM | current:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CIN | STARTER_PRESENT | current:CIN includes a starter/opener role. | |||
| PASS | pitching | current | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CIN | STARTER_PRESENT | simulation:CIN includes a starter/opener role. | |||
| PASS | pitching | simulation | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: COL 6 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: COL 6 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: COL wins 6-5. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 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 is consistent: COL wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: COL 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: COL wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CIN | RECENT_FORM_RANGE | CIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CIN | TEAM_RECENT_RECORD | CIN wins and win_pct agree: 10/30 = 0.333. | |||
| 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: 9/31 = 0.290. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | CIN | BATTING_REALISM | current:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CIN | BATTING_TOTALS_SUM | current:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CIN | BATTING_TOTALS_SUM | simulation:CIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match COL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match COL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match COL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=39 matches COL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match CIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match CIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=41 matches CIN BF=41. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 6. | |||
| PASS | cross_schema | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CIN | CURRENT_LINEUP_SHAPE | CIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CIN | CURRENT_MODEL_ZERO_FALLBACK | CIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CIN | CURRENT_NAMES_PRESENT | CIN current hitter names are populated. | |||
| PASS | current_payload | current | CIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | CIN hitter predictions mirror finalized stats. | |||
| PASS | 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_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines mirror simulation box score. | |||
| 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.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.530. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.470. | |||||
| 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.289/0.678. | |||||
| 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: COL 11, CIN 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: COL 6 - CIN 5. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for COL; cap=0.53, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.53, 'winner_flipped': True, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'local prediction memory shows 2 straight prior same-side picks', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs', 'repeat-pick guardrail flipped the lean after a blowout miss and opponent breakout'], 'signals': {'predicted_team': 'CIN', 'opponent_team': 'COL', 'h2h_net_margin': -6, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 2, 'opponent_runs': 13, 'margin_for_predicted_team': -11, 'winner': 'COL'}, {'date': '2026-04-28', 'predicted_team_runs': 7, 'opponent_runs': 2, 'margin_for_predicted_team': 5, 'winner': 'CIN'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'CIN', 'confidence': 0.6469851644237723, 'actual_winner': 'COL', 'actual_margin': 11, 'path': '20260429_COL@CIN.json'}, {'date': '2026-04-28', 'predicted_team': 'CIN', 'confidence': 0.61, 'actual_winner': 'CIN', 'actual_margin': 5, 'path': '20260428_COL@CIN.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_COL@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: COL@CIN. | |||||
| 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: 178. | |||||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_PITCHER_MATCH | CIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CIN | PITCH_COUNT_TOTAL_MATCH | CIN pitch_count_summary total, row sum, and pitching total all match: 178. | |||
| 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: 157. | |||
| PASS | pitching | current | CIN | PITCHING_REALISM | current:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CIN | STARTER_PRESENT | current:CIN includes a starter/opener role. | |||
| PASS | pitching | current | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | CIN | PITCHING_REALISM | simulation:CIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CIN | STARTER_PRESENT | simulation:CIN includes a starter/opener role. | |||
| PASS | pitching | simulation | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CIN | PITCHING_TOTALS_SUM | current:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CIN | PITCHING_TOTALS_SUM | simulation:CIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | COL | PITCHING_TOTALS_SUM | simulation:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: COL 6 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: COL 6 - 5 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: COL wins 6-5. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 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 is consistent: COL wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: COL 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: COL wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | CIN | RECENT_FORM_RANGE | CIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CIN | TEAM_RECENT_RECORD | CIN wins and win_pct agree: 10/30 = 0.333. | |||
| 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: 9/31 = 0.290. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CIN | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_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 | 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.603581428527832 | 4.281658172607422 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 7 | 4 | 0.530 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 7 | 4 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 11 |
| CIN | 0 | 2 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 5 | 6 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | COL | batting | 37 | 11 | 3 | 0 | 2 | 6 | 6 | 2 | 11 | 1 | 1 | 0 | 0 | ||||
| current | COL | pitching | 6 | 1 | 5 | 3 | 7 | 9.0 | 5 | 0 | 0 | ||||||||
| current | CIN | batting | 33 | 6 | 1 | 0 | 1 | 5 | 5 | 3 | 7 | 0 | 3 | 0 | 0 | ||||
| current | CIN | pitching | 11 | 2 | 6 | 2 | 11 | 9.0 | 6 | 0 | 0 | ||||||||
| simulation | COL | batting | 37 | 11 | 3 | 0 | 2 | 6 | 6 | 2 | 11 | 1 | 1 | ||||||
| simulation | COL | pitching | 6 | 1 | 5 | 3 | 7 | 9.0 | 5 | 39 | 157 | ||||||||
| simulation | CIN | batting | 33 | 6 | 1 | 0 | 1 | 5 | 5 | 3 | 7 | 0 | 3 | ||||||
| simulation | CIN | pitching | 11 | 2 | 6 | 2 | 11 | 9.0 | 6 | 41 | 178 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | COL | LF | Jordan Beck | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 | |
| current | COL | CF | Brenton Doyle | 4 | 2 | 1 | 0 | 1 | 1 | 2 | 1 | 1 | 0 | 0.500 | |
| current | COL | C | Hunter Goodman | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.200 | |
| current | COL | 2B | Willi Castro | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 | |
| current | COL | DH | Tyler Freeman | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.400 | |
| current | COL | 1B | TJ Rumfield | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.500 | |
| current | COL | 3B | Kyle Karros | 2 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1.000 | |
| current | COL | SS | Ezequiel Tovar | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | COL | RF | Troy Johnston | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.000 | |
| current | CIN | LF | JJ Bleday | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | CIN | DH | Nathaniel Lowe | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | CIN | SS | Elly De La Cruz | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | CIN | C | Tyler Stephenson | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 | |
| current | CIN | CF | TJ Friedl | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.000 | |
| current | CIN | 3B | Sal Stewart | 2 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0.500 | |
| current | CIN | 2B | Matt McLain | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.200 | |
| current | CIN | RF | Will Benson | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0.333 | |
| current | CIN | 1B | Spencer Steer | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| simulation | COL | 1 | LF | Jordan Beck | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | COL | 2 | CF | Brenton Doyle | 4 | 2 | 1 | 0 | 1 | 1 | 2 | 1 | 1 | 0 | 0.500 |
| simulation | COL | 3 | C | Hunter Goodman | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.200 |
| simulation | COL | 4 | DH | Tyler Freeman | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.400 |
| simulation | COL | 5 | 2B | Willi Castro | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | COL | 6 | 1B | TJ Rumfield | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.500 |
| simulation | COL | 7 | 3B | Kyle Karros | 2 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1.000 |
| simulation | COL | 8 | SS | Ezequiel Tovar | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | COL | 9 | RF | Troy Johnston | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.000 |
| simulation | CIN | 1 | CF | TJ Friedl | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.000 |
| simulation | CIN | 2 | 2B | Matt McLain | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.200 |
| simulation | CIN | 3 | SS | Elly De La Cruz | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | CIN | 4 | 3B | Sal Stewart | 2 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0.500 |
| simulation | CIN | 5 | DH | Nathaniel Lowe | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | CIN | 6 | C | Tyler Stephenson | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | CIN | 7 | LF | JJ Bleday | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | CIN | 8 | 1B | Spencer Steer | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | CIN | 9 | RF | Will Benson | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0.333 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | COL | 1 | Michael Lorenzen | Starter | 4.0 | 5 | 4 | 4 | 2 | 4 | 1 | 0 | 0 | 9.00 | 5.97 | 1.85 |
| current | COL | 2 | Antonio Senzatela | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.50 | 0.67 |
| current | COL | 3 | Jaden Hill | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.18 | 1.76 |
| current | COL | 4 | Jimmy Herget | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.77 | 1.08 |
| current | COL | 5 | Juan Mejia | Middle Reliever | 1.0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 5.02 | 1.67 |
| current | COL | 6 | Victor Vodnik | Middle Reliever | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 6.94 | 1.97 |
| current | CIN | 1 | Andrew Abbott | Starter | 2.0 | 7 | 5 | 5 | 1 | 4 | 1 | 0 | 0 | 22.50 | 6.59 | 1.78 |
| current | CIN | 2 | Brock Burke | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 0.63 | 1.12 |
| current | CIN | 3 | Connor Phillips | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.16 | 1.38 |
| current | CIN | 4 | Emilio Pagán | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.38 | 1.22 |
| current | CIN | 5 | Pierce Johnson | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 3.75 | 1.25 |
| current | CIN | 6 | Tony Santillan | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.13 | 1.11 |
| current | CIN | 7 | Chase Burns | Reliever | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 9.00 | ||
| current | CIN | 8 | Brandon Williamson | Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | ||
| simulation | COL | 1 | Michael Lorenzen | Starter | 4.0 | 5 | 4 | 4 | 2 | 4 | 1 | 21 | 80 | 9.00 | 5.97 | 1.85 |
| simulation | COL | 2 | Victor Vodnik | Middle Reliever | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 14 | 9.00 | 6.94 | 1.97 |
| simulation | COL | 3 | Antonio Senzatela | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 9 | 0.00 | 0.50 | 0.67 |
| simulation | COL | 4 | Jimmy Herget | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 15 | 0.00 | 2.77 | 1.08 |
| simulation | COL | 5 | Juan Mejia | Middle Reliever | 1.0 | 1 | 0 | 0 | 1 | 0 | 0 | 6 | 25 | 0.00 | 5.02 | 1.67 |
| simulation | COL | 6 | Jaden Hill | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 14 | 0.00 | 3.18 | 1.76 |
| simulation | CIN | 1 | Andrew Abbott | Starter | 2.0 | 7 | 5 | 5 | 1 | 4 | 1 | 14 | 63 | 22.50 | 6.59 | 1.78 |
| simulation | CIN | 2 | Emilio Pagán | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 14 | 0.00 | 4.38 | 1.22 |
| simulation | CIN | 3 | Tony Santillan | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 11 | 0.00 | 2.13 | 1.11 |
| simulation | CIN | 4 | Connor Phillips | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 2.16 | 1.38 |
| simulation | CIN | 5 | Brock Burke | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 4 | 21 | 0.00 | 0.63 | 1.12 |
| simulation | CIN | 6 | Pierce Johnson | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 19 | 0.00 | 3.75 | 1.25 |
| simulation | CIN | 7 | Chase Burns | Reliever | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 5 | 19 | 9.00 | ||
| simulation | CIN | 8 | Brandon Williamson | Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 4 | 18 | 0.00 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| COL | Michael Lorenzen | Starter | 4.0 | 4 | 5 | 2 | 4 | 21 | 80 |
| COL | Victor Vodnik | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 3 | 14 |
| COL | Antonio Senzatela | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 9 |
| COL | Jimmy Herget | Middle Reliever | 1.0 | 0 | 0 | 0 | 2 | 3 | 15 |
| COL | Juan Mejia | Middle Reliever | 1.0 | 0 | 1 | 1 | 0 | 6 | 25 |
| COL | Jaden Hill | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 14 |
| CIN | Andrew Abbott | Starter | 2.0 | 5 | 7 | 1 | 4 | 14 | 63 |
| CIN | Emilio Pagán | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 14 |
| CIN | Tony Santillan | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 11 |
| CIN | Connor Phillips | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| CIN | Brock Burke | Middle Reliever | 1.0 | 0 | 1 | 0 | 2 | 4 | 21 |
| CIN | Pierce Johnson | Middle Reliever | 1.0 | 0 | 0 | 1 | 1 | 4 | 19 |
| CIN | Chase Burns | Reliever | 1.0 | 1 | 1 | 0 | 0 | 5 | 19 |
| CIN | Brandon Williamson | Reliever | 1.0 | 0 | 1 | 0 | 2 | 4 | 18 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PITCHING_REALISM | warning | 0 | 0 | 2 | 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. |
| 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. |
20260430_DET@ATL
20260430_DET@ATL.json • 2026-04-30
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 | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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 | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET 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 | DET | BATTING_TOTALS_SUM | current:DET 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 | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match DET pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match DET pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match DET pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match DET pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=36 matches DET BF=36. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match ATL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match ATL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match ATL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match ATL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=39 matches ATL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 4. | |||
| 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 | DET | CURRENT_FINALIZED_MATCH_BOX | DET 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 | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines mirror simulation box score. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.427. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 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.420/0.900. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: DET 7, ATL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: DET 4 - ATL 5. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ATL; cap=0.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'ATL', 'opponent_team': 'DET', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 4, 'opponent_runs': 3, 'margin_for_predicted_team': 1, 'winner': 'ATL'}, {'date': '2026-04-28', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'ATL'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'ATL', 'confidence': 0.6807368495496199, 'actual_winner': 'ATL', 'actual_margin': 1, 'path': '20260429_DET@ATL.json'}, {'date': '2026-04-28', 'predicted_team': 'ATL', 'confidence': 0.89, 'actual_winner': 'ATL', 'actual_margin': 3, 'path': '20260428_DET@ATL.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_DET@ATL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: DET@ATL. | |||||
| 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: 170. | |||||
| 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: 170. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 147. | |||
| 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 | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET 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 | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: DET 4 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: DET 4 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 5-4. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.573. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: ATL wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL 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: ATL wins 5-4. | |||||
| 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: 11/31 = 0.355. | |||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 10/31 = 0.323. |
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 | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET 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 | DET | BATTING_TOTALS_SUM | current:DET 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 | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match DET pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match DET pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match DET pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match DET pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=36 matches DET BF=36. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match ATL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match ATL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match ATL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match ATL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=39 matches ATL BF=39. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 4. | |||
| 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 | DET | CURRENT_FINALIZED_MATCH_BOX | DET 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 | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines mirror simulation box score. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.427. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 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.420/0.900. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: DET 7, ATL 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: DET 4 - ATL 5. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for ATL; cap=0.58, reasons=local prediction memory shows 2 straight prior same-side picks. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['local prediction memory shows 2 straight prior same-side picks'], 'signals': {'predicted_team': 'ATL', 'opponent_team': 'DET', 'h2h_net_margin': 4, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 4, 'opponent_runs': 3, 'margin_for_predicted_team': 1, 'winner': 'ATL'}, {'date': '2026-04-28', 'predicted_team_runs': 5, 'opponent_runs': 2, 'margin_for_predicted_team': 3, 'winner': 'ATL'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'ATL', 'confidence': 0.6807368495496199, 'actual_winner': 'ATL', 'actual_margin': 1, 'path': '20260429_DET@ATL.json'}, {'date': '2026-04-28', 'predicted_team': 'ATL', 'confidence': 0.89, 'actual_winner': 'ATL', 'actual_margin': 3, 'path': '20260428_DET@ATL.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_DET@ATL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: DET@ATL. | |||||
| 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: 170. | |||||
| 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: 170. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 147. | |||
| 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 | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET 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 | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: DET 4 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: DET 4 - 5 ATL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 5-4. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.573. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: ATL wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL 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: ATL wins 5-4. | |||||
| 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: 11/31 = 0.355. | |||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 10/31 = 0.323. |
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 | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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.94277024269104 | 3.9206717014312744 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 3 | 4 | 0.573 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 3 | 4 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DET | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 1 | 0 | 4 | 7 |
| ATL | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 2 | 1 | 5 | 9 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | batting | 32 | 7 | 1 | 0 | 1 | 4 | 4 | 5 | 4 | 2 | 0 | 0 | 0 | ||||
| current | DET | pitching | 9 | 2 | 5 | 1 | 7 | 8.2 | 5 | 0 | 0 | ||||||||
| current | ATL | batting | 35 | 9 | 3 | 0 | 2 | 5 | 5 | 1 | 7 | 0 | 0 | 0 | 0 | ||||
| current | ATL | pitching | 7 | 1 | 4 | 5 | 4 | 9.0 | 4 | 0 | 0 | ||||||||
| simulation | DET | batting | 32 | 7 | 1 | 0 | 1 | 4 | 4 | 5 | 4 | 2 | 0 | ||||||
| simulation | DET | pitching | 9 | 2 | 5 | 1 | 7 | 8.2 | 5 | 36 | 147 | ||||||||
| simulation | ATL | batting | 35 | 9 | 3 | 0 | 2 | 5 | 5 | 1 | 7 | 0 | 0 | ||||||
| simulation | ATL | pitching | 7 | 1 | 4 | 5 | 4 | 9.0 | 4 | 39 | 170 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | RF | Kerry Carpenter | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | DET | CF | Matt Vierling | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | DET | 2B | Gleyber Torres | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 | |
| current | DET | LF | Riley Greene | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | DET | C | Jake Rogers | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | DET | 1B | Spencer Torkelson | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.500 | |
| current | DET | DH | Colt Keith | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 | |
| current | DET | SS | Kevin McGonigle | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | DET | 3B | Hao-Yu Lee | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.000 | |
| current | ATL | 2B | Ozzie Albies | 4 | 2 | 1 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.500 | |
| current | ATL | RF | Ronald Acuña Jr. | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 | |
| current | ATL | 1B | Matt Olson | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | ATL | 3B | Austin Riley | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | ATL | DH | Kyle Farmer | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 | |
| current | ATL | C | Drake Baldwin | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 | |
| current | ATL | SS | Jorge Mateo | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | ATL | LF | Mauricio Dubón | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | ATL | CF | Eli White | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 | |
| simulation | DET | 1 | SS | Kevin McGonigle | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | DET | 2 | 2B | Gleyber Torres | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | DET | 3 | DH | Colt Keith | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | DET | 4 | LF | Riley Greene | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | DET | 5 | 1B | Spencer Torkelson | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | DET | 6 | RF | Kerry Carpenter | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | DET | 7 | CF | Matt Vierling | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | DET | 8 | 3B | Hao-Yu Lee | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.000 |
| simulation | DET | 9 | C | Jake Rogers | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 1 | RF | Ronald Acuña Jr. | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | ATL | 2 | C | Drake Baldwin | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | ATL | 3 | 2B | Ozzie Albies | 4 | 2 | 1 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.500 |
| simulation | ATL | 4 | 1B | Matt Olson | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | ATL | 5 | 3B | Austin Riley | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 6 | LF | Mauricio Dubón | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 7 | DH | Kyle Farmer | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | ATL | 8 | SS | Jorge Mateo | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | ATL | 9 | CF | Eli White | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | DET | 1 | Framber Valdez | Starter | 5.0 | 4 | 2 | 2 | 0 | 4 | 2 | 0 | 0 | 3.60 | 3.41 | 1.31 |
| current | DET | 2 | Kenley Jansen | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.68 | 1.36 |
| current | DET | 3 | Kyle Finnegan | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 0.61 | 1.23 |
| current | DET | 4 | Will Vest | Middle Reliever | 1.0 | 2 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 18.00 | 6.17 | 1.46 |
| current | DET | 5 | Tyler Holton | Middle Reliever | 0.2 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 13.50 | 5.54 | 1.92 |
| current | ATL | 1 | Bryce Elder | Starter | 4.0 | 4 | 0 | 0 | 2 | 4 | 0 | 0 | 0 | 0.00 | 1.95 | 0.97 |
| current | ATL | 2 | Aaron Bummer | Middle Reliever | 1.0 | 2 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 18.00 | 4.66 | 1.34 |
| current | ATL | 3 | Joel Payamps | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 9.00 | 6.14 | 1.23 |
| current | ATL | 4 | José Suarez | Middle Reliever | 1.0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 9.00 | 5.87 | 1.96 |
| current | ATL | 5 | Robert Suarez | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.71 | 0.87 |
| current | ATL | 6 | Tyler Kinley | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.38 | 1.00 |
| simulation | DET | 1 | Framber Valdez | Starter | 5.0 | 4 | 2 | 2 | 0 | 4 | 2 | 19 | 83 | 3.60 | 3.41 | 1.31 |
| simulation | DET | 2 | Kenley Jansen | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 3.68 | 1.36 |
| simulation | DET | 3 | Kyle Finnegan | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 10 | 0.00 | 0.61 | 1.23 |
| simulation | DET | 4 | Will Vest | Middle Reliever | 1.0 | 2 | 2 | 2 | 1 | 1 | 0 | 6 | 23 | 18.00 | 6.17 | 1.46 |
| simulation | DET | 5 | Tyler Holton | Middle Reliever | 0.2 | 2 | 1 | 1 | 0 | 1 | 0 | 4 | 14 | 13.50 | 5.54 | 1.92 |
| simulation | ATL | 1 | Bryce Elder | Starter | 4.0 | 4 | 0 | 0 | 2 | 4 | 0 | 18 | 83 | 0.00 | 1.95 | 0.97 |
| simulation | ATL | 2 | Robert Suarez | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 12 | 0.00 | 0.71 | 0.87 |
| simulation | ATL | 3 | Tyler Kinley | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 1.38 | 1.00 |
| simulation | ATL | 4 | Aaron Bummer | Middle Reliever | 1.0 | 2 | 2 | 2 | 2 | 0 | 0 | 7 | 30 | 18.00 | 4.66 | 1.34 |
| simulation | ATL | 5 | Joel Payamps | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 0 | 1 | 4 | 16 | 9.00 | 6.14 | 1.23 |
| simulation | ATL | 6 | José Suarez | Middle Reliever | 1.0 | 0 | 1 | 1 | 1 | 0 | 0 | 4 | 16 | 9.00 | 5.87 | 1.96 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| DET | Framber Valdez | Starter | 5.0 | 2 | 4 | 0 | 4 | 19 | 83 |
| DET | Kenley Jansen | Middle Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 17 |
| DET | Kyle Finnegan | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 10 |
| DET | Will Vest | Middle Reliever | 1.0 | 2 | 2 | 1 | 1 | 6 | 23 |
| DET | Tyler Holton | Middle Reliever | 0.2 | 1 | 2 | 0 | 1 | 4 | 14 |
| ATL | Bryce Elder | Starter | 4.0 | 0 | 4 | 2 | 4 | 18 | 83 |
| ATL | Robert Suarez | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 12 |
| ATL | Tyler Kinley | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| ATL | Aaron Bummer | Middle Reliever | 1.0 | 2 | 2 | 2 | 0 | 7 | 30 |
| ATL | Joel Payamps | Middle Reliever | 1.0 | 1 | 1 | 0 | 0 | 4 | 16 |
| ATL | José Suarez | Middle Reliever | 1.0 | 1 | 0 | 1 | 0 | 4 | 16 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |
20260430_HOU@BAL
20260430_HOU@BAL.json • 2026-04-30
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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 | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=38 matches HOU BF=38. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match BAL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match BAL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=36 matches BAL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines mirror simulation box score. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.427. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 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.289/0.678. | |||||
| 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: HOU 6, BAL 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 5 - BAL 6. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for BAL; 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': 'BAL', 'opponent_team': 'HOU', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-04-28', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'BAL'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'BAL', 'confidence': 0.5430623272074528, 'actual_winner': None, 'actual_margin': 0, 'path': '20260429_HOU@BAL.json'}, {'date': '2026-04-28', 'predicted_team': 'BAL', 'confidence': 0.5381166039077898, 'actual_winner': 'BAL', 'actual_margin': 2, 'path': '20260428_HOU@BAL.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_HOU@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@BAL. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 166. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 154. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 154. | |||
| 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: 166. | |||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 8.1. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 8.1. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: HOU 5 - 6 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 5 - 6 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: BAL wins 6-5. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.573. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: BAL wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: BAL wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: BAL wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 11/29 = 0.379. | |||
| 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: 13/30 = 0.433. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | HOU | BATTING_REALISM | current:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | HOU | BATTING_REALISM | simulation:HOU hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BAL | BATTING_TOTALS_SUM | current:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | HOU | BATTING_TOTALS_SUM | current:HOU batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BAL | BATTING_TOTALS_SUM | simulation:BAL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | HOU | BATTING_TOTALS_SUM | simulation:HOU batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match HOU pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match HOU pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match HOU pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=38 matches HOU BF=38. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_BB_MATCH | simulation:HOU batting walks match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_HR_MATCH | simulation:HOU batting home runs match BAL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_H_MATCH | simulation:HOU batting hits match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | HOU | BAT_PITCH_SO_MATCH | simulation:HOU batting strikeouts match BAL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | HOU | PA_BF_MATCH | simulation:HOU PA=36 matches BAL BF=36. | |||
| PASS | boxscore_crosscheck | simulation | HOU | RUNS_MATCH_FINAL | simulation:HOU runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BAL | CURRENT_LINEUP_SHAPE | BAL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BAL | CURRENT_MODEL_ZERO_FALLBACK | BAL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BAL | CURRENT_NAMES_PRESENT | BAL current hitter names are populated. | |||
| PASS | current_payload | current | BAL | CURRENT_PREDICTIONS_MATCH_FINALIZED | BAL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | HOU | CURRENT_FINALIZED_MATCH_BOX | HOU current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | HOU | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines mirror simulation box score. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.427. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.573. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 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.289/0.678. | |||||
| 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: HOU 6, BAL 12. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: HOU 5 - BAL 6. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for BAL; 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': 'BAL', 'opponent_team': 'HOU', 'h2h_net_margin': 2, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-04-28', 'predicted_team_runs': 5, 'opponent_runs': 3, 'margin_for_predicted_team': 2, 'winner': 'BAL'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 2, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'BAL', 'confidence': 0.5430623272074528, 'actual_winner': None, 'actual_margin': 0, 'path': '20260429_HOU@BAL.json'}, {'date': '2026-04-28', 'predicted_team': 'BAL', 'confidence': 0.5381166039077898, 'actual_winner': 'BAL', 'actual_margin': 2, 'path': '20260428_HOU@BAL.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_HOU@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: HOU@BAL. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 166. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 154. | |||||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_PITCHER_MATCH | BAL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BAL | PITCH_COUNT_TOTAL_MATCH | BAL pitch_count_summary total, row sum, and pitching total all match: 154. | |||
| 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: 166. | |||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | HOU | PITCHING_REALISM | current:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | HOU | STARTER_PRESENT | current:HOU includes a starter/opener role. | |||
| PASS | pitching | simulation | BAL | PITCHING_REALISM | simulation:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BAL | STARTER_PRESENT | simulation:BAL includes a starter/opener role. | |||
| PASS | pitching | simulation | HOU | PITCHING_REALISM | simulation:HOU pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | HOU | STARTER_PRESENT | simulation:HOU includes a starter/opener role. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | BAL | PITCHING_TOTALS_SUM | current:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching IP total matches pitcher sum: 8.1. | |||
| PASS | pitching_totals | current | HOU | PITCHING_TOTALS_SUM | current:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | BAL | PITCHING_TOTALS_SUM | simulation:BAL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching IP total matches pitcher sum: 8.1. | |||
| PASS | pitching_totals | simulation | HOU | PITCHING_TOTALS_SUM | simulation:HOU pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: HOU 5 - 6 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: HOU 5 - 6 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: BAL wins 6-5. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.573. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: BAL wins 6-5. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: BAL wins 5-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-6, final 5-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 11. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: BAL wins 6-5. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 11/29 = 0.379. | |||
| 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: 13/30 = 0.433. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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 | 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.004882335662842 | 2.615891456604004 | Base ML historical model prediction | |
| variance_applied | 4 | 3 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 5 | 0.573 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 4 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | 1 | 0 | 0 | 0 | 3 | 0 | 0 | 1 | 0 | 5 | 6 |
| BAL | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 3 | 6 | 12 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | batting | 33 | 6 | 0 | 0 | 3 | 5 | 5 | 2 | 8 | 0 | 1 | 0 | 0 | ||||
| current | HOU | pitching | 12 | 2 | 6 | 1 | 12 | 8.1 | 6 | 0 | 0 | ||||||||
| current | BAL | batting | 37 | 12 | 1 | 1 | 2 | 6 | 6 | 1 | 12 | 0 | 0 | 0 | 0 | ||||
| current | BAL | pitching | 6 | 3 | 5 | 2 | 8 | 9.0 | 5 | 0 | 0 | ||||||||
| simulation | HOU | batting | 33 | 6 | 0 | 0 | 3 | 5 | 5 | 2 | 8 | 0 | 1 | ||||||
| simulation | HOU | pitching | 12 | 2 | 6 | 1 | 12 | 8.1 | 6 | 38 | 166 | ||||||||
| simulation | BAL | batting | 37 | 12 | 1 | 1 | 2 | 6 | 6 | 1 | 12 | 0 | 0 | ||||||
| simulation | BAL | pitching | 6 | 3 | 5 | 2 | 8 | 9.0 | 5 | 36 | 154 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | 2B | Jose Altuve | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | HOU | 1B | Christian Walker | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | HOU | SS | Carlos Correa | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 | |
| current | HOU | DH | Yainer Diaz | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | HOU | CF | Brice Matthews | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | HOU | C | Christian Vázquez | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 | |
| current | HOU | RF | Dustin Harris | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.000 | |
| current | HOU | LF | Yordan Alvarez | 4 | 3 | 0 | 0 | 3 | 1 | 5 | 0 | 0 | 0 | 0.750 | |
| current | HOU | 3B | Isaac Paredes | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.000 | |
| current | BAL | RF | Dylan Beavers | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | BAL | DH | Gunnar Henderson | 5 | 2 | 0 | 1 | 0 | 1 | 2 | 0 | 2 | 0 | 0.400 | |
| current | BAL | CF | Colton Cowser | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 | |
| current | BAL | 2B | Jeremiah Jackson | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | BAL | 3B | Coby Mayo | 3 | 2 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 0.667 | |
| current | BAL | LF | Taylor Ward | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 | |
| current | BAL | 1B | Pete Alonso | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | BAL | C | Adley Rutschman | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.250 | |
| current | BAL | SS | Blaze Alexander | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 | |
| simulation | HOU | 1 | SS | Carlos Correa | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 |
| simulation | HOU | 2 | LF | Yordan Alvarez | 4 | 3 | 0 | 0 | 3 | 1 | 5 | 0 | 0 | 0 | 0.750 |
| simulation | HOU | 3 | 3B | Isaac Paredes | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | HOU | 4 | 1B | Christian Walker | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | HOU | 5 | 2B | Jose Altuve | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | HOU | 6 | DH | Yainer Diaz | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | HOU | 7 | CF | Brice Matthews | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | HOU | 8 | RF | Dustin Harris | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | HOU | 9 | C | Christian Vázquez | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | BAL | 1 | DH | Gunnar Henderson | 5 | 2 | 0 | 1 | 0 | 1 | 2 | 0 | 2 | 0 | 0.400 |
| simulation | BAL | 2 | LF | Taylor Ward | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | BAL | 3 | C | Adley Rutschman | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | BAL | 4 | 1B | Pete Alonso | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | BAL | 5 | RF | Dylan Beavers | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | BAL | 6 | 2B | Jeremiah Jackson | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | BAL | 7 | CF | Colton Cowser | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 |
| simulation | BAL | 8 | 3B | Coby Mayo | 3 | 2 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 0.667 |
| simulation | BAL | 9 | SS | Blaze Alexander | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | HOU | 1 | Peter Lambert | Starter | 5.0 | 4 | 2 | 2 | 1 | 7 | 1 | 0 | 0 | 3.60 | 3.27 | 1.27 |
| current | HOU | 3 | Bryan Abreu | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 9.00 | 12.96 | 2.64 |
| current | HOU | 4 | Bryan King | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.86 | 1.37 |
| current | HOU | 5 | Enyel De Los Santos | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 6.10 | 1.45 |
| current | HOU | 6 | Kai-Wei Teng | Middle Reliever | 0.1 | 4 | 3 | 3 | 0 | 1 | 0 | 0 | 0 | 81.00 | 2.75 | 1.02 |
| current | BAL | 1 | Chris Bassitt | Starter | 5.0 | 5 | 4 | 4 | 1 | 0 | 2 | 0 | 0 | 7.20 | 6.75 | 2.06 |
| current | BAL | 2 | Andrew Kittredge | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 0.00 | 1.00 |
| current | BAL | 3 | Anthony Nunez | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.51 | 0.84 |
| current | BAL | 4 | Rico Garcia | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 9.00 | 0.67 | 0.38 |
| current | BAL | 5 | Ryan Helsley | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0.00 | 2.53 | 1.31 |
| simulation | HOU | 1 | Peter Lambert | Starter | 5.0 | 4 | 2 | 2 | 1 | 7 | 1 | 20 | 92 | 3.60 | 3.27 | 1.27 |
| simulation | HOU | 2 | Enyel De Los Santos | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 13 | 0.00 | 6.10 | 1.45 |
| simulation | HOU | 3 | Bryan King | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 5 | 17 | 0.00 | 3.86 | 1.37 |
| simulation | HOU | 4 | Bryan Abreu | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 2 | 1 | 5 | 21 | 9.00 | 12.96 | 2.64 |
| simulation | HOU | 5 | Kai-Wei Teng | Middle Reliever | 0.1 | 4 | 3 | 3 | 0 | 1 | 0 | 5 | 23 | 81.00 | 2.75 | 1.02 |
| simulation | BAL | 1 | Chris Bassitt | Starter | 5.0 | 5 | 4 | 4 | 1 | 0 | 2 | 22 | 85 | 7.20 | 6.75 | 2.06 |
| simulation | BAL | 2 | Ryan Helsley | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 3 | 18 | 0.00 | 2.53 | 1.31 |
| simulation | BAL | 3 | Andrew Kittredge | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 12 | 0.00 | 0.00 | 1.00 |
| simulation | BAL | 4 | Rico Garcia | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 2 | 1 | 4 | 20 | 9.00 | 0.67 | 0.38 |
| simulation | BAL | 5 | Anthony Nunez | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 19 | 0.00 | 2.51 | 0.84 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| HOU | Peter Lambert | Starter | 5.0 | 2 | 4 | 1 | 7 | 20 | 92 |
| HOU | Enyel De Los Santos | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 13 |
| HOU | Bryan King | Middle Reliever | 1.0 | 0 | 2 | 0 | 1 | 5 | 17 |
| HOU | Bryan Abreu | Middle Reliever | 1.0 | 1 | 2 | 0 | 2 | 5 | 21 |
| HOU | Kai-Wei Teng | Middle Reliever | 0.1 | 3 | 4 | 0 | 1 | 5 | 23 |
| BAL | Chris Bassitt | Starter | 5.0 | 4 | 5 | 1 | 0 | 22 | 85 |
| BAL | Ryan Helsley | Middle Reliever | 1.0 | 0 | 0 | 0 | 3 | 3 | 18 |
| BAL | Andrew Kittredge | Middle Reliever | 1.0 | 0 | 0 | 0 | 2 | 3 | 12 |
| BAL | Rico Garcia | Middle Reliever | 1.0 | 1 | 1 | 0 | 2 | 4 | 20 |
| BAL | Anthony Nunez | Middle Reliever | 1.0 | 0 | 0 | 1 | 1 | 4 | 19 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |
20260430_KC@OAK
20260430_KC@OAK.json • 2026-04-30
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | KC | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match OAK pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match OAK pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match OAK pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=34 matches OAK BF=34. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match KC pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match KC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match KC pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=34 matches KC BF=34. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | KC | CURRENT_LINEUP_SHAPE | KC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | KC | CURRENT_MODEL_ZERO_FALLBACK | KC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | KC | CURRENT_NAMES_PRESENT | KC current hitter names are populated. | |||
| PASS | current_payload | current | KC | CURRENT_PREDICTIONS_MATCH_FINALIZED | KC hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines mirror simulation box score. | |||
| 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.436. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.564. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.564. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.289/0.678. | |||||
| 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: KC 5, OAK 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 3 - OAK 5. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for OAK; cap=0.6, reasons=latest same-matchup result beat the predicted side. | {'applied': True, 'confidence_cap': 0.6, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side'], 'signals': {'predicted_team': 'OAK', 'opponent_team': 'KC', 'h2h_net_margin': -3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 1, 'opponent_runs': 4, 'margin_for_predicted_team': -3, 'winner': 'KC'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'KC', 'confidence': 0.6592559268070816, 'actual_winner': 'KC', 'actual_margin': 3, 'path': '20260429_KC@OAK.json'}, {'date': '2026-04-28', 'predicted_team': 'KC', 'confidence': 0.4776849255990811, 'actual_winner': None, 'actual_margin': 0, 'path': '20260428_KC@OAK.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_KC@OAK. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@OAK. | |||||
| 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: 132. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 159. | |||||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_PITCHER_MATCH | KC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_TOTAL_MATCH | KC pitch_count_summary total, row sum, and pitching total all match: 132. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_PITCHER_MATCH | OAK pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_TOTAL_MATCH | OAK pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| PASS | pitching | current | KC | PITCHING_REALISM | current:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | KC | STARTER_PRESENT | current:KC includes a starter/opener role. | |||
| PASS | pitching | current | OAK | PITCHING_REALISM | current:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | OAK | STARTER_PRESENT | current:OAK includes a starter/opener role. | |||
| PASS | pitching | simulation | KC | PITCHING_REALISM | simulation:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | KC | STARTER_PRESENT | simulation:KC includes a starter/opener role. | |||
| PASS | pitching | simulation | OAK | PITCHING_REALISM | simulation:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | OAK | STARTER_PRESENT | simulation:OAK includes a starter/opener role. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 3 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 3 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: OAK wins 5-3. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.564. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: OAK wins 5-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: OAK wins 3-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-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 3-5, final 3-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: OAK wins 5-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | KC | RECENT_FORM_RANGE | KC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | KC | TEAM_RECENT_RECORD | KC wins and win_pct agree: 9/30 = 0.300. | |||
| PASS | team_recent_performance | current | OAK | RECENT_FORM_RANGE | OAK recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | OAK | TEAM_RECENT_RECORD | OAK wins and win_pct agree: 8/30 = 0.267. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | KC | BATTING_TOTALS_SUM | current:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | KC | BATTING_TOTALS_SUM | simulation:KC batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match OAK pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match OAK pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match OAK pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=34 matches OAK BF=34. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match KC pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match KC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match KC pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=34 matches KC BF=34. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | KC | CURRENT_LINEUP_SHAPE | KC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | KC | CURRENT_MODEL_ZERO_FALLBACK | KC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | KC | CURRENT_NAMES_PRESENT | KC current hitter names are populated. | |||
| PASS | current_payload | current | KC | CURRENT_PREDICTIONS_MATCH_FINALIZED | KC hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines mirror simulation box score. | |||
| 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.436. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.564. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.564. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 8 is reasonably close to low-score expected_total_runs 8.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.289/0.678. | |||||
| 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: KC 5, OAK 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 3 - OAK 5. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for OAK; cap=0.6, reasons=latest same-matchup result beat the predicted side. | {'applied': True, 'confidence_cap': 0.6, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side'], 'signals': {'predicted_team': 'OAK', 'opponent_team': 'KC', 'h2h_net_margin': -3, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': False, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 1, 'opponent_runs': 4, 'margin_for_predicted_team': -3, 'winner': 'KC'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'KC', 'confidence': 0.6592559268070816, 'actual_winner': 'KC', 'actual_margin': 3, 'path': '20260429_KC@OAK.json'}, {'date': '2026-04-28', 'predicted_team': 'KC', 'confidence': 0.4776849255990811, 'actual_winner': None, 'actual_margin': 0, 'path': '20260428_KC@OAK.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_KC@OAK. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@OAK. | |||||
| 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: 132. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 159. | |||||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_PITCHER_MATCH | KC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | KC | PITCH_COUNT_TOTAL_MATCH | KC pitch_count_summary total, row sum, and pitching total all match: 132. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_PITCHER_MATCH | OAK pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | OAK | PITCH_COUNT_TOTAL_MATCH | OAK pitch_count_summary total, row sum, and pitching total all match: 159. | |||
| PASS | pitching | current | KC | PITCHING_REALISM | current:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | KC | STARTER_PRESENT | current:KC includes a starter/opener role. | |||
| PASS | pitching | current | OAK | PITCHING_REALISM | current:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | OAK | STARTER_PRESENT | current:OAK includes a starter/opener role. | |||
| PASS | pitching | simulation | KC | PITCHING_REALISM | simulation:KC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | KC | STARTER_PRESENT | simulation:KC includes a starter/opener role. | |||
| PASS | pitching | simulation | OAK | PITCHING_REALISM | simulation:OAK pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | OAK | STARTER_PRESENT | simulation:OAK includes a starter/opener role. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 3 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 3 - 5 OAK. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: OAK wins 5-3. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.564. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: OAK wins 5-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: OAK wins 3-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-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 3-5, final 3-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: OAK wins 5-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | KC | RECENT_FORM_RANGE | KC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | KC | TEAM_RECENT_RECORD | KC wins and win_pct agree: 9/30 = 0.300. | |||
| PASS | team_recent_performance | current | OAK | RECENT_FORM_RANGE | OAK recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | OAK | TEAM_RECENT_RECORD | OAK wins and win_pct agree: 8/30 = 0.267. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | KC | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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.082079887390137 | 4.128493785858154 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 5 | 6 | 0.564 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 5 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 3 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 3 | 5 |
| OAK | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 2 | 0 | 5 | 10 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | batting | 30 | 5 | 1 | 0 | 1 | 3 | 3 | 3 | 9 | 1 | 0 | 0 | 0 | ||||
| current | KC | pitching | 10 | 3 | 5 | 0 | 5 | 8.0 | 5 | 0 | 0 | ||||||||
| current | OAK | batting | 34 | 10 | 1 | 0 | 3 | 5 | 5 | 0 | 5 | 0 | 0 | 0 | 0 | ||||
| current | OAK | pitching | 5 | 1 | 3 | 3 | 9 | 9.0 | 3 | 0 | 0 | ||||||||
| simulation | KC | batting | 30 | 5 | 1 | 0 | 1 | 3 | 3 | 3 | 9 | 1 | 0 | ||||||
| simulation | KC | pitching | 10 | 3 | 5 | 0 | 5 | 8.0 | 5 | 34 | 132 | ||||||||
| simulation | OAK | batting | 34 | 10 | 1 | 0 | 3 | 5 | 5 | 0 | 5 | 0 | 0 | ||||||
| simulation | OAK | pitching | 5 | 1 | 3 | 3 | 9 | 9.0 | 3 | 34 | 159 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | LF | Isaac Collins | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.333 | |
| current | KC | 2B | Nick Loftin | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | KC | C | Elias Díaz | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | DH | Carter Jensen | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | KC | RF | Starling Marte | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | KC | SS | Bobby Witt Jr. | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 | |
| current | KC | CF | Lane Thomas | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | KC | 3B | Maikel Garcia | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | KC | 1B | Salvador Perez | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 0 | 0.000 | |
| current | OAK | 3B | Darell Hernaiz | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.250 | |
| current | OAK | LF | Carlos Cortes | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 | |
| current | OAK | SS | Jacob Wilson | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | OAK | DH | Shea Langeliers | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | OAK | C | Austin Wynns | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | OAK | CF | Lawrence Butler | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.667 | |
| current | OAK | 1B | Nick Kurtz | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | OAK | RF | Colby Thomas | 4 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 | |
| current | OAK | 2B | Zack Gelof | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.333 | |
| simulation | KC | 1 | 3B | Maikel Garcia | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | KC | 2 | SS | Bobby Witt Jr. | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | KC | 3 | CF | Lane Thomas | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | KC | 4 | 1B | Salvador Perez | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 0 | 0.000 |
| simulation | KC | 5 | 2B | Nick Loftin | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | KC | 6 | RF | Starling Marte | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | KC | 7 | DH | Carter Jensen | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | KC | 8 | LF | Isaac Collins | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 0.333 |
| simulation | KC | 9 | C | Elias Díaz | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 |
| simulation | OAK | 1 | SS | Jacob Wilson | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | OAK | 2 | DH | Shea Langeliers | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | OAK | 3 | 1B | Nick Kurtz | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | OAK | 4 | RF | Colby Thomas | 4 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 |
| simulation | OAK | 5 | 3B | Darell Hernaiz | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | OAK | 6 | LF | Carlos Cortes | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | OAK | 7 | C | Austin Wynns | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | OAK | 8 | 2B | Zack Gelof | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.333 |
| simulation | OAK | 9 | CF | Lawrence Butler | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.667 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | 1 | Noah Cameron | Starter | 6.0 | 7 | 3 | 3 | 0 | 4 | 2 | 0 | 0 | 4.50 | 5.13 | 1.52 |
| current | KC | 3 | Lucas Erceg | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.38 | 1.62 |
| current | KC | 4 | Matt Strahm | Middle Reliever | 1.0 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 18.00 | 4.22 | 1.41 |
| current | OAK | 1 | Jeffrey Springs | Starter | 6.0 | 2 | 2 | 2 | 3 | 7 | 0 | 0 | 0 | 3.00 | 3.79 | 1.01 |
| current | OAK | 2 | Hogan Harris | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 9.00 | 2.65 | 1.53 |
| current | OAK | 3 | Joel Kuhnel | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.70 | 1.20 |
| current | OAK | 4 | Mark Leiter Jr. | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 6.23 | 1.77 |
| simulation | KC | 1 | Noah Cameron | Starter | 6.0 | 7 | 3 | 3 | 0 | 4 | 2 | 25 | 98 | 4.50 | 5.13 | 1.52 |
| simulation | KC | 2 | Lucas Erceg | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 15 | 0.00 | 4.38 | 1.62 |
| simulation | KC | 3 | Matt Strahm | Middle Reliever | 1.0 | 2 | 2 | 2 | 0 | 0 | 1 | 5 | 19 | 18.00 | 4.22 | 1.41 |
| simulation | OAK | 1 | Jeffrey Springs | Starter | 6.0 | 2 | 2 | 2 | 3 | 7 | 0 | 22 | 108 | 3.00 | 3.79 | 1.01 |
| simulation | OAK | 2 | Joel Kuhnel | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 10 | 0.00 | 2.70 | 1.20 |
| simulation | OAK | 3 | Hogan Harris | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 1 | 1 | 6 | 26 | 9.00 | 2.65 | 1.53 |
| simulation | OAK | 4 | Mark Leiter Jr. | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 15 | 0.00 | 6.23 | 1.77 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| KC | Noah Cameron | Starter | 6.0 | 3 | 7 | 0 | 4 | 25 | 98 |
| KC | Lucas Erceg | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 15 |
| KC | Matt Strahm | Middle Reliever | 1.0 | 2 | 2 | 0 | 0 | 5 | 19 |
| OAK | Jeffrey Springs | Starter | 6.0 | 2 | 2 | 3 | 7 | 22 | 108 |
| OAK | Joel Kuhnel | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 10 |
| OAK | Hogan Harris | Middle Reliever | 1.0 | 1 | 3 | 0 | 1 | 6 | 26 |
| OAK | Mark Leiter Jr. | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 15 |
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_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |
20260430_SF@PHI
20260430_SF@PHI.json • 2026-04-30
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 | 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_payload | current | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match SF pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match SF pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match SF pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match SF pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=36 matches SF BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match PHI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=39 matches PHI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | 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 | current_payload | current | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines mirror simulation box score. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.444. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 5 is reasonably close to low-score expected_total_runs 5.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.318/0.736. | |||||
| 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: SF 11, PHI 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SF 2 - PHI 3. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for PHI; cap=0.58, reasons=predicted side recently lost this matchup by 5+ runs. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs'], 'signals': {'predicted_team': 'PHI', 'opponent_team': 'SF', 'h2h_net_margin': -4, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-28', 'predicted_team_runs': 7, 'opponent_runs': 0, 'margin_for_predicted_team': 7, 'winner': 'PHI'}, {'date': '2026-04-08', 'predicted_team_runs': 0, 'opponent_runs': 5, 'margin_for_predicted_team': -5, 'winner': 'SF'}, {'date': '2026-04-08', 'predicted_team_runs': 0, 'opponent_runs': 6, 'margin_for_predicted_team': -6, 'winner': 'SF'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'PHI', 'confidence': 0.5135174685984407, 'actual_winner': None, 'actual_margin': 0, 'path': '20260429_SF@PHI.json'}, {'date': '2026-04-28', 'predicted_team': 'SF', 'confidence': 0.92, 'actual_winner': 'PHI', 'actual_margin': 7, 'path': '20260428_SF@PHI.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_SF@PHI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SF@PHI. | |||||
| 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: 165. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_PITCHER_MATCH | PHI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_TOTAL_MATCH | PHI pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_PITCHER_MATCH | SF pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_TOTAL_MATCH | SF pitch_count_summary total, row sum, and pitching total all match: 165. | |||
| 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 | current | SF | PITCHING_REALISM | current:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SF | STARTER_PRESENT | current:SF includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | SF | PITCHING_REALISM | simulation:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SF | STARTER_PRESENT | simulation:SF includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | current | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF 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 | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SF 2 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SF 2 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PHI wins 3-2. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.556. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: PHI wins 3-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PHI wins 2-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 2-3, final 2-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PHI wins 3-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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: 3/29 = 0.103. | |||
| PASS | team_recent_performance | current | SF | RECENT_FORM_RANGE | SF recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SF | TEAM_RECENT_RECORD | SF wins and win_pct agree: 9/29 = 0.310. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | PHI | BATTING_TOTALS_SUM | current:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match SF pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match SF pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match SF pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match SF pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=36 matches SF BF=36. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match PHI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match PHI pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=39 matches PHI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | 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 | current_payload | current | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines mirror simulation box score. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.444. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.556. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 5 is reasonably close to low-score expected_total_runs 5.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.318/0.736. | |||||
| 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: SF 11, PHI 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SF 2 - PHI 3. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for PHI; cap=0.58, reasons=predicted side recently lost this matchup by 5+ runs. | {'applied': True, 'confidence_cap': 0.58, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs'], 'signals': {'predicted_team': 'PHI', 'opponent_team': 'SF', 'h2h_net_margin': -4, 'opponent_breakout': False, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-28', 'predicted_team_runs': 7, 'opponent_runs': 0, 'margin_for_predicted_team': 7, 'winner': 'PHI'}, {'date': '2026-04-08', 'predicted_team_runs': 0, 'opponent_runs': 5, 'margin_for_predicted_team': -5, 'winner': 'SF'}, {'date': '2026-04-08', 'predicted_team_runs': 0, 'opponent_runs': 6, 'margin_for_predicted_team': -6, 'winner': 'SF'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'PHI', 'confidence': 0.5135174685984407, 'actual_winner': None, 'actual_margin': 0, 'path': '20260429_SF@PHI.json'}, {'date': '2026-04-28', 'predicted_team': 'SF', 'confidence': 0.92, 'actual_winner': 'PHI', 'actual_margin': 7, 'path': '20260428_SF@PHI.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_SF@PHI. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SF@PHI. | |||||
| 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: 165. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_PITCHER_MATCH | PHI pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | PHI | PITCH_COUNT_TOTAL_MATCH | PHI pitch_count_summary total, row sum, and pitching total all match: 157. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_PITCHER_MATCH | SF pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SF | PITCH_COUNT_TOTAL_MATCH | SF pitch_count_summary total, row sum, and pitching total all match: 165. | |||
| 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 | current | SF | PITCHING_REALISM | current:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SF | STARTER_PRESENT | current:SF includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | simulation | SF | PITCHING_REALISM | simulation:SF pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SF | STARTER_PRESENT | simulation:SF includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | current | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF 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 | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SF 2 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SF 2 - 3 PHI. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PHI wins 3-2. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.556. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: PHI wins 3-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PHI wins 2-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-3. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 2-3, final 2-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PHI wins 3-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| 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: 3/29 = 0.103. | |||
| PASS | team_recent_performance | current | SF | RECENT_FORM_RANGE | SF recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SF | TEAM_RECENT_RECORD | SF wins and win_pct agree: 9/29 = 0.310. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| 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_payload | current | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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.64349102973938 | 5.182366847991943 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 5 | 0.556 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 4 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 2 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SF | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2 | 11 |
| PHI | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 3 | 7 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SF | batting | 38 | 11 | 3 | 0 | 0 | 2 | 2 | 1 | 11 | 0 | 0 | 0 | 0 | ||||
| current | SF | pitching | 7 | 1 | 3 | 3 | 6 | 8.2 | 3 | 0 | 0 | ||||||||
| current | PHI | batting | 33 | 7 | 2 | 1 | 1 | 3 | 3 | 3 | 6 | 0 | 0 | 0 | 0 | ||||
| current | PHI | pitching | 11 | 0 | 2 | 1 | 11 | 9.0 | 2 | 0 | 0 | ||||||||
| simulation | SF | batting | 38 | 11 | 3 | 0 | 0 | 2 | 2 | 1 | 11 | 0 | 0 | ||||||
| simulation | SF | pitching | 7 | 1 | 3 | 3 | 6 | 8.2 | 3 | 36 | 165 | ||||||||
| simulation | PHI | batting | 33 | 7 | 2 | 1 | 1 | 3 | 3 | 3 | 6 | 0 | 0 | ||||||
| simulation | PHI | pitching | 11 | 0 | 2 | 1 | 11 | 9.0 | 2 | 39 | 157 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SF | 3B | Matt Chapman | 5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 | |
| current | SF | RF | Jerar Encarnacion | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 | |
| current | SF | DH | Casey Schmitt | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.500 | |
| current | SF | CF | Jung Hoo Lee | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SF | LF | Heliot Ramos | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | SF | SS | Willy Adames | 3 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 | |
| current | SF | 2B | Luis Arraez | 5 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 | |
| current | SF | C | Patrick Bailey | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 | |
| current | SF | 1B | Rafael Devers | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 | |
| current | PHI | 1B | Bryce Harper | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 | |
| current | PHI | RF | Adolis García | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | PHI | CF | Justin Crawford | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | PHI | C | Rafael Marchán | 3 | 2 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.667 | |
| current | PHI | LF | Brandon Marsh | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PHI | DH | Kyle Schwarber | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PHI | SS | Trea Turner | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | PHI | 2B | Bryson Stott | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | PHI | 3B | Edmundo Sosa | 4 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 | |
| simulation | SF | 1 | LF | Heliot Ramos | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SF | 2 | 3B | Matt Chapman | 5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | SF | 3 | 2B | Luis Arraez | 5 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | SF | 4 | DH | Casey Schmitt | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0.500 |
| simulation | SF | 5 | 1B | Rafael Devers | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | SF | 6 | SS | Willy Adames | 3 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | SF | 7 | CF | Jung Hoo Lee | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | SF | 8 | RF | Jerar Encarnacion | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | SF | 9 | C | Patrick Bailey | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | PHI | 1 | SS | Trea Turner | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | PHI | 2 | DH | Kyle Schwarber | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | PHI | 3 | 1B | Bryce Harper | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | PHI | 4 | RF | Adolis García | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PHI | 5 | LF | Brandon Marsh | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | PHI | 6 | 2B | Bryson Stott | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | PHI | 7 | 3B | Edmundo Sosa | 4 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | PHI | 8 | CF | Justin Crawford | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | PHI | 9 | C | Rafael Marchán | 3 | 2 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.667 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SF | 1 | Logan Webb | Starter | 5.0 | 2 | 1 | 1 | 3 | 4 | 1 | 0 | 0 | 1.80 | 4.86 | 1.38 |
| current | SF | 3 | Erik Miller | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.48 | 1.35 |
| current | SF | 4 | Keaton Winn | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 2.53 | 0.56 |
| current | SF | 5 | Ryan Walker | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.00 | 1.33 |
| current | SF | 6 | Caleb Kilian | Middle Reliever | 0.2 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 13.50 | 0.75 | 0.92 |
| current | PHI | 1 | Cristopher Sánchez | Starter | 5.0 | 9 | 2 | 2 | 1 | 7 | 0 | 0 | 0 | 3.60 | 2.94 | 1.60 |
| current | PHI | 2 | Brad Keller | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.86 | 1.03 |
| current | PHI | 3 | José Alvarado | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 7.45 | 1.97 |
| current | PHI | 4 | Orion Kerkering | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.70 | 1.30 |
| current | PHI | 6 | Tim Mayza | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.94 | 1.00 |
| simulation | SF | 1 | Logan Webb | Starter | 5.0 | 2 | 1 | 1 | 3 | 4 | 1 | 20 | 101 | 1.80 | 4.86 | 1.38 |
| simulation | SF | 2 | Ryan Walker | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 3.00 | 1.33 |
| simulation | SF | 3 | Erik Miller | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 9 | 0.00 | 3.48 | 1.35 |
| simulation | SF | 4 | Keaton Winn | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 6 | 25 | 9.00 | 2.53 | 0.56 |
| simulation | SF | 5 | Caleb Kilian | Middle Reliever | 0.2 | 2 | 1 | 1 | 0 | 1 | 0 | 4 | 17 | 13.50 | 0.75 | 0.92 |
| simulation | PHI | 1 | Cristopher Sánchez | Starter | 5.0 | 9 | 2 | 2 | 1 | 7 | 0 | 25 | 99 | 3.60 | 2.94 | 1.60 |
| simulation | PHI | 2 | Brad Keller | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 16 | 0.00 | 3.86 | 1.03 |
| simulation | PHI | 3 | José Alvarado | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 11 | 0.00 | 7.45 | 1.97 |
| simulation | PHI | 4 | Orion Kerkering | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 11 | 0.00 | 2.70 | 1.30 |
| simulation | PHI | 5 | Tim Mayza | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 2 | 0 | 5 | 20 | 0.00 | 3.94 | 1.00 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| SF | Logan Webb | Starter | 5.0 | 1 | 2 | 3 | 4 | 20 | 101 |
| SF | Ryan Walker | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| SF | Erik Miller | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 9 |
| SF | Keaton Winn | Middle Reliever | 1.0 | 1 | 3 | 0 | 1 | 6 | 25 |
| SF | Caleb Kilian | Middle Reliever | 0.2 | 1 | 2 | 0 | 1 | 4 | 17 |
| PHI | Cristopher Sánchez | Starter | 5.0 | 2 | 9 | 1 | 7 | 25 | 99 |
| PHI | Brad Keller | Middle Reliever | 1.0 | 0 | 0 | 0 | 2 | 3 | 16 |
| PHI | José Alvarado | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 11 |
| PHI | Orion Kerkering | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 11 |
| PHI | Tim Mayza | Middle Reliever | 1.0 | 0 | 2 | 0 | 2 | 5 | 20 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |
20260430_STL@PIT
20260430_STL@PIT.json • 2026-04-30
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | STL | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match STL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match STL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match STL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match STL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=38 matches STL BF=38. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match PIT pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match PIT pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match PIT pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match PIT pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=41 matches PIT BF=41. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | STL | CURRENT_LINEUP_SHAPE | STL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | STL | CURRENT_MODEL_ZERO_FALLBACK | STL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | STL | CURRENT_NAMES_PRESENT | STL current hitter names are populated. | |||
| PASS | current_payload | current | STL | CURRENT_PREDICTIONS_MATCH_FINALIZED | STL hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines mirror simulation box score. | |||
| 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.620. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.620. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.380. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 5 is reasonably close to low-score expected_total_runs 5.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.318/0.736. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: STL 11, PIT 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: STL 4 - PIT 1. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for STL. | {'winner_confidence': 0.62, 'h2h_net_margin': 7, 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'STL', 'confidence': 0.5674057206020988, 'actual_winner': 'STL', 'actual_margin': 1, 'file': '20260429_STL@PIT.json'}, {'date': '2026-04-28', 'predicted_team': 'PIT', 'confidence': 0.6424969282143206, 'actual_winner': 'STL', 'actual_margin': 4, 'file': '20260428_STL@PIT.json'}, {'date': '2026-04-27', 'predicted_team': 'PIT', 'confidence': 0.5696162307750979, 'actual_winner': 'STL', 'actual_margin': 2, 'file': '20260427_STL@PIT.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_STL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: STL@PIT. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 182. | |||||
| 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: 182. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_PITCHER_MATCH | STL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_TOTAL_MATCH | STL pitch_count_summary total, row sum, and pitching total all match: 171. | |||
| PASS | pitching | current | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | current | STL | PITCHING_REALISM | current:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | STL | STARTER_PRESENT | current:STL includes a starter/opener role. | |||
| PASS | pitching | simulation | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | STL | PITCHING_REALISM | simulation:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | STL | STARTER_PRESENT | simulation:STL includes a starter/opener role. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: STL 4 - 1 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: STL 4 - 1 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: STL wins 4-1. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.620. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: STL wins 4-1. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: STL wins 4-1. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-1. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-1, final 4-1 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: STL wins 4-1. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | PIT | RECENT_FORM_RANGE | PIT recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PIT | TEAM_RECENT_RECORD | PIT wins and win_pct agree: 8/31 = 0.258. | |||
| PASS | team_recent_performance | current | STL | RECENT_FORM_RANGE | STL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | STL | TEAM_RECENT_RECORD | STL wins and win_pct agree: 7/30 = 0.233. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | PIT | BATTING_TOTALS_SUM | current:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match STL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match STL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match STL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match STL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=38 matches STL BF=38. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match PIT pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match PIT pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match PIT pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match PIT pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=41 matches PIT BF=41. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | STL | CURRENT_LINEUP_SHAPE | STL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | STL | CURRENT_MODEL_ZERO_FALLBACK | STL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | STL | CURRENT_NAMES_PRESENT | STL current hitter names are populated. | |||
| PASS | current_payload | current | STL | CURRENT_PREDICTIONS_MATCH_FINALIZED | STL hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines mirror simulation box score. | |||
| 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.620. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.620. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.380. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 5 is reasonably close to low-score expected_total_runs 5.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.318/0.736. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: STL 11, PIT 4. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: STL 4 - PIT 1. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for STL. | {'winner_confidence': 0.62, 'h2h_net_margin': 7, 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 1, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'STL', 'confidence': 0.5674057206020988, 'actual_winner': 'STL', 'actual_margin': 1, 'file': '20260429_STL@PIT.json'}, {'date': '2026-04-28', 'predicted_team': 'PIT', 'confidence': 0.6424969282143206, 'actual_winner': 'STL', 'actual_margin': 4, 'file': '20260428_STL@PIT.json'}, {'date': '2026-04-27', 'predicted_team': 'PIT', 'confidence': 0.5696162307750979, 'actual_winner': 'STL', 'actual_margin': 2, 'file': '20260427_STL@PIT.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_STL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: STL@PIT. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 182. | |||||
| 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: 182. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_PITCHER_MATCH | STL pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | STL | PITCH_COUNT_TOTAL_MATCH | STL pitch_count_summary total, row sum, and pitching total all match: 171. | |||
| PASS | pitching | current | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | current | STL | PITCHING_REALISM | current:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | STL | STARTER_PRESENT | current:STL includes a starter/opener role. | |||
| PASS | pitching | simulation | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | STL | PITCHING_REALISM | simulation:STL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | STL | STARTER_PRESENT | simulation:STL includes a starter/opener role. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | STL | PITCHING_TOTALS_SUM | current:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | STL | PITCHING_TOTALS_SUM | simulation:STL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: STL 4 - 1 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: STL 4 - 1 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: STL wins 4-1. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.620. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: STL wins 4-1. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: STL wins 4-1. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-1. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-1, final 4-1 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: STL wins 4-1. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | PIT | RECENT_FORM_RANGE | PIT recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PIT | TEAM_RECENT_RECORD | PIT wins and win_pct agree: 8/31 = 0.258. | |||
| PASS | team_recent_performance | current | STL | RECENT_FORM_RANGE | STL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | STL | TEAM_RECENT_RECORD | STL wins and win_pct agree: 7/30 = 0.233. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | STL | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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.8026416301727295 | 4.548780918121338 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 5 | 4 | 0.620 | Enhanced ML with recent form, H2H, low-score analysis |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 1 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| STL | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 1 | 4 | 11 |
| PIT | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | STL | batting | 37 | 11 | 2 | 0 | 0 | 4 | 4 | 3 | 10 | 1 | 0 | 0 | 0 | ||||
| current | STL | pitching | 4 | 0 | 1 | 7 | 6 | 9.0 | 1 | 0 | 0 | ||||||||
| current | PIT | batting | 31 | 4 | 0 | 0 | 0 | 1 | 1 | 7 | 6 | 0 | 0 | 0 | 0 | ||||
| current | PIT | pitching | 11 | 0 | 4 | 3 | 10 | 9.0 | 4 | 0 | 0 | ||||||||
| simulation | STL | batting | 37 | 11 | 2 | 0 | 0 | 4 | 4 | 3 | 10 | 1 | 0 | ||||||
| simulation | STL | pitching | 4 | 0 | 1 | 7 | 6 | 9.0 | 1 | 38 | 171 | ||||||||
| simulation | PIT | batting | 31 | 4 | 0 | 0 | 0 | 1 | 1 | 7 | 6 | 0 | 0 | ||||||
| simulation | PIT | pitching | 11 | 0 | 4 | 3 | 10 | 9.0 | 4 | 41 | 182 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | STL | 3B | Nolan Gorman | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 | |
| current | STL | C | Pedro Pagés | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.000 | |
| current | STL | DH | Iván Herrera | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | STL | SS | Masyn Winn | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 | |
| current | STL | 1B | Alec Burleson | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 | |
| current | STL | 2B | JJ Wetherholt | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 | |
| current | STL | CF | Victor Scott II | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 | |
| current | STL | RF | Jordan Walker | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.500 | |
| current | STL | LF | Nathan Church | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 | |
| current | PIT | LF | Jake Mangum | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | PIT | RF | Bryan Reynolds | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 | |
| current | PIT | 3B | Nick Gonzales | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 | |
| current | PIT | SS | Konnor Griffin | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | PIT | CF | Oneil Cruz | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | PIT | C | Henry Davis | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | PIT | 1B | Spencer Horwitz | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 | |
| current | PIT | 2B | Brandon Lowe | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | PIT | DH | Ryan O'Hearn | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 | |
| simulation | STL | 1 | 2B | JJ Wetherholt | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | STL | 2 | DH | Iván Herrera | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | STL | 3 | 1B | Alec Burleson | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | STL | 4 | RF | Jordan Walker | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.500 |
| simulation | STL | 5 | 3B | Nolan Gorman | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | STL | 6 | SS | Masyn Winn | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | STL | 7 | LF | Nathan Church | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | STL | 8 | C | Pedro Pagés | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.000 |
| simulation | STL | 9 | CF | Victor Scott II | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | PIT | 1 | CF | Oneil Cruz | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | PIT | 2 | 2B | Brandon Lowe | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PIT | 3 | RF | Bryan Reynolds | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | PIT | 4 | DH | Ryan O'Hearn | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | PIT | 5 | 3B | Nick Gonzales | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | PIT | 6 | 1B | Spencer Horwitz | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | PIT | 7 | SS | Konnor Griffin | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 8 | LF | Jake Mangum | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | PIT | 9 | C | Henry Davis | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | STL | 1 | Hunter Dobbins | Starter | 4.0 | 3 | 1 | 1 | 3 | 4 | 0 | 0 | 0 | 2.25 | ||
| current | STL | 3 | Riley O'Brien | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.17 | 0.78 |
| current | STL | 5 | George Soriano | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.05 | 1.12 |
| current | STL | 6 | JoJo Romero | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.77 | 1.26 |
| current | STL | 7 | Ryne Stanek | Middle Reliever | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0.00 | 9.00 | 2.33 |
| current | PIT | 1 | Paul Skenes | Starter | 4.0 | 5 | 2 | 2 | 2 | 6 | 0 | 0 | 0 | 4.50 | 2.48 | 0.72 |
| current | PIT | 2 | Dennis Santana | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.07 | 1.16 |
| current | PIT | 3 | Gregory Soto | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 1.84 | 0.82 |
| current | PIT | 4 | Isaac Mattson | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.12 | 1.19 |
| current | PIT | 5 | Mason Montgomery | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.65 | 1.38 |
| current | PIT | 6 | Yohan Ramírez | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 9.00 | 1.93 | 1.18 |
| simulation | STL | 1 | Hunter Dobbins | Starter | 4.0 | 3 | 1 | 1 | 3 | 4 | 0 | 21 | 96 | 2.25 | ||
| simulation | STL | 2 | Riley O'Brien | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 12 | 0.00 | 1.17 | 0.78 |
| simulation | STL | 3 | JoJo Romero | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 17 | 0.00 | 3.77 | 1.26 |
| simulation | STL | 4 | Ryne Stanek | Middle Reliever | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 6 | 30 | 0.00 | 9.00 | 2.33 |
| simulation | STL | 5 | George Soriano | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 4.05 | 1.12 |
| simulation | PIT | 1 | Paul Skenes | Starter | 4.0 | 5 | 2 | 2 | 2 | 6 | 0 | 19 | 99 | 4.50 | 2.48 | 0.72 |
| simulation | PIT | 2 | Dennis Santana | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 15 | 0.00 | 3.07 | 1.16 |
| simulation | PIT | 3 | Gregory Soto | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 0 | 0 | 5 | 18 | 9.00 | 1.84 | 0.82 |
| simulation | PIT | 4 | Isaac Mattson | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 19 | 0.00 | 1.12 | 1.19 |
| simulation | PIT | 5 | Mason Montgomery | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 12 | 0.00 | 3.65 | 1.38 |
| simulation | PIT | 6 | Yohan Ramírez | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 2 | 0 | 6 | 19 | 9.00 | 1.93 | 1.18 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| STL | Hunter Dobbins | Starter | 4.0 | 1 | 3 | 3 | 4 | 21 | 96 |
| STL | Riley O'Brien | Middle Reliever | 2.0 | 0 | 0 | 0 | 1 | 3 | 12 |
| STL | JoJo Romero | Middle Reliever | 1.0 | 0 | 0 | 1 | 0 | 4 | 17 |
| STL | Ryne Stanek | Middle Reliever | 1.0 | 0 | 0 | 3 | 0 | 6 | 30 |
| STL | George Soriano | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| PIT | Paul Skenes | Starter | 4.0 | 2 | 5 | 2 | 6 | 19 | 99 |
| PIT | Dennis Santana | Middle Reliever | 1.0 | 0 | 0 | 1 | 0 | 4 | 15 |
| PIT | Gregory Soto | Middle Reliever | 1.0 | 1 | 2 | 0 | 0 | 5 | 18 |
| PIT | Isaac Mattson | Middle Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 19 |
| PIT | Mason Montgomery | Middle Reliever | 1.0 | 0 | 0 | 0 | 2 | 3 | 12 |
| PIT | Yohan Ramírez | Middle Reliever | 1.0 | 1 | 3 | 0 | 2 | 6 | 19 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |
20260430_TOR@MIN
20260430_TOR@MIN.json • 2026-04-30
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match TOR pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match TOR pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=41 matches TOR BF=41. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match MIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match MIN pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match MIN pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=37 matches MIN BF=37. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines mirror simulation box score. | |||
| 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.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.432. | |||||
| 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.295/0.689. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 9, MIN 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 5 - MIN 4. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TOR; cap=0.57, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick'], 'signals': {'predicted_team': 'TOR', 'opponent_team': 'MIN', 'h2h_net_margin': -3, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-12', 'predicted_team_runs': 2, 'opponent_runs': 8, 'margin_for_predicted_team': -6, 'winner': 'MIN'}, {'date': '2026-04-11', 'predicted_team_runs': 4, 'opponent_runs': 7, 'margin_for_predicted_team': -3, 'winner': 'MIN'}, {'date': '2026-04-10', 'predicted_team_runs': 10, 'opponent_runs': 4, 'margin_for_predicted_team': 6, 'winner': 'TOR'}], 'prediction_memory': {'available': False, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': []}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_TOR@MIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@MIN. | |||||
| 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: 187. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 149. | |||||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 149. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 187. | |||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 5 - 4 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 5 - 4 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TOR wins 5-4. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.568. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: TOR wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TOR wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TOR wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 5/31 = 0.161. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 13/30 = 0.433. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TOR | BATTING_TOTALS_SUM | current:TOR batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match TOR pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match TOR pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match TOR pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=41 matches TOR BF=41. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match MIN pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match MIN pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match MIN pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=37 matches MIN BF=37. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines mirror simulation box score. | |||
| 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.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.432. | |||||
| 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.295/0.689. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 9, MIN 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 5 - MIN 4. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TOR; cap=0.57, reasons=latest same-matchup result beat the predicted side; predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile. | {'applied': True, 'confidence_cap': 0.57, 'winner_flipped': False, 'reasons': ['latest same-matchup result beat the predicted side', 'predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'recent head-to-head margin does not support a strong repeat pick'], 'signals': {'predicted_team': 'TOR', 'opponent_team': 'MIN', 'h2h_net_margin': -3, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-12', 'predicted_team_runs': 2, 'opponent_runs': 8, 'margin_for_predicted_team': -6, 'winner': 'MIN'}, {'date': '2026-04-11', 'predicted_team_runs': 4, 'opponent_runs': 7, 'margin_for_predicted_team': -3, 'winner': 'MIN'}, {'date': '2026-04-10', 'predicted_team_runs': 10, 'opponent_runs': 4, 'margin_for_predicted_team': 6, 'winner': 'TOR'}], 'prediction_memory': {'available': False, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': []}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_TOR@MIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@MIN. | |||||
| 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: 187. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 149. | |||||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 149. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 187. | |||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 5 - 4 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 5 - 4 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TOR wins 5-4. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.568. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 7/10 (0.700). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: TOR wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TOR wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TOR wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | MIN | RECENT_FORM_RANGE | MIN recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIN | TEAM_RECENT_RECORD | MIN wins and win_pct agree: 5/31 = 0.161. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 13/30 = 0.433. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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.749207973480225 | 4.2957868576049805 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 5 | 4 | 0.568 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 9 |
| MIN | 0 | 1 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 4 | 7 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | batting | 36 | 9 | 2 | 0 | 2 | 5 | 5 | 1 | 8 | 0 | 0 | 0 | 0 | ||||
| current | TOR | pitching | 7 | 3 | 4 | 7 | 8 | 9.0 | 4 | 0 | 0 | ||||||||
| current | MIN | batting | 34 | 7 | 0 | 0 | 3 | 4 | 4 | 7 | 8 | 0 | 0 | 0 | 0 | ||||
| current | MIN | pitching | 9 | 2 | 5 | 1 | 8 | 9.0 | 5 | 0 | 0 | ||||||||
| simulation | TOR | batting | 36 | 9 | 2 | 0 | 2 | 5 | 5 | 1 | 8 | 0 | 0 | ||||||
| simulation | TOR | pitching | 7 | 3 | 4 | 7 | 8 | 9.0 | 4 | 41 | 187 | ||||||||
| simulation | MIN | batting | 34 | 7 | 0 | 0 | 3 | 4 | 4 | 7 | 8 | 0 | 0 | ||||||
| simulation | MIN | pitching | 9 | 2 | 5 | 1 | 8 | 9.0 | 5 | 37 | 149 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | DH | George Springer | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 | |
| current | TOR | 1B | Vladimir Guerrero Jr. | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 | |
| current | TOR | CF | Daulton Varsho | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TOR | 2B | Ernie Clement | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TOR | 3B | Kazuma Okamoto | 4 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 2 | 0 | 0.250 | |
| current | TOR | C | Brandon Valenzuela | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | TOR | LF | Yohendrick Pinango | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | TOR | RF | Jesús Sánchez | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 | |
| current | TOR | SS | Andrés Giménez | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.500 | |
| current | MIN | 1B | Kody Clemens | 4 | 2 | 0 | 0 | 2 | 1 | 3 | 0 | 0 | 0 | 0.500 | |
| current | MIN | 2B | Luke Keaschall | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 | |
| current | MIN | C | Ryan Jeffers | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0.500 | |
| current | MIN | CF | Byron Buxton | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | MIN | DH | Josh Bell | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 | |
| current | MIN | 3B | Royce Lewis | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | MIN | LF | Trevor Larnach | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 | |
| current | MIN | SS | Brooks Lee | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 | |
| current | MIN | RF | Austin Martin | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | TOR | 1 | DH | George Springer | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | TOR | 2 | RF | Jesús Sánchez | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | TOR | 3 | 1B | Vladimir Guerrero Jr. | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.333 |
| simulation | TOR | 4 | 3B | Kazuma Okamoto | 4 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 2 | 0 | 0.250 |
| simulation | TOR | 5 | CF | Daulton Varsho | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | TOR | 6 | 2B | Ernie Clement | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | TOR | 7 | LF | Yohendrick Pinango | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | TOR | 8 | SS | Andrés Giménez | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | TOR | 9 | C | Brandon Valenzuela | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIN | 1 | CF | Byron Buxton | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | MIN | 2 | LF | Trevor Larnach | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | MIN | 3 | C | Ryan Jeffers | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0.500 |
| simulation | MIN | 4 | DH | Josh Bell | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | MIN | 5 | RF | Austin Martin | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIN | 6 | 1B | Kody Clemens | 4 | 2 | 0 | 0 | 2 | 1 | 3 | 0 | 0 | 0 | 0.500 |
| simulation | MIN | 7 | 2B | Luke Keaschall | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.500 |
| simulation | MIN | 8 | SS | Brooks Lee | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | MIN | 9 | 3B | Royce Lewis | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | 1 | Kevin Gausman | Starter | 4.0 | 3 | 1 | 1 | 6 | 2 | 2 | 0 | 0 | 2.25 | 2.57 | 0.94 |
| current | TOR | 2 | Braydon Fisher | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.59 | 1.06 |
| current | TOR | 3 | Jeff Hoffman | Middle Reliever | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 6.39 | 1.82 |
| current | TOR | 4 | Louis Varland | Middle Reliever | 1.0 | 2 | 2 | 2 | 0 | 3 | 1 | 0 | 0 | 18.00 | 0.56 | 1.00 |
| current | TOR | 5 | Mason Fluharty | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 3.38 | 1.12 |
| current | TOR | 6 | Tyler Rogers | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 0.59 | 0.78 |
| current | MIN | 1 | Bailey Ober | Starter | 4.0 | 3 | 3 | 3 | 1 | 3 | 1 | 0 | 0 | 6.75 | 3.94 | 1.16 |
| current | MIN | 2 | Anthony Banda | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 9.00 | 8.03 | 1.38 |
| current | MIN | 3 | Cole Sands | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.63 | 1.37 |
| current | MIN | 4 | Eric Orze | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 5.25 | 1.50 |
| current | MIN | 5 | Justin Topa | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.29 | 1.39 |
| current | MIN | 6 | Taylor Rogers | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.48 | 1.55 |
| simulation | TOR | 1 | Kevin Gausman | Starter | 4.0 | 3 | 1 | 1 | 6 | 2 | 2 | 21 | 93 | 2.25 | 2.57 | 0.94 |
| simulation | TOR | 2 | Jeff Hoffman | Middle Reliever | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 12 | 9.00 | 6.39 | 1.82 |
| simulation | TOR | 3 | Tyler Rogers | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 5 | 20 | 0.00 | 0.59 | 0.78 |
| simulation | TOR | 4 | Louis Varland | Middle Reliever | 1.0 | 2 | 2 | 2 | 0 | 3 | 1 | 5 | 25 | 18.00 | 0.56 | 1.00 |
| simulation | TOR | 5 | Braydon Fisher | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 16 | 0.00 | 1.59 | 1.06 |
| simulation | TOR | 6 | Mason Fluharty | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 21 | 0.00 | 3.38 | 1.12 |
| simulation | MIN | 1 | Bailey Ober | Starter | 4.0 | 3 | 3 | 3 | 1 | 3 | 1 | 16 | 66 | 6.75 | 3.94 | 1.16 |
| simulation | MIN | 2 | Cole Sands | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 5 | 21 | 0.00 | 4.63 | 1.37 |
| simulation | MIN | 3 | Taylor Rogers | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 10 | 0.00 | 3.48 | 1.55 |
| simulation | MIN | 4 | Justin Topa | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 11 | 0.00 | 3.29 | 1.39 |
| simulation | MIN | 5 | Eric Orze | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 1 | 0 | 6 | 27 | 9.00 | 5.25 | 1.50 |
| simulation | MIN | 6 | Anthony Banda | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 2 | 1 | 4 | 14 | 9.00 | 8.03 | 1.38 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Kevin Gausman | Starter | 4.0 | 1 | 3 | 6 | 2 | 21 | 93 |
| TOR | Jeff Hoffman | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 3 | 12 |
| TOR | Tyler Rogers | Middle Reliever | 1.0 | 0 | 2 | 0 | 1 | 5 | 20 |
| TOR | Louis Varland | Middle Reliever | 1.0 | 2 | 2 | 0 | 3 | 5 | 25 |
| TOR | Braydon Fisher | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 16 |
| TOR | Mason Fluharty | Middle Reliever | 1.0 | 0 | 0 | 1 | 1 | 4 | 21 |
| MIN | Bailey Ober | Starter | 4.0 | 3 | 3 | 1 | 3 | 16 | 66 |
| MIN | Cole Sands | Middle Reliever | 1.0 | 0 | 2 | 0 | 1 | 5 | 21 |
| MIN | Taylor Rogers | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 10 |
| MIN | Justin Topa | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 11 |
| MIN | Eric Orze | Middle Reliever | 1.0 | 1 | 3 | 0 | 1 | 6 | 27 |
| MIN | Anthony Banda | Middle Reliever | 1.0 | 1 | 1 | 0 | 2 | 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_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |
20260430_WAS@NYM
20260430_WAS@NYM.json • 2026-04-30
Clean: no problems detected. Risk score: 0.
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYM | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYM | BATTING_TOTALS_SUM | current:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | current | WAS | BATTING_TOTALS_SUM | current:WAS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match WAS pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match WAS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match WAS pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=41 matches WAS BF=41. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match NYM pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match NYM pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match NYM pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=35 matches NYM BF=35. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 3. | |||
| PASS | cross_schema | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYM | CURRENT_LINEUP_SHAPE | NYM current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYM | CURRENT_MODEL_ZERO_FALLBACK | NYM current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYM | CURRENT_NAMES_PRESENT | NYM current hitter names are populated. | |||
| PASS | current_payload | current | NYM | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYM hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines mirror simulation box score. | |||
| 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.460. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.540. | |||||
| 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.289/0.678. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: WAS 5, NYM 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 3 - NYM 6. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYM; cap=0.54, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'WAS', 'opponent_team': 'NYM', 'h2h_net_margin': 4, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 14, 'opponent_runs': 2, 'margin_for_predicted_team': 12, 'winner': 'WAS'}, {'date': '2026-04-28', 'predicted_team_runs': 0, 'opponent_runs': 8, 'margin_for_predicted_team': -8, 'winner': 'NYM'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'NYM', 'confidence': 0.5729576459312805, 'actual_winner': 'WAS', 'actual_margin': 12, 'path': '20260429_WAS@NYM.json'}, {'date': '2026-04-28', 'predicted_team': 'WAS', 'confidence': 0.722776444591417, 'actual_winner': 'NYM', 'actual_margin': 8, 'path': '20260428_WAS@NYM.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_WAS@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@NYM. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 151. | |||||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_PITCHER_MATCH | NYM pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_TOTAL_MATCH | NYM pitch_count_summary total, row sum, and pitching total all match: 151. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 168. | |||
| PASS | pitching | current | NYM | PITCHING_REALISM | current:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYM | STARTER_PRESENT | current:NYM includes a starter/opener role. | |||
| PASS | pitching | current | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | NYM | PITCHING_REALISM | simulation:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYM | STARTER_PRESENT | simulation:NYM includes a starter/opener role. | |||
| PASS | pitching | simulation | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 3 - 6 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 3 - 6 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 6-3. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.540. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: NYM wins 6-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM wins 3-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 3-6, final 3-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYM wins 6-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 11/30 = 0.367. | |||
| PASS | team_recent_performance | current | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 7/31 = 0.226. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYM | BATTING_TOTALS_SUM | current:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | current | WAS | BATTING_TOTALS_SUM | current:WAS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match WAS pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match WAS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match WAS pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=41 matches WAS BF=41. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match NYM pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match NYM pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match NYM pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=35 matches NYM BF=35. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 3. | |||
| PASS | cross_schema | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYM | CURRENT_LINEUP_SHAPE | NYM current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYM | CURRENT_MODEL_ZERO_FALLBACK | NYM current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYM | CURRENT_NAMES_PRESENT | NYM current hitter names are populated. | |||
| PASS | current_payload | current | NYM | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYM hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines mirror simulation box score. | |||
| PASS | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS current finalized batting totals match final simulation box score. | |||
| PASS | current_vs_final | cross-schema | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines mirror simulation box score. | |||
| 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.460. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.540. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.540. | |||||
| 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.289/0.678. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: WAS 5, NYM 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 3 - NYM 6. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for NYM; cap=0.54, reasons=predicted side recently lost this matchup by 5+ runs; opponent already produced an 8+ run breakout in this matchup; recent head-to-head is split and volatile; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.54, 'winner_flipped': False, 'reasons': ['predicted side recently lost this matchup by 5+ runs', 'opponent already produced an 8+ run breakout in this matchup', 'recent head-to-head is split and volatile', 'a prior same-side pick already missed against the actual result', 'a prior same-side pick missed by 5+ actual runs'], 'signals': {'predicted_team': 'WAS', 'opponent_team': 'NYM', 'h2h_net_margin': 4, 'opponent_breakout': True, 'opponent_blowout_win': True, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-04-29', 'predicted_team_runs': 14, 'opponent_runs': 2, 'margin_for_predicted_team': 12, 'winner': 'WAS'}, {'date': '2026-04-28', 'predicted_team_runs': 0, 'opponent_runs': 8, 'margin_for_predicted_team': -8, 'winner': 'NYM'}], 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 1, 'prior_predictions': [{'date': '2026-04-29', 'predicted_team': 'NYM', 'confidence': 0.5729576459312805, 'actual_winner': 'WAS', 'actual_margin': 12, 'path': '20260429_WAS@NYM.json'}, {'date': '2026-04-28', 'predicted_team': 'WAS', 'confidence': 0.722776444591417, 'actual_winner': 'NYM', 'actual_margin': 8, 'path': '20260428_WAS@NYM.json'}]}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-04-30. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260430_WAS@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@NYM. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 151. | |||||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_PITCHER_MATCH | NYM pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYM | PITCH_COUNT_TOTAL_MATCH | NYM pitch_count_summary total, row sum, and pitching total all match: 151. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 168. | |||
| PASS | pitching | current | NYM | PITCHING_REALISM | current:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYM | STARTER_PRESENT | current:NYM includes a starter/opener role. | |||
| PASS | pitching | current | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | NYM | PITCHING_REALISM | simulation:NYM pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYM | STARTER_PRESENT | simulation:NYM includes a starter/opener role. | |||
| PASS | pitching | simulation | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYM | PITCHING_TOTALS_SUM | current:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYM | PITCHING_TOTALS_SUM | simulation:NYM pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 3 - 6 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 3 - 6 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYM wins 6-3. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.540. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: NYM wins 6-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYM wins 3-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-6. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 3-6, final 3-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYM wins 6-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 11/30 = 0.367. | |||
| PASS | team_recent_performance | current | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 7/31 = 0.226. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYM | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | 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.037501811981201 | 3.8003740310668945 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 6 | 0.540 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| capped_target | 4 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 3 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| WAS | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 5 |
| NYM | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 3 | 6 | 10 |
Team totals - current + final simulation
| src | team | type | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | batting | 32 | 5 | 3 | 0 | 0 | 3 | 3 | 2 | 8 | 0 | 1 | 0 | 0 | ||||
| current | WAS | pitching | 10 | 2 | 6 | 4 | 9 | 8.2 | 6 | 0 | 0 | ||||||||
| current | NYM | batting | 36 | 10 | 0 | 0 | 2 | 6 | 6 | 4 | 9 | 0 | 1 | 0 | 0 | ||||
| current | NYM | pitching | 5 | 0 | 3 | 2 | 8 | 9.0 | 3 | 0 | 0 | ||||||||
| simulation | WAS | batting | 32 | 5 | 3 | 0 | 0 | 3 | 3 | 2 | 8 | 0 | 1 | ||||||
| simulation | WAS | pitching | 10 | 2 | 6 | 4 | 9 | 8.2 | 6 | 41 | 168 | ||||||||
| simulation | NYM | batting | 36 | 10 | 0 | 0 | 2 | 6 | 6 | 4 | 9 | 0 | 1 | ||||||
| simulation | NYM | pitching | 5 | 0 | 3 | 2 | 8 | 9.0 | 3 | 35 | 151 |
Batting lines - current + final simulation
| src | team | order | pos | name | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | DH | Jose Fernandez | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 | |
| current | WAS | SS | CJ Abrams | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | WAS | RF | James Wood | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 | |
| current | WAS | 1B | Luis García Jr. | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | WAS | LF | Daylen Lile | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | WAS | 2B | Nasim Nuñez | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0.000 | |
| current | WAS | C | Drew Millas | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 | |
| current | WAS | 3B | Jorbit Vivas | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | WAS | CF | Jacob Young | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.333 | |
| current | NYM | 3B | Bo Bichette | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0.200 | |
| current | NYM | RF | Brett Baty | 5 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 1 | 0 | 0.200 | |
| current | NYM | C | Luis Torrens | 2 | 1 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 1 | 0.500 | |
| current | NYM | DH | Juan Soto | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| current | NYM | LF | MJ Melendez | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 | |
| current | NYM | 1B | Mark Vientos | 4 | 3 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.750 | |
| current | NYM | 2B | Marcus Semien | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | SS | Ronny Mauricio | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | NYM | CF | Carson Benge | 4 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 | |
| simulation | WAS | 1 | RF | James Wood | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.000 |
| simulation | WAS | 2 | 1B | Luis García Jr. | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | WAS | 3 | LF | Daylen Lile | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | WAS | 4 | SS | CJ Abrams | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | WAS | 5 | DH | Jose Fernandez | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | WAS | 6 | 3B | Jorbit Vivas | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | WAS | 7 | 2B | Nasim Nuñez | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0.000 |
| simulation | WAS | 8 | C | Drew Millas | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | WAS | 9 | CF | Jacob Young | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.333 |
| simulation | NYM | 1 | 3B | Bo Bichette | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0.200 |
| simulation | NYM | 2 | DH | Juan Soto | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | NYM | 3 | LF | MJ Melendez | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | NYM | 4 | 1B | Mark Vientos | 4 | 3 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.750 |
| simulation | NYM | 5 | RF | Brett Baty | 5 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 1 | 0 | 0.200 |
| simulation | NYM | 6 | 2B | Marcus Semien | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | NYM | 7 | CF | Carson Benge | 4 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 |
| simulation | NYM | 8 | C | Luis Torrens | 2 | 1 | 0 | 0 | 1 | 1 | 3 | 1 | 0 | 1 | 0.500 |
| simulation | NYM | 9 | SS | Ronny Mauricio | 4 | 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 | WAS | 1 | Miles Mikolas | Starter | 4.0 | 4 | 3 | 3 | 2 | 3 | 1 | 0 | 0 | 6.75 | 8.49 | 1.84 |
| current | WAS | 2 | Brad Lord | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.74 | 1.06 |
| current | WAS | 3 | Cionel Pérez | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.50 | 1.43 |
| current | WAS | 4 | Gus Varland | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.18 | 1.41 |
| current | WAS | 5 | PJ Poulin | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.11 | 1.37 |
| current | WAS | 6 | Richard Lovelady | Middle Reliever | 0.2 | 2 | 3 | 3 | 1 | 2 | 1 | 0 | 0 | 40.50 | 2.77 | 1.69 |
| current | NYM | 1 | Freddy Peralta | Starter | 4.0 | 3 | 2 | 2 | 1 | 3 | 0 | 0 | 0 | 4.50 | 3.90 | 1.21 |
| current | NYM | 2 | Brooks Raley | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 1.86 | 1.03 |
| current | NYM | 3 | Craig Kimbrel | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 5.06 | 1.31 |
| current | NYM | 4 | Devin Williams | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 6.75 | 2.00 |
| current | NYM | 5 | Huascar Brazobán | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.35 | 1.05 |
| current | NYM | 6 | Luke Weaver | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.91 | 1.09 |
| simulation | WAS | 1 | Miles Mikolas | Starter | 4.0 | 4 | 3 | 3 | 2 | 3 | 1 | 18 | 71 | 6.75 | 8.49 | 1.84 |
| simulation | WAS | 2 | Gus Varland | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 14 | 0.00 | 3.18 | 1.41 |
| simulation | WAS | 3 | Cionel Pérez | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 6 | 24 | 0.00 | 4.50 | 1.43 |
| simulation | WAS | 4 | PJ Poulin | Middle Reliever | 1.0 | 2 | 0 | 0 | 0 | 1 | 0 | 5 | 15 | 0.00 | 4.11 | 1.37 |
| simulation | WAS | 5 | Brad Lord | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 18 | 0.00 | 3.74 | 1.06 |
| simulation | WAS | 6 | Richard Lovelady | Middle Reliever | 0.2 | 2 | 3 | 3 | 1 | 2 | 1 | 5 | 26 | 40.50 | 2.77 | 1.69 |
| simulation | NYM | 1 | Freddy Peralta | Starter | 4.0 | 3 | 2 | 2 | 1 | 3 | 0 | 16 | 67 | 4.50 | 3.90 | 1.21 |
| simulation | NYM | 2 | Devin Williams | Middle Reliever | 1.0 | 1 | 1 | 1 | 0 | 1 | 0 | 4 | 14 | 9.00 | 6.75 | 2.00 |
| simulation | NYM | 3 | Luke Weaver | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 16 | 0.00 | 4.91 | 1.09 |
| simulation | NYM | 4 | Brooks Raley | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 18 | 0.00 | 1.86 | 1.03 |
| simulation | NYM | 5 | Huascar Brazobán | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 5 | 21 | 0.00 | 1.35 | 1.05 |
| simulation | NYM | 6 | Craig Kimbrel | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 15 | 0.00 | 5.06 | 1.31 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| WAS | Miles Mikolas | Starter | 4.0 | 3 | 4 | 2 | 3 | 18 | 71 |
| WAS | Gus Varland | Middle Reliever | 1.0 | 0 | 0 | 0 | 2 | 3 | 14 |
| WAS | Cionel Pérez | Middle Reliever | 1.0 | 0 | 2 | 0 | 1 | 6 | 24 |
| WAS | PJ Poulin | Middle Reliever | 1.0 | 0 | 2 | 0 | 1 | 5 | 15 |
| WAS | Brad Lord | Middle Reliever | 1.0 | 0 | 0 | 1 | 0 | 4 | 18 |
| WAS | Richard Lovelady | Middle Reliever | 0.2 | 3 | 2 | 1 | 2 | 5 | 26 |
| NYM | Freddy Peralta | Starter | 4.0 | 2 | 3 | 1 | 3 | 16 | 67 |
| NYM | Devin Williams | Middle Reliever | 1.0 | 1 | 1 | 0 | 1 | 4 | 14 |
| NYM | Luke Weaver | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 16 |
| NYM | Brooks Raley | Middle Reliever | 1.0 | 0 | 0 | 1 | 1 | 4 | 18 |
| NYM | Huascar Brazobán | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 5 | 21 |
| NYM | Craig Kimbrel | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 15 |
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_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | good | 0 | 0 | 0 | 4 | Current finalized player totals agree with final simulation box score. |
| 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 | good | 0 | 0 | 0 | 2 | Current finalized hitter lines mirror the simulation box score. |
| 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 matches scoring_simulation.final_score. |
| 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. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| 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. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| 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. |
| 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. |