20260709_ARI@SD
20260709_ARI@SD.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| 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 | SD | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=9, sim=8; 2B: current=0, sim=1; RBI: current=3, sim=4; R: current=5, sim=4; BB: current=1, sim=4; SO: current=8, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Troy: H current=1 box=2, RBI current=0 box=2, BB current=0 box=1, SO current=1 box=0; Geraldo Perdomo: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0, BB current=1 box=0; Ildemaro Vargas: H current=1 box=0, R current=1 box=0, SO current=0 box=1; Ketel Marte: AB current=4 box=5; Max Kepler: H current=1 box=0, BB current=0 box=1; Gabriel Moreno: H current=1 box=3, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Corbin Carroll: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Nolan Arenado: H current=1 box=0, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=31, sim=37; H: current=9, sim=10; RBI: current=1, sim=3; R: current=2, sim=3; BB: current=1, sim=2; SO: current=8, sim=12). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Manny Machado: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Jackson Merrill: AB current=4 box=5, RBI current=0 box=2, R current=0 box=1, SO current=1 box=3; Xander Bogaerts: AB current=4 box=5, SO current=1 box=2; Fernando Tatis Jr.: AB current=4 box=5, H current=1 box=2, SO current=1 box=0; Gavin Sheets: AB current=3 box=4, H current=1 box=2; Jake Cronenworth: BB current=0 box=1, SO current=1 box=2; Miguel Andujar: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Luis Campusano: AB current=3 box=4, R current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD 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 | SD | BATTING_TOTALS_SUM | current:SD 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 | SD | BATTING_TOTALS_SUM | simulation:SD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match SD pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match SD pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match SD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match SD pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=39 matches SD BF=39. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match ARI pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match ARI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match ARI pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match ARI pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=39 matches ARI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 3. | |||
| 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 | SD | CURRENT_FINALIZED_MATCH_BOX | SD 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 | SD | CURRENT_LINEUP_SHAPE | SD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SD | CURRENT_MODEL_ZERO_FALLBACK | SD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SD | CURRENT_NAMES_PRESENT | SD current hitter names are populated. | |||
| PASS | current_payload | current | SD | CURRENT_PREDICTIONS_MATCH_FINALIZED | SD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.370. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.461/0.650. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ARI 8, SD 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 4 - SD 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ARI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for ARI. | {'winner_confidence': 0.63, 'h2h_net_margin': 0, 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-07-08', 'predicted_team': 'ARI', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_ARI@SD.json'}, {'date': '2026-07-07', 'predicted_team': 'ARI', 'confidence': 0.66, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_ARI@SD.json'}, {'date': '2026-07-06', 'predicted_team': 'ARI', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260706_ARI@SD.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_ARI@SD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ARI@SD. | |||||
| 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: 160. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| 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: 160. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_PITCHER_MATCH | SD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_TOTAL_MATCH | SD pitch_count_summary total, row sum, and pitching total all match: 173. | |||
| 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 | SD | PITCHING_REALISM | current:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SD | STARTER_PRESENT | current:SD includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | SD | PITCHING_REALISM | simulation:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SD | STARTER_PRESENT | simulation:SD includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ARI 4 - 3 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 4 - 3 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=ARI, final=ARI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.630. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 9/10 (0.900). | |||||
| 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: ARI wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ARI wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match 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: 9/10 = 0.900. | |||
| PASS | team_recent_performance | current | SD | RECENT_FORM_RANGE | SD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SD | TEAM_RECENT_RECORD | SD wins and win_pct agree: 3/10 = 0.300. |
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 | SD | BATTING_REALISM | current:SD hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ARI | BATTING_REALISM | simulation:ARI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SD | BATTING_REALISM | simulation:SD 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 | SD | BATTING_TOTALS_SUM | current:SD 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 | SD | BATTING_TOTALS_SUM | simulation:SD batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_BB_MATCH | simulation:ARI batting walks match SD pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_HR_MATCH | simulation:ARI batting home runs match SD pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_H_MATCH | simulation:ARI batting hits match SD pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | ARI | BAT_PITCH_SO_MATCH | simulation:ARI batting strikeouts match SD pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | ARI | PA_BF_MATCH | simulation:ARI PA=39 matches SD BF=39. | |||
| PASS | boxscore_crosscheck | simulation | ARI | RUNS_MATCH_FINAL | simulation:ARI runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_BB_MATCH | simulation:SD batting walks match ARI pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_HR_MATCH | simulation:SD batting home runs match ARI pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_H_MATCH | simulation:SD batting hits match ARI pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | SD | BAT_PITCH_SO_MATCH | simulation:SD batting strikeouts match ARI pitching: 12. | |||
| PASS | boxscore_crosscheck | simulation | SD | PA_BF_MATCH | simulation:SD PA=39 matches ARI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | SD | RUNS_MATCH_FINAL | simulation:SD runs match final score and opposing pitching runs: 3. | |||
| 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 | SD | CURRENT_FINALIZED_MATCH_BOX | SD 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 | SD | CURRENT_LINEUP_SHAPE | SD current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SD | CURRENT_MODEL_ZERO_FALLBACK | SD current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SD | CURRENT_NAMES_PRESENT | SD current hitter names are populated. | |||
| PASS | current_payload | current | SD | CURRENT_PREDICTIONS_MATCH_FINALIZED | SD hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.370. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.461/0.650. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ARI 8, SD 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ARI 4 - SD 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ARI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for ARI. | {'winner_confidence': 0.63, 'h2h_net_margin': 0, 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-07-08', 'predicted_team': 'ARI', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_ARI@SD.json'}, {'date': '2026-07-07', 'predicted_team': 'ARI', 'confidence': 0.66, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_ARI@SD.json'}, {'date': '2026-07-06', 'predicted_team': 'ARI', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260706_ARI@SD.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_ARI@SD. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ARI@SD. | |||||
| 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: 160. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| 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: 160. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_PITCHER_MATCH | SD pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SD | PITCH_COUNT_TOTAL_MATCH | SD pitch_count_summary total, row sum, and pitching total all match: 173. | |||
| 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 | SD | PITCHING_REALISM | current:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SD | STARTER_PRESENT | current:SD includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | SD | PITCHING_REALISM | simulation:SD pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SD | STARTER_PRESENT | simulation:SD includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | SD | PITCHING_TOTALS_SUM | current:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SD | PITCHING_TOTALS_SUM | current:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | SD | PITCHING_TOTALS_SUM | simulation:SD pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SD | PITCHING_TOTALS_SUM | simulation:SD pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ARI 4 - 3 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ARI 4 - 3 SD. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ARI wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=ARI, final=ARI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.630. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 9/10 (0.900). | |||||
| 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: ARI wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ARI wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ARI wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match 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: 9/10 = 0.900. | |||
| PASS | team_recent_performance | current | SD | RECENT_FORM_RANGE | SD recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SD | TEAM_RECENT_RECORD | SD wins and win_pct agree: 3/10 = 0.300. |
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 | SD | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=9, sim=8; 2B: current=0, sim=1; RBI: current=3, sim=4; R: current=5, sim=4; BB: current=1, sim=4; SO: current=8, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ARI | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Troy: H current=1 box=2, RBI current=0 box=2, BB current=0 box=1, SO current=1 box=0; Geraldo Perdomo: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0, BB current=1 box=0; Ildemaro Vargas: H current=1 box=0, R current=1 box=0, SO current=0 box=1; Ketel Marte: AB current=4 box=5; Max Kepler: H current=1 box=0, BB current=0 box=1; Gabriel Moreno: H current=1 box=3, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Corbin Carroll: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Nolan Arenado: H current=1 box=0, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=31, sim=37; H: current=9, sim=10; RBI: current=1, sim=3; R: current=2, sim=3; BB: current=1, sim=2; SO: current=8, sim=12). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SD | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Manny Machado: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Jackson Merrill: AB current=4 box=5, RBI current=0 box=2, R current=0 box=1, SO current=1 box=3; Xander Bogaerts: AB current=4 box=5, SO current=1 box=2; Fernando Tatis Jr.: AB current=4 box=5, H current=1 box=2, SO current=1 box=0; Gavin Sheets: AB current=3 box=4, H current=1 box=2; Jake Cronenworth: BB current=0 box=1, SO current=1 box=2; Miguel Andujar: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Luis Campusano: AB current=3 box=4, R current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 | 6.68607234954834 | 2.6608505249023438 | Base ML historical model prediction | |
| variance_applied | 6 | 2 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 5 | 2 | 0.630 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 5 | 2 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 2 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 2 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ARI | 0 | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 4 | 8 |
| SD | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 10 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | batting | 34 | 9 | 0 | 0 | 0 | 3 | 5 | 1 | 8 | 0 | 0 | 0 | 0 | |||||
| current | ARI | pitching | 10 | 0 | 3 | 2 | 12 | 9.0 | 3 | 0 | 0 | |||||||||
| current | SD | batting | 31 | 9 | 0 | 0 | 0 | 1 | 2 | 1 | 8 | 0 | 0 | 0 | 0 | |||||
| current | SD | pitching | 8 | 0 | 4 | 4 | 5 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | ARI | batting | 35 | 8 | 1 | 0 | 0 | 4 | 4 | 4 | 5 | 0 | 0 | |||||||
| simulation | ARI | pitching | 10 | 0 | 3 | 2 | 12 | 9.0 | 3 | 39 | 160 | |||||||||
| simulation | SD | batting | 37 | 10 | 0 | 0 | 0 | 3 | 3 | 2 | 12 | 0 | 0 | |||||||
| simulation | SD | pitching | 8 | 0 | 4 | 4 | 5 | 9.0 | 4 | 39 | 173 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ARI | DH | Tommy Troy | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | ARI | C | Geraldo Perdomo | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | ARI | 1B | Ildemaro Vargas | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 | |
| current | ARI | 2B | Ketel Marte | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ARI | 3B | Max Kepler | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ARI | SS | Gabriel Moreno | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ARI | LF | Corbin Carroll | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ARI | CF | Nolan Arenado | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ARI | RF | Lourdes Gurriel Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | 3B | Manny Machado | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SD | CF | Jackson Merrill | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | SS | Xander Bogaerts | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | RF | Fernando Tatis Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SD | LF | Gavin Sheets | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SD | 1B | Jake Cronenworth | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SD | DH | Miguel Andujar | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | SD | C | Luis Campusano | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SD | 2B | Sung-Mun Song | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | ARI | 1 | OF | Tommy Troy | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0.500 |
| simulation | ARI | 2 | SS | Geraldo Perdomo | 5 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.200 |
| simulation | ARI | 3 | 2B | Ketel Marte | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 |
| simulation | ARI | 4 | 1B | Ildemaro Vargas | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | ARI | 5 | C | Gabriel Moreno | 4 | 4 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 |
| simulation | ARI | 6 | 3B | Nolan Arenado | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | ARI | 7 | RF | Corbin Carroll | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.333 |
| simulation | ARI | 8 | LF | Max Kepler | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | ARI | 9 | LF | Lourdes Gurriel Jr. | 4 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.000 |
| simulation | SD | 1 | RF | Fernando Tatis Jr. | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | SD | 2 | CF | Jackson Merrill | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 3 | 0 | 0.200 |
| simulation | SD | 3 | SS | Xander Bogaerts | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | SD | 4 | 3B | Manny Machado | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | SD | 5 | LF | Gavin Sheets | 4 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | SD | 6 | 1B | Jake Cronenworth | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.333 |
| simulation | SD | 7 | C | Luis Campusano | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | SD | 8 | DH | Miguel Andujar | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | SD | 9 | 2B | Sung-Mun Song | 4 | 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 | ARI | 1 | Eduardo Rodriguez | Starter | 6.2 | 5 | 0 | 0 | 2 | 10 | 0 | 0 | 0 | 0.00 | 2.45 | 1.23 |
| current | ARI | 2 | Jonathan Loáisiga | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 0.00 | 0.43 |
| current | ARI | 3 | Juan Morillo | Middle Reliever | 0.1 | 5 | 3 | 3 | 0 | 1 | 0 | 0 | 0 | 81.00 | 10.80 | 2.40 |
| current | ARI | 5 | Paul Sewald | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| current | SD | 1 | Griffin Canning | Starter | 4.1 | 6 | 4 | 4 | 4 | 3 | 0 | 0 | 0 | 8.31 | 6.71 | 1.61 |
| current | SD | 2 | Adrian Morejon | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.52 | 1.11 |
| current | SD | 3 | Bradgley Rodriguez | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.15 | 1.17 |
| current | SD | 4 | Kyle Hart | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 5.23 | 1.07 |
| current | SD | 5 | Mason Miller | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 0.96 | 0.80 |
| current | SD | 6 | Yuki Matsui | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.01 | 1.28 |
| simulation | ARI | 1 | Eduardo Rodriguez | Starter | 6.2 | 5 | 0 | 0 | 2 | 10 | 0 | 27 | 111 | 0.00 | 2.45 | 1.23 |
| simulation | ARI | 2 | Paul Sewald | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 0.00 | 0.00 |
| simulation | ARI | 3 | Jonathan Loáisiga | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 16 | 0.00 | 0.00 | 0.43 |
| simulation | ARI | 4 | Juan Morillo | Middle Reliever | 0.1 | 5 | 3 | 3 | 0 | 1 | 0 | 6 | 20 | 81.00 | 10.80 | 2.40 |
| simulation | SD | 1 | Griffin Canning | Starter | 4.1 | 6 | 4 | 4 | 4 | 3 | 0 | 23 | 89 | 8.31 | 6.71 | 1.61 |
| simulation | SD | 2 | Mason Miller | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 0.96 | 0.80 |
| simulation | SD | 3 | Adrian Morejon | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 18 | 0.00 | 3.52 | 1.11 |
| simulation | SD | 4 | Bradgley Rodriguez | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 16 | 0.00 | 2.15 | 1.17 |
| simulation | SD | 5 | Kyle Hart | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 12 | 0.00 | 5.23 | 1.07 |
| simulation | SD | 6 | Yuki Matsui | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 22 | 0.00 | 2.01 | 1.28 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| ARI | Eduardo Rodriguez | Starter | 6.2 | 0 | 5 | 2 | 10 | 27 | 111 |
| ARI | Jonathan Loáisiga | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 16 |
| ARI | Juan Morillo | Middle Reliever | 0.1 | 3 | 5 | 0 | 1 | 6 | 20 |
| ARI | Paul Sewald | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 13 |
| SD | Griffin Canning | Starter | 4.1 | 4 | 6 | 4 | 3 | 23 | 89 |
| SD | Adrian Morejon | Middle Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 18 |
| SD | Bradgley Rodriguez | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 16 |
| SD | Kyle Hart | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 12 |
| SD | Mason Miller | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| SD | Yuki Matsui | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 22 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_ATL@PIT
20260709_ATL@PIT.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| 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 | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=9, sim=10; 2B: current=0, sim=3; HR: current=0, sim=2; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=0, sim=3; SO: current=9, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Matt Olson: H current=1 box=3, 2B current=0 box=1, HR current=0 box=1, RBI current=1 box=3; Ozzie Albies: AB current=4 box=5, H current=1 box=0, R current=1 box=0; Drake Baldwin: HR current=0 box=1, RBI current=1 box=2, HBP current=0 box=1; Michael Harris II: H current=1 box=3, 2B current=0 box=2, BB current=0 box=1; Mauricio Dubón: AB current=4 box=5, RBI current=1 box=0; Dominic Smith: AB current=3 box=4, R current=0 box=1; Austin Riley: RBI current=1 box=0, R current=0 box=1; Mike Yastrzemski: H current=1 box=0, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=33, sim=30; H: current=9, sim=3; 2B: current=0, sim=1; RBI: current=5, sim=2; R: current=7, sim=2; BB: current=2, sim=3; SO: current=10, sim=14). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Reynolds: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Esmerlyn Valdez: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brandon Lowe: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=2; Jake Mangum: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Ryan O'Hearn: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, BB current=0 box=1; Nick Gonzales: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=3; Rafael Flores Jr.: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Tyler Callihan: H current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | ATL | BATTING_REALISM | current:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT 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 | PIT | BATTING_TOTALS_SUM | current:PIT 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 | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match PIT pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match PIT pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match PIT pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=41 matches PIT BF=41. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match ATL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match ATL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match ATL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match ATL pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=33 matches ATL BF=33. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 2. | |||
| 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 | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT 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 | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.660. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.660. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.340. | |||||
| 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.452/0.640. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ATL 10, PIT 3. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ATL 6 - PIT 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ATL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for ATL. | {'winner_confidence': 0.66, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'ATL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_ATL@PIT.json'}, {'date': '2026-07-07', 'predicted_team': 'PIT', 'confidence': 0.5836025564962939, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_ATL@PIT.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_ATL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ATL@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: 154. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 161. | |||||
| 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: 154. | |||
| 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: 161. | |||
| 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 | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ATL 6 - 2 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ATL 6 - 2 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 6-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=ATL, final=ATL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.660. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: ATL wins 6-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL wins 6-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-2, final 6-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ATL wins 6-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match 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: 4/10 = 0.400. | |||
| 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: 6/10 = 0.600. |
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 | PIT | BATTING_REALISM | current:PIT hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | ATL | BATTING_REALISM | simulation:ATL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PIT | BATTING_REALISM | simulation:PIT 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 | PIT | BATTING_TOTALS_SUM | current:PIT 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 | PIT | BATTING_TOTALS_SUM | simulation:PIT batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_BB_MATCH | simulation:ATL batting walks match PIT pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_HR_MATCH | simulation:ATL batting home runs match PIT pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_H_MATCH | simulation:ATL batting hits match PIT pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | ATL | BAT_PITCH_SO_MATCH | simulation:ATL batting strikeouts match PIT pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | ATL | PA_BF_MATCH | simulation:ATL PA=41 matches PIT BF=41. | |||
| PASS | boxscore_crosscheck | simulation | ATL | RUNS_MATCH_FINAL | simulation:ATL runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_BB_MATCH | simulation:PIT batting walks match ATL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_HR_MATCH | simulation:PIT batting home runs match ATL pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_H_MATCH | simulation:PIT batting hits match ATL pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | PIT | BAT_PITCH_SO_MATCH | simulation:PIT batting strikeouts match ATL pitching: 14. | |||
| PASS | boxscore_crosscheck | simulation | PIT | PA_BF_MATCH | simulation:PIT PA=33 matches ATL BF=33. | |||
| PASS | boxscore_crosscheck | simulation | PIT | RUNS_MATCH_FINAL | simulation:PIT runs match final score and opposing pitching runs: 2. | |||
| 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 | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT 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 | PIT | CURRENT_LINEUP_SHAPE | PIT current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PIT | CURRENT_MODEL_ZERO_FALLBACK | PIT current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PIT | CURRENT_NAMES_PRESENT | PIT current hitter names are populated. | |||
| PASS | current_payload | current | PIT | CURRENT_PREDICTIONS_MATCH_FINALIZED | PIT hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.660. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.660. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.340. | |||||
| 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.452/0.640. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: ATL 10, PIT 3. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: ATL 6 - PIT 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: ATL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for ATL. | {'winner_confidence': 0.66, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'ATL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_ATL@PIT.json'}, {'date': '2026-07-07', 'predicted_team': 'PIT', 'confidence': 0.5836025564962939, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_ATL@PIT.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_ATL@PIT. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: ATL@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: 154. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 161. | |||||
| 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: 154. | |||
| 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: 161. | |||
| 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 | PIT | PITCHING_REALISM | current:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PIT | STARTER_PRESENT | current:PIT includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | PIT | PITCHING_REALISM | simulation:PIT pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PIT | STARTER_PRESENT | simulation:PIT includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | PIT | PITCHING_TOTALS_SUM | current:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PIT | PITCHING_TOTALS_SUM | current:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PIT | PITCHING_TOTALS_SUM | simulation:PIT pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: ATL 6 - 2 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: ATL 6 - 2 PIT. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: ATL wins 6-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=ATL, final=ATL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.660. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: ATL wins 6-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: ATL wins 6-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 6-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 6-2, final 6-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: ATL wins 6-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match 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: 4/10 = 0.400. | |||
| 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: 6/10 = 0.600. |
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 | PIT | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=9, sim=10; 2B: current=0, sim=3; HR: current=0, sim=2; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=0, sim=3; SO: current=9, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | ATL | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Matt Olson: H current=1 box=3, 2B current=0 box=1, HR current=0 box=1, RBI current=1 box=3; Ozzie Albies: AB current=4 box=5, H current=1 box=0, R current=1 box=0; Drake Baldwin: HR current=0 box=1, RBI current=1 box=2, HBP current=0 box=1; Michael Harris II: H current=1 box=3, 2B current=0 box=2, BB current=0 box=1; Mauricio Dubón: AB current=4 box=5, RBI current=1 box=0; Dominic Smith: AB current=3 box=4, R current=0 box=1; Austin Riley: RBI current=1 box=0, R current=0 box=1; Mike Yastrzemski: H current=1 box=0, BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=33, sim=30; H: current=9, sim=3; 2B: current=0, sim=1; RBI: current=5, sim=2; R: current=7, sim=2; BB: current=2, sim=3; SO: current=10, sim=14). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PIT | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Reynolds: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Esmerlyn Valdez: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brandon Lowe: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=2; Jake Mangum: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Ryan O'Hearn: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, BB current=0 box=1; Nick Gonzales: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=3; Rafael Flores Jr.: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Tyler Callihan: H current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 6.275811195373535 | 4.653237819671631 | Base ML historical model prediction | |
| variance_applied | 7 | 5 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 3 | 0.660 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 5 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 6 | 2 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ATL | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 0 | 2 | 6 | 10 |
| PIT | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 3 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ATL | batting | 33 | 9 | 0 | 0 | 0 | 5 | 5 | 0 | 9 | 0 | 0 | 0 | 0 | |||||
| current | ATL | pitching | 3 | 0 | 2 | 3 | 14 | 9.0 | 2 | 0 | 0 | |||||||||
| current | PIT | batting | 33 | 9 | 0 | 0 | 0 | 5 | 7 | 2 | 10 | 0 | 0 | 0 | 0 | |||||
| current | PIT | pitching | 10 | 2 | 6 | 3 | 7 | 9.0 | 6 | 0 | 0 | |||||||||
| simulation | ATL | batting | 37 | 10 | 3 | 0 | 2 | 6 | 6 | 3 | 7 | 0 | 1 | |||||||
| simulation | ATL | pitching | 3 | 0 | 2 | 3 | 14 | 9.0 | 2 | 33 | 154 | |||||||||
| simulation | PIT | batting | 30 | 3 | 1 | 0 | 0 | 2 | 2 | 3 | 14 | 0 | 0 | |||||||
| simulation | PIT | pitching | 10 | 2 | 6 | 3 | 7 | 9.0 | 6 | 41 | 161 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ATL | 1B | Matt Olson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | 2B | Ozzie Albies | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | ATL | C | Drake Baldwin | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | CF | Michael Harris II | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | LF | Mauricio Dubón | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | DH | Dominic Smith | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | 3B | Austin Riley | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | ATL | RF | Mike Yastrzemski | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | ATL | SS | Jim Jarvis | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | LF | Bryan Reynolds | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PIT | RF | Esmerlyn Valdez | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 | |
| current | PIT | 2B | Brandon Lowe | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | CF | Jake Mangum | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PIT | DH | Ryan O'Hearn | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | 3B | Nick Gonzales | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PIT | C | Rafael Flores Jr. | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 | |
| current | PIT | 1B | Tyler Callihan | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PIT | SS | Jared Triolo | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | ATL | 1 | CF | Michael Harris II | 5 | 4 | 3 | 2 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.750 |
| simulation | ATL | 2 | 2B | Ozzie Albies | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | ATL | 3 | 1B | Matt Olson | 5 | 4 | 3 | 1 | 0 | 1 | 1 | 3 | 1 | 0 | 0 | 0.750 |
| simulation | ATL | 4 | C | Drake Baldwin | 5 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 1 | 0.250 |
| simulation | ATL | 5 | LF | Mauricio Dubón | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | ATL | 6 | DH | Dominic Smith | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 7 | 3B | Austin Riley | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | ATL | 8 | RF | Mike Yastrzemski | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | ATL | 9 | SS | Jim Jarvis | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 1 | CF | Jake Mangum | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PIT | 2 | 2B | Brandon Lowe | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 0 | 0.333 |
| simulation | PIT | 3 | LF | Bryan Reynolds | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | PIT | 4 | RF | Esmerlyn Valdez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PIT | 5 | DH | Ryan O'Hearn | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0.333 |
| simulation | PIT | 6 | 3B | Nick Gonzales | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | PIT | 7 | 1B | Tyler Callihan | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PIT | 8 | C | Rafael Flores Jr. | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | PIT | 9 | SS | Jared Triolo | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | ATL | 1 | Bryce Elder | Starter | 5.2 | 3 | 2 | 2 | 1 | 10 | 0 | 0 | 0 | 3.18 | 4.01 | 1.23 |
| current | ATL | 2 | Didier Fuentes | Middle Reliever | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.52 | 1.15 |
| current | ATL | 3 | Dylan Lee | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 1.52 | 0.68 |
| current | ATL | 4 | Raisel Iglesias | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.30 | 1.12 |
| current | PIT | 1 | Mitch Keller | Starter | 5.1 | 6 | 4 | 4 | 2 | 5 | 1 | 0 | 0 | 6.75 | 5.02 | 1.31 |
| current | PIT | 2 | Dennis Santana | Middle Reliever | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.70 | 1.30 |
| current | PIT | 3 | Gregory Soto | Middle Reliever | 1.1 | 2 | 2 | 2 | 0 | 1 | 1 | 0 | 0 | 13.50 | 3.55 | 0.97 |
| current | PIT | 4 | Mason Montgomery | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.75 | 1.25 |
| simulation | ATL | 1 | Bryce Elder | Starter | 5.2 | 3 | 2 | 2 | 1 | 10 | 0 | 21 | 98 | 3.18 | 4.01 | 1.23 |
| simulation | ATL | 2 | Raisel Iglesias | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 18 | 0.00 | 2.30 | 1.12 |
| simulation | ATL | 3 | Dylan Lee | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 17 | 0.00 | 1.52 | 0.68 |
| simulation | ATL | 4 | Didier Fuentes | Middle Reliever | 1.1 | 0 | 0 | 0 | 1 | 1 | 0 | 5 | 21 | 0.00 | 2.52 | 1.15 |
| simulation | PIT | 1 | Mitch Keller | Starter | 5.1 | 6 | 4 | 4 | 2 | 5 | 1 | 25 | 97 | 6.75 | 5.02 | 1.31 |
| simulation | PIT | 2 | Dennis Santana | Middle Reliever | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 | 6 | 24 | 0.00 | 4.70 | 1.30 |
| simulation | PIT | 3 | Mason Montgomery | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 3.75 | 1.25 |
| simulation | PIT | 4 | Gregory Soto | Middle Reliever | 1.1 | 2 | 2 | 2 | 0 | 1 | 1 | 6 | 23 | 13.50 | 3.55 | 0.97 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| ATL | Bryce Elder | Starter | 5.2 | 2 | 3 | 1 | 10 | 21 | 98 |
| ATL | Didier Fuentes | Middle Reliever | 1.1 | 0 | 0 | 1 | 1 | 5 | 21 |
| ATL | Dylan Lee | Middle Reliever | 1.0 | 0 | 0 | 1 | 2 | 4 | 17 |
| ATL | Raisel Iglesias | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 18 |
| PIT | Mitch Keller | Starter | 5.1 | 4 | 6 | 2 | 5 | 25 | 97 |
| PIT | Dennis Santana | Middle Reliever | 1.1 | 0 | 1 | 1 | 1 | 6 | 24 |
| PIT | Gregory Soto | Middle Reliever | 1.1 | 2 | 2 | 0 | 1 | 6 | 23 |
| PIT | Mason Montgomery | Middle Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 17 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_BOS@CHW
20260709_BOS@CHW.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result', 'simulation_winner_reversal']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result', 'simulation_winner_reversal']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result', 'simulation_winner_reversal']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | BOS | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | CHW | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=30, sim=36; H: current=8, sim=9; 2B: current=0, sim=3; RBI: current=1, sim=3; R: current=2, sim=3; BB: current=1, sim=0; SO: current=8, sim=4). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Romy Gonzalez: H current=1 box=0, RBI current=1 box=0; Wilyer Abreu: RBI current=0 box=1, SO current=1 box=0; Anthony Seigler: AB current=3 box=4, RBI current=0 box=1, SO current=1 box=0; Ceddanne Rafaela: H current=1 box=2, 2B current=0 box=1, SO current=1 box=0; Caleb Durbin: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Nate Eaton: AB current=3 box=4, H current=0 box=1; Andruw Monasterio: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Brett Harris: AB current=3 box=4, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=30; H: current=9, sim=6; HR: current=0, sim=2; RBI: current=2, sim=4; BB: current=1, sim=3; SO: current=9, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Jacob Gonzalez: H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Tristan Peters: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Kyle Teel: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; Chase Meidroth: H current=1 box=0, R current=1 box=0; Colson Montgomery: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Braden Montgomery: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=1, SO current=1 box=0; Sam Antonacci: H current=1 box=2, SO current=1 box=0; Miguel Vargas: H current=1 box=0, R current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BOS | BATTING_REALISM | current:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BOS | BATTING_TOTALS_SUM | current:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | current | CHW | BATTING_TOTALS_SUM | current:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BOS | BATTING_TOTALS_SUM | simulation:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHW | BATTING_TOTALS_SUM | simulation:CHW batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match CHW pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match CHW pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match CHW pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match CHW pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=36 matches CHW BF=36. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match BOS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match BOS pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match BOS pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=33 matches BOS BF=33. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BOS | CURRENT_LINEUP_SHAPE | BOS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BOS | CURRENT_MODEL_ZERO_FALLBACK | BOS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BOS | CURRENT_NAMES_PRESENT | BOS current hitter names are populated. | |||
| PASS | current_payload | current | BOS | CURRENT_PREDICTIONS_MATCH_FINALIZED | BOS hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | CHW | CURRENT_LINEUP_SHAPE | CHW current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHW | CURRENT_MODEL_ZERO_FALLBACK | CHW current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHW | CURRENT_NAMES_PRESENT | CHW current hitter names are populated. | |||
| PASS | current_payload | current | CHW | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHW hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.490. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.498/0.694. | |||||
| 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: BOS 9, CHW 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: BOS 3 - CHW 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: BOS. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for BOS. | {'winner_confidence': 0.51, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'CHW', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_BOS@CHW.json'}, {'date': '2026-07-07', 'predicted_team': 'CHW', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_BOS@CHW.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_BOS@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: BOS@CHW. | |||||
| 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: 135. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 137. | |||||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_PITCHER_MATCH | BOS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_TOTAL_MATCH | BOS pitch_count_summary total, row sum, and pitching total all match: 135. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_PITCHER_MATCH | CHW pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_TOTAL_MATCH | CHW pitch_count_summary total, row sum, and pitching total all match: 137. | |||
| PASS | pitching | current | BOS | PITCHING_REALISM | current:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BOS | STARTER_PRESENT | current:BOS includes a starter/opener role. | |||
| PASS | pitching | current | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | simulation | BOS | PITCHING_REALISM | simulation:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BOS | STARTER_PRESENT | simulation:BOS includes a starter/opener role. | |||
| PASS | pitching | simulation | CHW | PITCHING_REALISM | simulation:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHW | STARTER_PRESENT | simulation:CHW includes a starter/opener role. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: BOS 3 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: BOS 3 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHW wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation winner reversal is traced: pre=BOS, final=CHW. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.510. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 9/10 (0.900). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: CHW wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHW wins 3-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-4. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 3-4, final 3-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHW wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 8/10 = 0.800. | |||
| PASS | team_recent_performance | current | CHW | RECENT_FORM_RANGE | CHW recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHW | TEAM_RECENT_RECORD | CHW wins and win_pct agree: 9/10 = 0.900. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BOS | BATTING_REALISM | current:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CHW | BATTING_REALISM | current:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BOS | BATTING_REALISM | simulation:BOS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHW | BATTING_REALISM | simulation:CHW hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | BOS | BATTING_TOTALS_SUM | current:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | current | CHW | BATTING_TOTALS_SUM | current:CHW batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | BOS | BATTING_TOTALS_SUM | simulation:BOS batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CHW | BATTING_TOTALS_SUM | simulation:CHW batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_BB_MATCH | simulation:BOS batting walks match CHW pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_HR_MATCH | simulation:BOS batting home runs match CHW pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_H_MATCH | simulation:BOS batting hits match CHW pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | BOS | BAT_PITCH_SO_MATCH | simulation:BOS batting strikeouts match CHW pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | BOS | PA_BF_MATCH | simulation:BOS PA=36 matches CHW BF=36. | |||
| PASS | boxscore_crosscheck | simulation | BOS | RUNS_MATCH_FINAL | simulation:BOS runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_BB_MATCH | simulation:CHW batting walks match BOS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_HR_MATCH | simulation:CHW batting home runs match BOS pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_H_MATCH | simulation:CHW batting hits match BOS pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHW | BAT_PITCH_SO_MATCH | simulation:CHW batting strikeouts match BOS pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | CHW | PA_BF_MATCH | simulation:CHW PA=33 matches BOS BF=33. | |||
| PASS | boxscore_crosscheck | simulation | CHW | RUNS_MATCH_FINAL | simulation:CHW runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | BOS | CURRENT_LINEUP_SHAPE | BOS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | BOS | CURRENT_MODEL_ZERO_FALLBACK | BOS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | BOS | CURRENT_NAMES_PRESENT | BOS current hitter names are populated. | |||
| PASS | current_payload | current | BOS | CURRENT_PREDICTIONS_MATCH_FINALIZED | BOS hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | CHW | CURRENT_LINEUP_SHAPE | CHW current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHW | CURRENT_MODEL_ZERO_FALLBACK | CHW current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHW | CURRENT_NAMES_PRESENT | CHW current hitter names are populated. | |||
| PASS | current_payload | current | CHW | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHW hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.490. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.498/0.694. | |||||
| 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: BOS 9, CHW 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: BOS 3 - CHW 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: BOS. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for BOS. | {'winner_confidence': 0.51, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'CHW', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_BOS@CHW.json'}, {'date': '2026-07-07', 'predicted_team': 'CHW', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_BOS@CHW.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_BOS@CHW. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: BOS@CHW. | |||||
| 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: 135. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 137. | |||||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_PITCHER_MATCH | BOS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | BOS | PITCH_COUNT_TOTAL_MATCH | BOS pitch_count_summary total, row sum, and pitching total all match: 135. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_PITCHER_MATCH | CHW pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHW | PITCH_COUNT_TOTAL_MATCH | CHW pitch_count_summary total, row sum, and pitching total all match: 137. | |||
| PASS | pitching | current | BOS | PITCHING_REALISM | current:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BOS | STARTER_PRESENT | current:BOS includes a starter/opener role. | |||
| PASS | pitching | current | CHW | PITCHING_REALISM | current:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHW | STARTER_PRESENT | current:CHW includes a starter/opener role. | |||
| PASS | pitching | simulation | BOS | PITCHING_REALISM | simulation:BOS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | BOS | STARTER_PRESENT | simulation:BOS includes a starter/opener role. | |||
| PASS | pitching | simulation | CHW | PITCHING_REALISM | simulation:CHW pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHW | STARTER_PRESENT | simulation:CHW includes a starter/opener role. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | BOS | PITCHING_TOTALS_SUM | current:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHW | PITCHING_TOTALS_SUM | current:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | BOS | PITCHING_TOTALS_SUM | simulation:BOS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHW | PITCHING_TOTALS_SUM | simulation:CHW pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: BOS 3 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: BOS 3 - 4 CHW. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHW wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation winner reversal is traced: pre=BOS, final=CHW. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.510. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 9/10 (0.900). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: CHW wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHW wins 3-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-4. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 3-4, final 3-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHW wins 4-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | BOS | RECENT_FORM_RANGE | BOS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BOS | TEAM_RECENT_RECORD | BOS wins and win_pct agree: 8/10 = 0.800. | |||
| PASS | team_recent_performance | current | CHW | RECENT_FORM_RANGE | CHW recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHW | TEAM_RECENT_RECORD | CHW wins and win_pct agree: 9/10 = 0.900. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BOS | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | CHW | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=30, sim=36; H: current=8, sim=9; 2B: current=0, sim=3; RBI: current=1, sim=3; R: current=2, sim=3; BB: current=1, sim=0; SO: current=8, sim=4). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BOS | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Romy Gonzalez: H current=1 box=0, RBI current=1 box=0; Wilyer Abreu: RBI current=0 box=1, SO current=1 box=0; Anthony Seigler: AB current=3 box=4, RBI current=0 box=1, SO current=1 box=0; Ceddanne Rafaela: H current=1 box=2, 2B current=0 box=1, SO current=1 box=0; Caleb Durbin: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Nate Eaton: AB current=3 box=4, H current=0 box=1; Andruw Monasterio: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Brett Harris: AB current=3 box=4, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=30; H: current=9, sim=6; HR: current=0, sim=2; RBI: current=2, sim=4; BB: current=1, sim=3; SO: current=9, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHW | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Jacob Gonzalez: H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Tristan Peters: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Kyle Teel: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; Chase Meidroth: H current=1 box=0, R current=1 box=0; Colson Montgomery: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Braden Montgomery: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=1, SO current=1 box=0; Sam Antonacci: H current=1 box=2, SO current=1 box=0; Miguel Vargas: H current=1 box=0, R current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 0 | 0 | Base ML historical model prediction | |
| variance_applied | 0 | 0 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 3 | 0.510 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 3 | 4 | Final inning-by-inning simulation result | |
| simulation_winner_reversal | 3 | 4 | Inning simulation reversed the pre-simulation winner; primary prediction fields were reconciled to the final simulation score. |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 9 |
| CHW | 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 6 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | BOS | batting | 30 | 8 | 0 | 0 | 0 | 1 | 2 | 1 | 8 | 0 | 0 | 0 | 0 | |||||
| current | BOS | pitching | 6 | 2 | 4 | 3 | 5 | 8.0 | 4 | 0 | 0 | |||||||||
| current | CHW | batting | 31 | 9 | 0 | 0 | 0 | 2 | 4 | 1 | 9 | 0 | 0 | 0 | 0 | |||||
| current | CHW | pitching | 9 | 0 | 3 | 0 | 4 | 9.0 | 3 | 0 | 0 | |||||||||
| simulation | BOS | batting | 36 | 9 | 3 | 0 | 0 | 3 | 3 | 0 | 4 | 0 | 0 | |||||||
| simulation | BOS | pitching | 6 | 2 | 4 | 3 | 5 | 8.0 | 4 | 33 | 135 | |||||||||
| simulation | CHW | batting | 30 | 6 | 0 | 0 | 2 | 4 | 4 | 3 | 5 | 0 | 0 | |||||||
| simulation | CHW | pitching | 9 | 0 | 3 | 0 | 4 | 9.0 | 3 | 36 | 137 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | BOS | DH | Romy Gonzalez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BOS | RF | Wilyer Abreu | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | BOS | 2B | Anthony Seigler | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BOS | CF | Ceddanne Rafaela | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | BOS | 3B | Caleb Durbin | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BOS | LF | Nate Eaton | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | BOS | SS | Andruw Monasterio | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BOS | 1B | Brett Harris | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | BOS | C | Connor Wong | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | DH | Jacob Gonzalez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | C | Tristan Peters | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | 1B | Kyle Teel | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | 2B | Chase Meidroth | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CHW | 3B | Colson Montgomery | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CHW | SS | Braden Montgomery | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CHW | LF | Sam Antonacci | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHW | CF | Miguel Vargas | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHW | RF | Andrew Benintendi | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| simulation | BOS | 1 | 2B | Anthony Seigler | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 2 | CF | Ceddanne Rafaela | 4 | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | BOS | 3 | RF | Wilyer Abreu | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | BOS | 4 | DH | Romy Gonzalez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BOS | 5 | 3B | Caleb Durbin | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | BOS | 6 | SS | Andruw Monasterio | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | BOS | 7 | LF | Nate Eaton | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | BOS | 8 | 1B | Brett Harris | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | BOS | 9 | C | Connor Wong | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CHW | 1 | CF | Tristan Peters | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | CHW | 2 | SS | Colson Montgomery | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | CHW | 3 | 2B | Chase Meidroth | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHW | 4 | SS | Jacob Gonzalez | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CHW | 5 | C | Kyle Teel | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.500 |
| simulation | CHW | 6 | 3B | Miguel Vargas | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | CHW | 7 | OF | Braden Montgomery | 3 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.333 |
| simulation | CHW | 8 | SS | Sam Antonacci | 3 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.667 |
| simulation | CHW | 9 | DH | Andrew Benintendi | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | BOS | 1 | Patrick Sandoval | Starter | 3.0 | 5 | 4 | 4 | 2 | 4 | 2 | 0 | 0 | 12.00 | ||
| current | BOS | 3 | Aroldis Chapman | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.35 | 1.12 |
| current | BOS | 4 | Garrett Whitlock | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.40 | 0.97 |
| current | BOS | 6 | Justin Slaten | Middle Reliever | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 6.10 | 1.60 |
| current | CHW | 1 | Davis Martin | Starter | 6.0 | 6 | 2 | 2 | 0 | 3 | 0 | 0 | 0 | 3.00 | 3.31 | 1.19 |
| current | CHW | 2 | Bryan Hudson | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.57 | 1.35 |
| current | CHW | 3 | Grant Taylor | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.42 | 1.26 |
| current | CHW | 6 | Seranthony Domínguez | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 9.00 | 13.50 | 3.00 |
| simulation | BOS | 1 | Patrick Sandoval | Starter | 3.0 | 5 | 4 | 4 | 2 | 4 | 2 | 16 | 65 | 12.00 | ||
| simulation | BOS | 2 | Aroldis Chapman | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 25 | 0.00 | 1.35 | 1.12 |
| simulation | BOS | 3 | Garrett Whitlock | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 25 | 0.00 | 2.40 | 0.97 |
| simulation | BOS | 4 | Justin Slaten | Middle Reliever | 1.0 | 1 | 0 | 0 | 1 | 1 | 0 | 5 | 20 | 0.00 | 6.10 | 1.60 |
| simulation | CHW | 1 | Davis Martin | Starter | 6.0 | 6 | 2 | 2 | 0 | 3 | 0 | 24 | 94 | 3.00 | 3.31 | 1.19 |
| simulation | CHW | 2 | Seranthony Domínguez | Middle Reliever | 1.0 | 3 | 1 | 1 | 0 | 0 | 0 | 6 | 10 | 9.00 | 13.50 | 3.00 |
| simulation | CHW | 3 | Grant Taylor | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 18 | 0.00 | 1.42 | 1.26 |
| simulation | CHW | 4 | Bryan Hudson | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 15 | 0.00 | 1.57 | 1.35 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| BOS | Patrick Sandoval | Starter | 3.0 | 4 | 5 | 2 | 4 | 16 | 65 |
| BOS | Aroldis Chapman | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 6 | 25 |
| BOS | Garrett Whitlock | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 6 | 25 |
| BOS | Justin Slaten | Middle Reliever | 1.0 | 0 | 1 | 1 | 1 | 5 | 20 |
| CHW | Davis Martin | Starter | 6.0 | 2 | 6 | 0 | 3 | 24 | 94 |
| CHW | Bryan Hudson | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 15 |
| CHW | Grant Taylor | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 18 |
| CHW | Seranthony Domínguez | Middle Reliever | 1.0 | 1 | 3 | 0 | 0 | 6 | 10 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_CHC@BAL
20260709_CHC@BAL.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| 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 | CHC | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=9, sim=7; HR: current=0, sim=1; RBI: current=3, sim=2; R: current=3, sim=2; BB: current=1, sim=3; SO: current=9, sim=8; HBP: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Taylor Ward: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Adley Rutschman: RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Gunnar Henderson: AB current=5 box=4, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Pete Alonso: AB current=4 box=3, H current=1 box=2, RBI current=1 box=0, R current=1 box=0; Tyler O'Neill: HBP current=0 box=1; Samuel Basallo: HR current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Blaze Alexander: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Coby Mayo: AB current=3 box=4, H current=1 box=0, SO current=1 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (H: current=9, sim=6; 2B: current=0, sim=1; HR: current=0, sim=2; R: current=6, sim=5; BB: current=2, sim=6; HBP: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Pete Crow-Armstrong: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Seiya Suzuki: HR current=0 box=1, RBI current=1 box=2, BB current=0 box=1, SO current=1 box=0; Alex Bregman: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Carson Kelly: H current=1 box=0, R current=1 box=0, BB current=0 box=1, HBP current=0 box=1; Michael Busch: AB current=4 box=3, R current=0 box=1, BB current=1 box=2, SO current=1 box=0; Nico Hoerner: R current=0 box=1, SO current=0 box=1; Ian Happ: HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Dansby Swanson: AB current=3 box=4, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CHC | BATTING_REALISM | current:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHC | BATTING_REALISM | simulation:CHC 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 | CHC | BATTING_TOTALS_SUM | current:CHC 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 | CHC | BATTING_TOTALS_SUM | simulation:CHC batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match CHC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match CHC pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match CHC pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match CHC pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=39 matches CHC BF=39. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_BB_MATCH | simulation:CHC batting walks match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_HR_MATCH | simulation:CHC batting home runs match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match BAL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=41 matches BAL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC 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 | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC 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 | CHC | CURRENT_LINEUP_SHAPE | CHC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHC | CURRENT_MODEL_ZERO_FALLBACK | CHC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHC | CURRENT_NAMES_PRESENT | CHC current hitter names are populated. | |||
| PASS | current_payload | current | CHC | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHC hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.370. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.452/0.640. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CHC 6, BAL 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CHC 5 - BAL 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CHC. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for CHC. | {'winner_confidence': 0.63, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'CHC', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_CHC@BAL.json'}, {'date': '2026-07-07', 'predicted_team': 'CHC', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_CHC@BAL.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_CHC@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CHC@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: 155. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 184. | |||||
| 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: 184. | |||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_PITCHER_MATCH | CHC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_TOTAL_MATCH | CHC pitch_count_summary total, row sum, and pitching total all match: 155. | |||
| 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 | CHC | PITCHING_REALISM | current:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHC | STARTER_PRESENT | current:CHC includes a starter/opener role. | |||
| PASS | pitching | 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 | CHC | PITCHING_REALISM | simulation:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHC | STARTER_PRESENT | simulation:CHC includes a starter/opener role. | |||
| PASS | pitching_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 | CHC | PITCHING_TOTALS_SUM | current:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHC | PITCHING_TOTALS_SUM | current:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | 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 | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CHC 5 - 2 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CHC 5 - 2 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 5-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=CHC, final=CHC. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.630. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: CHC wins 5-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC wins 5-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-2, final 5-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHC wins 5-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match 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: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | CHC | RECENT_FORM_RANGE | CHC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHC | TEAM_RECENT_RECORD | CHC wins and win_pct agree: 8/10 = 0.800. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | CHC | BATTING_REALISM | current:CHC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CHC | BATTING_REALISM | simulation:CHC 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 | CHC | BATTING_TOTALS_SUM | current:CHC 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 | CHC | BATTING_TOTALS_SUM | simulation:CHC batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match CHC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match CHC pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match CHC pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match CHC pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=39 matches CHC BF=39. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_BB_MATCH | simulation:CHC batting walks match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_HR_MATCH | simulation:CHC batting home runs match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_H_MATCH | simulation:CHC batting hits match BAL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | CHC | BAT_PITCH_SO_MATCH | simulation:CHC batting strikeouts match BAL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | CHC | PA_BF_MATCH | simulation:CHC PA=41 matches BAL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | CHC | RUNS_MATCH_FINAL | simulation:CHC 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 | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC 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 | CHC | CURRENT_LINEUP_SHAPE | CHC current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CHC | CURRENT_MODEL_ZERO_FALLBACK | CHC current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CHC | CURRENT_NAMES_PRESENT | CHC current hitter names are populated. | |||
| PASS | current_payload | current | CHC | CURRENT_PREDICTIONS_MATCH_FINALIZED | CHC hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.630. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.370. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.452/0.640. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CHC 6, BAL 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CHC 5 - BAL 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: CHC. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for CHC. | {'winner_confidence': 0.63, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'CHC', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_CHC@BAL.json'}, {'date': '2026-07-07', 'predicted_team': 'CHC', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_CHC@BAL.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_CHC@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CHC@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: 155. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 184. | |||||
| 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: 184. | |||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_PITCHER_MATCH | CHC pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CHC | PITCH_COUNT_TOTAL_MATCH | CHC pitch_count_summary total, row sum, and pitching total all match: 155. | |||
| 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 | CHC | PITCHING_REALISM | current:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CHC | STARTER_PRESENT | current:CHC includes a starter/opener role. | |||
| PASS | pitching | 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 | CHC | PITCHING_REALISM | simulation:CHC pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CHC | STARTER_PRESENT | simulation:CHC includes a starter/opener role. | |||
| PASS | pitching_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 | CHC | PITCHING_TOTALS_SUM | current:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | CHC | PITCHING_TOTALS_SUM | current:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | 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 | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | CHC | PITCHING_TOTALS_SUM | simulation:CHC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CHC 5 - 2 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CHC 5 - 2 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: CHC wins 5-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=CHC, final=CHC. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.630. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: CHC wins 5-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: CHC wins 5-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-2, final 5-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: CHC wins 5-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match 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: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | CHC | RECENT_FORM_RANGE | CHC recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CHC | TEAM_RECENT_RECORD | CHC wins and win_pct agree: 8/10 = 0.800. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | CHC | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=9, sim=7; HR: current=0, sim=1; RBI: current=3, sim=2; R: current=3, sim=2; BB: current=1, sim=3; SO: current=9, sim=8; HBP: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Taylor Ward: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Adley Rutschman: RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Gunnar Henderson: AB current=5 box=4, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Pete Alonso: AB current=4 box=3, H current=1 box=2, RBI current=1 box=0, R current=1 box=0; Tyler O'Neill: HBP current=0 box=1; Samuel Basallo: HR current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Blaze Alexander: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Coby Mayo: AB current=3 box=4, H current=1 box=0, SO current=1 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (H: current=9, sim=6; 2B: current=0, sim=1; HR: current=0, sim=2; R: current=6, sim=5; BB: current=2, sim=6; HBP: current=0, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CHC | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Pete Crow-Armstrong: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Seiya Suzuki: HR current=0 box=1, RBI current=1 box=2, BB current=0 box=1, SO current=1 box=0; Alex Bregman: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Carson Kelly: H current=1 box=0, R current=1 box=0, BB current=0 box=1, HBP current=0 box=1; Michael Busch: AB current=4 box=3, R current=0 box=1, BB current=1 box=2, SO current=1 box=0; Nico Hoerner: R current=0 box=1, SO current=0 box=1; Ian Happ: HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Dansby Swanson: AB current=3 box=4, RBI current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.576401710510254 | 4.973334312438965 | Base ML historical model prediction | |
| variance_applied | 4 | 5 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 5 | 2 | 0.630 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 5 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 2 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CHC | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 5 | 6 |
| BAL | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 7 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CHC | batting | 33 | 9 | 0 | 0 | 0 | 5 | 6 | 2 | 8 | 0 | 0 | 0 | 0 | |||||
| current | CHC | pitching | 7 | 1 | 2 | 3 | 8 | 9.0 | 2 | 0 | 0 | |||||||||
| current | BAL | batting | 32 | 9 | 0 | 0 | 0 | 3 | 3 | 1 | 9 | 0 | 0 | 0 | 0 | |||||
| current | BAL | pitching | 6 | 2 | 5 | 6 | 8 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | CHC | batting | 33 | 6 | 1 | 0 | 2 | 5 | 5 | 6 | 8 | 0 | 2 | |||||||
| simulation | CHC | pitching | 7 | 1 | 2 | 3 | 8 | 9.0 | 2 | 39 | 155 | |||||||||
| simulation | BAL | batting | 34 | 7 | 0 | 0 | 1 | 2 | 2 | 3 | 8 | 0 | 2 | |||||||
| simulation | BAL | pitching | 6 | 2 | 5 | 6 | 8 | 9.0 | 5 | 41 | 184 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CHC | CF | Pete Crow-Armstrong | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CHC | RF | Seiya Suzuki | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CHC | 3B | Alex Bregman | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CHC | DH | Carson Kelly | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CHC | 1B | Michael Busch | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CHC | 2B | Nico Hoerner | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | CHC | LF | Ian Happ | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | CHC | SS | Dansby Swanson | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | CHC | C | Miguel Amaya | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BAL | LF | Taylor Ward | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BAL | DH | Adley Rutschman | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | SS | Gunnar Henderson | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 | |
| current | BAL | 1B | Pete Alonso | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | RF | Tyler O'Neill | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BAL | C | Samuel Basallo | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | BAL | 2B | Blaze Alexander | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BAL | 3B | Coby Mayo | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BAL | CF | Leody Taveras | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | CHC | 1 | CF | Pete Crow-Armstrong | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | CHC | 2 | 3B | Alex Bregman | 5 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | CHC | 3 | RF | Seiya Suzuki | 5 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 0.250 |
| simulation | CHC | 4 | DH | Carson Kelly | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0.000 |
| simulation | CHC | 5 | 1B | Michael Busch | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0.333 |
| simulation | CHC | 6 | 2B | Nico Hoerner | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CHC | 7 | LF | Ian Happ | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | CHC | 8 | SS | Dansby Swanson | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CHC | 9 | C | Miguel Amaya | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0.000 |
| simulation | BAL | 1 | DH | Adley Rutschman | 5 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | BAL | 2 | LF | Taylor Ward | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BAL | 3 | SS | Gunnar Henderson | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BAL | 4 | 1B | Pete Alonso | 4 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.667 |
| simulation | BAL | 5 | RF | Tyler O'Neill | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.333 |
| simulation | BAL | 6 | 3B | Coby Mayo | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.000 |
| simulation | BAL | 7 | C | Samuel Basallo | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | BAL | 8 | 2B | Blaze Alexander | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | BAL | 9 | CF | Leody Taveras | 4 | 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 | CHC | 1 | David Peterson | Starter | 4.1 | 6 | 2 | 2 | 2 | 6 | 1 | 0 | 0 | 4.15 | 6.75 | 1.67 |
| current | CHC | 2 | Caleb Thielbar | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 4.21 | 1.21 |
| current | CHC | 3 | Jacob Webb | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.18 | 1.31 |
| current | CHC | 4 | Ryan Rolison | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.91 | 1.24 |
| current | CHC | 5 | Trent Thornton | Middle Reliever | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.60 | 1.01 |
| current | BAL | 1 | Trevor Rogers | Starter | 5.2 | 4 | 3 | 3 | 5 | 6 | 1 | 0 | 0 | 4.76 | 4.70 | 1.32 |
| current | BAL | 2 | Tyler Wells | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.95 | 1.03 |
| current | BAL | 3 | Grant Wolfram | Middle Reliever | 1.0 | 2 | 2 | 2 | 1 | 2 | 1 | 0 | 0 | 18.00 | 4.39 | 1.24 |
| current | BAL | 4 | Yennier Cano | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.17 | 0.93 |
| current | BAL | 5 | Rico Garcia | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.75 | 0.86 |
| simulation | CHC | 1 | David Peterson | Starter | 4.1 | 6 | 2 | 2 | 2 | 6 | 1 | 22 | 85 | 4.15 | 6.75 | 1.67 |
| simulation | CHC | 2 | Jacob Webb | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 18 | 0.00 | 3.18 | 1.31 |
| simulation | CHC | 3 | Caleb Thielbar | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 17 | 0.00 | 4.21 | 1.21 |
| simulation | CHC | 4 | Trent Thornton | Middle Reliever | 1.1 | 1 | 0 | 0 | 0 | 1 | 0 | 5 | 20 | 0.00 | 2.60 | 1.01 |
| simulation | CHC | 5 | Ryan Rolison | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 15 | 0.00 | 2.91 | 1.24 |
| simulation | BAL | 1 | Trevor Rogers | Starter | 5.2 | 4 | 3 | 3 | 5 | 6 | 1 | 26 | 114 | 4.76 | 4.70 | 1.32 |
| simulation | BAL | 2 | Yennier Cano | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 16 | 0.00 | 2.17 | 0.93 |
| simulation | BAL | 3 | Tyler Wells | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 18 | 0.00 | 2.95 | 1.03 |
| simulation | BAL | 4 | Grant Wolfram | Middle Reliever | 1.0 | 2 | 2 | 2 | 1 | 2 | 1 | 6 | 23 | 18.00 | 4.39 | 1.24 |
| simulation | BAL | 5 | Rico Garcia | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 13 | 0.00 | 2.75 | 0.86 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CHC | David Peterson | Starter | 4.1 | 2 | 6 | 2 | 6 | 22 | 85 |
| CHC | Caleb Thielbar | Middle Reliever | 1.0 | 0 | 0 | 1 | 0 | 4 | 17 |
| CHC | Jacob Webb | Middle Reliever | 1.1 | 0 | 0 | 0 | 1 | 4 | 18 |
| CHC | Ryan Rolison | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 4 | 15 |
| CHC | Trent Thornton | Middle Reliever | 1.1 | 0 | 1 | 0 | 1 | 5 | 20 |
| BAL | Trevor Rogers | Starter | 5.2 | 3 | 4 | 5 | 6 | 26 | 114 |
| BAL | Tyler Wells | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 4 | 18 |
| BAL | Grant Wolfram | Middle Reliever | 1.0 | 2 | 2 | 1 | 2 | 6 | 23 |
| BAL | Yennier Cano | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 16 |
| BAL | Rico Garcia | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 3 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_CLE@MIN
20260709_CLE@MIN.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | CLE | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=30, sim=29; H: current=9, sim=3; RBI: current=2, sim=1; R: current=0, sim=1; BB: current=0, sim=3; SO: current=8, sim=11; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Travis Bazzana: H current=1 box=0, SO current=1 box=2; Kyle Manzardo: BB current=0 box=1, SO current=1 box=0; Chase DeLauter: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Brayan Rocchio: H current=1 box=2, RBI current=1 box=0, SO current=1 box=0; Kahlil Watson: H current=1 box=0, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Gabriel Arias: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Steven Kwan: H current=1 box=0; Patrick Bailey: AB current=3 box=2, H current=1 box=0, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=9, sim=11; 2B: current=0, sim=2; HR: current=0, sim=2; BB: current=0, sim=3; SO: current=8, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Josh Bell: HR current=0 box=1, RBI current=1 box=4, BB current=0 box=1, SO current=1 box=0; Kody Clemens: AB current=4 box=5, H current=1 box=2, HR current=0 box=1; Brooks Lee: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0; Trevor Larnach: AB current=3 box=4, R current=1 box=0, BB current=0 box=1, SO current=1 box=0; Royce Lewis: H current=1 box=0, RBI current=1 box=0; Alan Roden: AB current=5 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Tristan Gray: H current=1 box=3, 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Luke Keaschall: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=0 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | CLE | BATTING_REALISM | current:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CLE | BATTING_REALISM | simulation:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CLE | BATTING_TOTALS_SUM | current:CLE batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CLE | BATTING_TOTALS_SUM | simulation:CLE batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match MIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match MIN pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match MIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_SO_MATCH | simulation:CLE batting strikeouts match MIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CLE | PA_BF_MATCH | simulation:CLE PA=33 matches MIN BF=33. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match CLE pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match CLE pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match CLE pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match CLE pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=40 matches CLE BF=40. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CLE | CURRENT_LINEUP_SHAPE | CLE current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CLE | CURRENT_MODEL_ZERO_FALLBACK | CLE current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CLE | CURRENT_NAMES_PRESENT | CLE current hitter names are populated. | |||
| PASS | current_payload | current | CLE | CURRENT_PREDICTIONS_MATCH_FINALIZED | CLE hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.360. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.498/0.694. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CLE 3, MIN 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CLE 1 - MIN 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIN. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for MIN. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'CLE', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_CLE@MIN.json'}, {'date': '2026-07-07', 'predicted_team': 'MIN', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_CLE@MIN.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_CLE@MIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CLE@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: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 160. | |||||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_PITCHER_MATCH | CLE pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_TOTAL_MATCH | CLE pitch_count_summary total, row sum, and pitching total all match: 171. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 160. | |||
| PASS | pitching | current | CLE | PITCHING_REALISM | current:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CLE | STARTER_PRESENT | current:CLE includes a starter/opener role. | |||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | CLE | PITCHING_REALISM | simulation:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CLE | STARTER_PRESENT | simulation:CLE includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CLE 1 - 5 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CLE 1 - 5 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 5-1. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=MIN, final=MIN. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: MIN wins 5-1. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 1-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 1-5. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 1-5, final 1-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 5-1. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | CLE | RECENT_FORM_RANGE | CLE recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CLE | TEAM_RECENT_RECORD | CLE wins and win_pct agree: 2/10 = 0.200. | |||
| 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: 8/10 = 0.800. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | CLE | BATTING_REALISM | current:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CLE | BATTING_REALISM | simulation:CLE hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | CLE | BATTING_TOTALS_SUM | current:CLE batting totals equal summed player lines. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | CLE | BATTING_TOTALS_SUM | simulation:CLE batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_BB_MATCH | simulation:CLE batting walks match MIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_HR_MATCH | simulation:CLE batting home runs match MIN pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_H_MATCH | simulation:CLE batting hits match MIN pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CLE | BAT_PITCH_SO_MATCH | simulation:CLE batting strikeouts match MIN pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | CLE | PA_BF_MATCH | simulation:CLE PA=33 matches MIN BF=33. | |||
| PASS | boxscore_crosscheck | simulation | CLE | RUNS_MATCH_FINAL | simulation:CLE runs match final score and opposing pitching runs: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match CLE pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match CLE pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match CLE pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match CLE pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=40 matches CLE BF=40. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 5. | |||
| PASS | cross_schema | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | CLE | CURRENT_LINEUP_SHAPE | CLE current lineup has 9 expected positions. | |||
| PASS | current_payload | current | CLE | CURRENT_MODEL_ZERO_FALLBACK | CLE current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | CLE | CURRENT_NAMES_PRESENT | CLE current hitter names are populated. | |||
| PASS | current_payload | current | CLE | CURRENT_PREDICTIONS_MATCH_FINALIZED | CLE hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.360. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.498/0.694. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: CLE 3, MIN 11. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: CLE 1 - MIN 5. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIN. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for MIN. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'CLE', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_CLE@MIN.json'}, {'date': '2026-07-07', 'predicted_team': 'MIN', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_CLE@MIN.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_CLE@MIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: CLE@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: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 160. | |||||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_PITCHER_MATCH | CLE pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | CLE | PITCH_COUNT_TOTAL_MATCH | CLE pitch_count_summary total, row sum, and pitching total all match: 171. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_PITCHER_MATCH | MIN pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIN | PITCH_COUNT_TOTAL_MATCH | MIN pitch_count_summary total, row sum, and pitching total all match: 160. | |||
| PASS | pitching | current | CLE | PITCHING_REALISM | current:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | CLE | STARTER_PRESENT | current:CLE includes a starter/opener role. | |||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | CLE | PITCHING_REALISM | simulation:CLE pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | CLE | STARTER_PRESENT | simulation:CLE includes a starter/opener role. | |||
| PASS | pitching | simulation | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | CLE | PITCHING_TOTALS_SUM | current:CLE pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | CLE | PITCHING_TOTALS_SUM | simulation:CLE 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: CLE 1 - 5 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: CLE 1 - 5 MIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 5-1. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=MIN, final=MIN. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 2/10 (0.200). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 8/10 (0.800). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: MIN wins 5-1. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 1-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 1-5. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 1-5, final 1-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 5-1. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | CLE | RECENT_FORM_RANGE | CLE recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | CLE | TEAM_RECENT_RECORD | CLE wins and win_pct agree: 2/10 = 0.200. | |||
| 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: 8/10 = 0.800. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | CLE | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=30, sim=29; H: current=9, sim=3; RBI: current=2, sim=1; R: current=0, sim=1; BB: current=0, sim=3; SO: current=8, sim=11; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CLE | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Travis Bazzana: H current=1 box=0, SO current=1 box=2; Kyle Manzardo: BB current=0 box=1, SO current=1 box=0; Chase DeLauter: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Brayan Rocchio: H current=1 box=2, RBI current=1 box=0, SO current=1 box=0; Kahlil Watson: H current=1 box=0, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Gabriel Arias: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Steven Kwan: H current=1 box=0; Patrick Bailey: AB current=3 box=2, H current=1 box=0, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=9, sim=11; 2B: current=0, sim=2; HR: current=0, sim=2; BB: current=0, sim=3; SO: current=8, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Josh Bell: HR current=0 box=1, RBI current=1 box=4, BB current=0 box=1, SO current=1 box=0; Kody Clemens: AB current=4 box=5, H current=1 box=2, HR current=0 box=1; Brooks Lee: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0; Trevor Larnach: AB current=3 box=4, R current=1 box=0, BB current=0 box=1, SO current=1 box=0; Royce Lewis: H current=1 box=0, RBI current=1 box=0; Alan Roden: AB current=5 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Tristan Gray: H current=1 box=3, 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Luke Keaschall: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=0 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.175850868225098 | 3.882476568222046 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 3 | 4 | 0.640 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 3 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 3 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 1 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 3 |
| MIN | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 | 5 | 11 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CLE | batting | 30 | 9 | 0 | 0 | 0 | 2 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | |||||
| current | CLE | pitching | 11 | 2 | 5 | 3 | 7 | 8.0 | 5 | 0 | 0 | |||||||||
| current | MIN | batting | 33 | 9 | 0 | 0 | 0 | 5 | 5 | 0 | 8 | 0 | 0 | 0 | 0 | |||||
| current | MIN | pitching | 3 | 0 | 1 | 3 | 11 | 9.0 | 1 | 0 | 0 | |||||||||
| simulation | CLE | batting | 29 | 3 | 0 | 0 | 0 | 1 | 1 | 3 | 11 | 1 | 0 | |||||||
| simulation | CLE | pitching | 11 | 2 | 5 | 3 | 7 | 8.0 | 5 | 40 | 171 | |||||||||
| simulation | MIN | batting | 37 | 11 | 2 | 0 | 2 | 5 | 5 | 3 | 7 | 0 | 0 | |||||||
| simulation | MIN | pitching | 3 | 0 | 1 | 3 | 11 | 9.0 | 1 | 33 | 160 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | CLE | 2B | Travis Bazzana | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CLE | 1B | Kyle Manzardo | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CLE | DH | Chase DeLauter | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CLE | SS | Brayan Rocchio | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CLE | RF | Kahlil Watson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CLE | 3B | Gabriel Arias | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CLE | LF | Steven Kwan | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | CLE | C | Patrick Bailey | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CLE | CF | Daniel Schneemann | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIN | DH | Josh Bell | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | 2B | Kody Clemens | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | 3B | Brooks Lee | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | LF | Trevor Larnach | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIN | 1B | Royce Lewis | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | RF | Alan Roden | 0 | 5 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.200 | |
| current | MIN | SS | Tristan Gray | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIN | CF | Luke Keaschall | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 | |
| current | MIN | C | Alex Jackson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | CLE | 1 | 2B | Travis Bazzana | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | CLE | 2 | SS | Brayan Rocchio | 4 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | CLE | 3 | DH | Chase DeLauter | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | CLE | 4 | 1B | Kyle Manzardo | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | CLE | 5 | RF | Kahlil Watson | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.000 |
| simulation | CLE | 6 | 3B | Gabriel Arias | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | CLE | 7 | CF | Daniel Schneemann | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CLE | 8 | C | Patrick Bailey | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CLE | 9 | LF | Steven Kwan | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | MIN | 1 | LF | Trevor Larnach | 5 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | MIN | 2 | 3B | Brooks Lee | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | MIN | 3 | 2B | Kody Clemens | 5 | 5 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | MIN | 4 | DH | Josh Bell | 5 | 4 | 1 | 0 | 0 | 1 | 1 | 4 | 1 | 0 | 0 | 0.250 |
| simulation | MIN | 5 | 1B | Royce Lewis | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIN | 6 | RF | Alan Roden | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.500 |
| simulation | MIN | 7 | CF | Luke Keaschall | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIN | 8 | SS | Tristan Gray | 4 | 3 | 3 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1.000 |
| simulation | MIN | 9 | C | Alex Jackson | 4 | 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 | CLE | 1 | Gavin Williams | Starter | 5.1 | 3 | 2 | 2 | 3 | 4 | 0 | 0 | 0 | 3.38 | 3.89 | 1.18 |
| current | CLE | 2 | Cade Smith | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.83 | 1.14 |
| current | CLE | 3 | Colin Holderman | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 9.00 | 1.60 | 0.77 |
| current | CLE | 4 | Hunter Gaddis | Middle Reliever | 0.2 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.60 | 1.30 |
| current | CLE | 5 | Erik Sabrowski | Middle Reliever | 0.0 | 4 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 3.33 | 1.19 | |
| current | MIN | 1 | Joe Ryan | Starter | 5.2 | 1 | 0 | 0 | 2 | 7 | 0 | 0 | 0 | 0.00 | 2.85 | 1.04 |
| current | MIN | 2 | Andrew Morris | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 3.64 | 1.31 |
| current | MIN | 3 | Yoendrys Gómez | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.59 | 1.24 |
| current | MIN | 4 | Taylor Rogers | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 4.81 | 1.54 |
| simulation | CLE | 1 | Gavin Williams | Starter | 5.1 | 3 | 2 | 2 | 3 | 4 | 0 | 24 | 103 | 3.38 | 3.89 | 1.18 |
| simulation | CLE | 2 | Cade Smith | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 21 | 0.00 | 2.83 | 1.14 |
| simulation | CLE | 3 | Hunter Gaddis | Middle Reliever | 0.2 | 1 | 0 | 0 | 0 | 1 | 0 | 3 | 14 | 0.00 | 2.60 | 1.30 |
| simulation | CLE | 4 | Colin Holderman | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 1 | 5 | 19 | 9.00 | 1.60 | 0.77 |
| simulation | CLE | 5 | Erik Sabrowski | Middle Reliever | 0.0 | 4 | 2 | 2 | 0 | 0 | 1 | 4 | 14 | 3.33 | 1.19 | |
| simulation | MIN | 1 | Joe Ryan | Starter | 5.2 | 1 | 0 | 0 | 2 | 7 | 0 | 20 | 107 | 0.00 | 2.85 | 1.04 |
| simulation | MIN | 2 | Yoendrys Gómez | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 3.59 | 1.24 |
| simulation | MIN | 3 | Andrew Morris | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 4 | 17 | 0.00 | 3.64 | 1.31 |
| simulation | MIN | 4 | Taylor Rogers | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 5 | 19 | 9.00 | 4.81 | 1.54 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| CLE | Gavin Williams | Starter | 5.1 | 2 | 3 | 3 | 4 | 24 | 103 |
| CLE | Cade Smith | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 21 |
| CLE | Colin Holderman | Middle Reliever | 1.0 | 1 | 2 | 0 | 1 | 5 | 19 |
| CLE | Hunter Gaddis | Middle Reliever | 0.2 | 0 | 1 | 0 | 1 | 3 | 14 |
| CLE | Erik Sabrowski | Middle Reliever | 0.0 | 2 | 4 | 0 | 0 | 4 | 14 |
| MIN | Joe Ryan | Starter | 5.2 | 0 | 1 | 2 | 7 | 20 | 107 |
| MIN | Andrew Morris | Middle Reliever | 1.0 | 0 | 0 | 1 | 2 | 4 | 17 |
| MIN | Yoendrys Gómez | Middle Reliever | 1.1 | 0 | 0 | 0 | 1 | 4 | 17 |
| MIN | Taylor Rogers | Middle Reliever | 1.0 | 1 | 2 | 0 | 1 | 5 | 19 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_COL@SF
20260709_COL@SF.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | COL | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=0, sim=2; R: current=3, sim=5; BB: current=0, sim=4; SF: current=0, sim=1; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: AB current=4 box=5, RBI current=1 box=0, SO current=1 box=2; Jake McCarthy: H current=1 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Cole Carrigg: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=3; Kyle Karros: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=2; TJ Rumfield: H current=1 box=0, SO current=1 box=0; Ezequiel Tovar: AB current=4 box=3, H current=1 box=0, R current=0 box=1, SO current=1 box=2; Tyler Freeman: AB current=3 box=4, SO current=0 box=1; Willi Castro: AB current=4 box=3, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (H: current=9, sim=6; 2B: current=0, sim=1; HR: current=0, sim=2; RBI: current=1, sim=4; R: current=3, sim=4; BB: current=0, sim=4; SO: current=9, sim=6; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Luis Arraez: AB current=4 box=5, H current=1 box=0, SO current=1 box=0; Heliot Ramos: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Rafael Devers: H current=1 box=0, R current=1 box=0, SO current=1 box=3; Casey Schmitt: AB current=4 box=3, R current=0 box=1, BB current=0 box=1; Bryce Eldridge: 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Victor Bericoto: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Willy Adames: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Drew Gilbert: AB current=3 box=2, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match SF pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match SF pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match SF pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match SF pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=40 matches SF BF=40. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match COL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match COL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=38 matches COL BF=38. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL 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 | COL | CURRENT_LINEUP_SHAPE | COL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | COL | CURRENT_MODEL_ZERO_FALLBACK | COL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | COL | CURRENT_NAMES_PRESENT | COL current hitter names are populated. | |||
| PASS | current_payload | current | COL | CURRENT_PREDICTIONS_MATCH_FINALIZED | COL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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 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.461/0.650. | |||||
| 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 8, SF 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: COL 5 - SF 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: COL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for COL. | {'winner_confidence': 0.53, 'h2h_net_margin': 0, '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-07-05', 'predicted_team': 'COL', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260705_SF@COL.json'}, {'date': '2026-07-04', 'predicted_team': 'SF', 'confidence': 0.51, 'actual_winner': None, 'actual_margin': 0, 'file': '20260704_SF@COL.json'}, {'date': '2026-07-03', 'predicted_team': 'SF', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260703_SF@COL.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_COL@SF. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: COL@SF. | |||||
| 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: 163. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 167. | |||||
| 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: 163. | |||
| 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: 167. | |||
| PASS | pitching | current | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: COL 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: COL 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: COL wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=COL, final=COL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: COL wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: COL wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| 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: COL wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | COL | RECENT_FORM_RANGE | COL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | COL | TEAM_RECENT_RECORD | COL wins and win_pct agree: 4/10 = 0.400. | |||
| 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: 3/10 = 0.300. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | COL | BATTING_REALISM | current:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | COL | BATTING_REALISM | simulation:COL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | COL | BATTING_TOTALS_SUM | current:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | COL | BATTING_TOTALS_SUM | simulation:COL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_BB_MATCH | simulation:COL batting walks match SF pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_HR_MATCH | simulation:COL batting home runs match SF pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_H_MATCH | simulation:COL batting hits match SF pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | BAT_PITCH_SO_MATCH | simulation:COL batting strikeouts match SF pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | COL | PA_BF_MATCH | simulation:COL PA=40 matches SF BF=40. | |||
| PASS | boxscore_crosscheck | simulation | COL | RUNS_MATCH_FINAL | simulation:COL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match COL pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match COL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match COL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=38 matches COL BF=38. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL 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 | COL | CURRENT_LINEUP_SHAPE | COL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | COL | CURRENT_MODEL_ZERO_FALLBACK | COL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | COL | CURRENT_NAMES_PRESENT | COL current hitter names are populated. | |||
| PASS | current_payload | current | COL | CURRENT_PREDICTIONS_MATCH_FINALIZED | COL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SF | CURRENT_LINEUP_SHAPE | SF current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SF | CURRENT_MODEL_ZERO_FALLBACK | SF current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SF | CURRENT_NAMES_PRESENT | SF current hitter names are populated. | |||
| PASS | current_payload | current | SF | CURRENT_PREDICTIONS_MATCH_FINALIZED | SF hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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 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.461/0.650. | |||||
| 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 8, SF 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: COL 5 - SF 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: COL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for COL. | {'winner_confidence': 0.53, 'h2h_net_margin': 0, '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-07-05', 'predicted_team': 'COL', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260705_SF@COL.json'}, {'date': '2026-07-04', 'predicted_team': 'SF', 'confidence': 0.51, 'actual_winner': None, 'actual_margin': 0, 'file': '20260704_SF@COL.json'}, {'date': '2026-07-03', 'predicted_team': 'SF', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260703_SF@COL.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_COL@SF. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: COL@SF. | |||||
| 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: 163. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 167. | |||||
| 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: 163. | |||
| 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: 167. | |||
| PASS | pitching | current | COL | PITCHING_REALISM | current:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | COL | STARTER_PRESENT | current:COL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | COL | PITCHING_REALISM | simulation:COL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | COL | STARTER_PRESENT | simulation:COL includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | COL | PITCHING_TOTALS_SUM | current:COL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | COL | PITCHING_TOTALS_SUM | current:COL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SF | PITCHING_TOTALS_SUM | current:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SF | PITCHING_TOTALS_SUM | simulation:SF pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: COL 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: COL 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: COL wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=COL, final=COL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.530. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 3/10 (0.300). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary is consistent: COL wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: COL wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| 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: COL wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | COL | RECENT_FORM_RANGE | COL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | COL | TEAM_RECENT_RECORD | COL wins and win_pct agree: 4/10 = 0.400. | |||
| 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: 3/10 = 0.300. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | COL | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SF | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | COL | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=0, sim=2; R: current=3, sim=5; BB: current=0, sim=4; SF: current=0, sim=1; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | COL | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: AB current=4 box=5, RBI current=1 box=0, SO current=1 box=2; Jake McCarthy: H current=1 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Cole Carrigg: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=3; Kyle Karros: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=2; TJ Rumfield: H current=1 box=0, SO current=1 box=0; Ezequiel Tovar: AB current=4 box=3, H current=1 box=0, R current=0 box=1, SO current=1 box=2; Tyler Freeman: AB current=3 box=4, SO current=0 box=1; Willi Castro: AB current=4 box=3, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (H: current=9, sim=6; 2B: current=0, sim=1; HR: current=0, sim=2; RBI: current=1, sim=4; R: current=3, sim=4; BB: current=0, sim=4; SO: current=9, sim=6; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Luis Arraez: AB current=4 box=5, H current=1 box=0, SO current=1 box=0; Heliot Ramos: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Rafael Devers: H current=1 box=0, R current=1 box=0, SO current=1 box=3; Casey Schmitt: AB current=4 box=3, R current=0 box=1, BB current=0 box=1; Bryce Eldridge: 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Victor Bericoto: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Willy Adames: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Drew Gilbert: AB current=3 box=2, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.496504783630371 | 4.015635013580322 | Base ML historical model prediction | |
| variance_applied | 6 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 5 | 2 | 0.530 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 5 | 2 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 2 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 2 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | 0 | 0 | 1 | 0 | 1 | 0 | 3 | 0 | 0 | 5 | 8 |
| SF | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 4 | 6 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | COL | batting | 33 | 8 | 0 | 0 | 0 | 5 | 3 | 0 | 8 | 0 | 0 | 0 | 0 | |||||
| current | COL | pitching | 6 | 2 | 4 | 4 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| current | SF | batting | 33 | 9 | 0 | 0 | 0 | 1 | 3 | 0 | 9 | 0 | 0 | 0 | 0 | |||||
| current | SF | pitching | 8 | 0 | 5 | 4 | 8 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | COL | batting | 34 | 8 | 2 | 0 | 0 | 5 | 5 | 4 | 8 | 1 | 1 | |||||||
| simulation | COL | pitching | 6 | 2 | 4 | 4 | 6 | 9.0 | 4 | 38 | 163 | |||||||||
| simulation | SF | batting | 33 | 6 | 1 | 0 | 2 | 4 | 4 | 4 | 6 | 0 | 1 | |||||||
| simulation | SF | pitching | 8 | 0 | 5 | 4 | 8 | 9.0 | 5 | 40 | 167 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | COL | DH | Hunter Goodman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | LF | Jake McCarthy | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | CF | Cole Carrigg | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | 3B | Kyle Karros | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | COL | 1B | TJ Rumfield | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | COL | SS | Ezequiel Tovar | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | COL | RF | Tyler Freeman | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | COL | 2B | Willi Castro | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | COL | C | Braxton Fulford | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SF | 2B | Luis Arraez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SF | RF | Heliot Ramos | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SF | DH | Rafael Devers | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SF | 3B | Casey Schmitt | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SF | 1B | Bryce Eldridge | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SF | LF | Victor Bericoto | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | SS | Willy Adames | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SF | CF | Drew Gilbert | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | C | Drew Cavanaugh | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | COL | 1 | LF | Jake McCarthy | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.500 |
| simulation | COL | 2 | 3B | Kyle Karros | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | COL | 3 | CF | Cole Carrigg | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 3 | 0 | 1 | 0 | 0.400 |
| simulation | COL | 4 | DH | Hunter Goodman | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | COL | 5 | 1B | TJ Rumfield | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | COL | 6 | RF | Tyler Freeman | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | COL | 7 | 2B | Willi Castro | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | COL | 8 | SS | Ezequiel Tovar | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.000 |
| simulation | COL | 9 | C | Braxton Fulford | 4 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.333 |
| simulation | SF | 1 | RF | Heliot Ramos | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0.000 |
| simulation | SF | 2 | 2B | Luis Arraez | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SF | 3 | 3B | Casey Schmitt | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | SF | 4 | DH | Rafael Devers | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | SF | 5 | SS | Willy Adames | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SF | 6 | 1B | Bryce Eldridge | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | SF | 7 | LF | Victor Bericoto | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | SF | 8 | CF | Drew Gilbert | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 1 | 0.500 |
| simulation | SF | 9 | C | Drew Cavanaugh | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | COL | 1 | Ryan Feltner | Starter | 5.1 | 2 | 0 | 0 | 2 | 4 | 0 | 0 | 0 | 0.00 | 4.27 | 1.22 |
| current | COL | 2 | Antonio Senzatela | Middle Reliever | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 13.50 | 3.06 | 1.21 |
| current | COL | 3 | Jimmy Herget | Middle Reliever | 1.1 | 2 | 2 | 2 | 2 | 1 | 1 | 0 | 0 | 13.50 | 3.52 | 1.22 |
| current | COL | 4 | Jordan Romano | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 4.91 | 1.45 |
| current | SF | 1 | Logan Webb | Starter | 6.1 | 7 | 2 | 2 | 1 | 6 | 0 | 0 | 0 | 2.84 | 3.86 | 1.16 |
| current | SF | 2 | Caleb Kilian | Middle Reliever | 1.0 | 1 | 3 | 3 | 2 | 1 | 0 | 0 | 0 | 27.00 | 4.14 | 1.27 |
| current | SF | 3 | Erik Miller | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.38 | 1.50 |
| current | SF | 4 | Sam Hentges | Middle Reliever | 0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 2.20 | 1.59 |
| simulation | COL | 1 | Ryan Feltner | Starter | 5.1 | 2 | 0 | 0 | 2 | 4 | 0 | 21 | 91 | 0.00 | 4.27 | 1.22 |
| simulation | COL | 2 | Antonio Senzatela | Middle Reliever | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 6 | 23 | 13.50 | 3.06 | 1.21 |
| simulation | COL | 3 | Jordan Romano | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 18 | 0.00 | 4.91 | 1.45 |
| simulation | COL | 4 | Jimmy Herget | Middle Reliever | 1.1 | 2 | 2 | 2 | 2 | 1 | 1 | 8 | 31 | 13.50 | 3.52 | 1.22 |
| simulation | SF | 1 | Logan Webb | Starter | 6.1 | 7 | 2 | 2 | 1 | 6 | 0 | 28 | 117 | 2.84 | 3.86 | 1.16 |
| simulation | SF | 2 | Caleb Kilian | Middle Reliever | 1.0 | 1 | 3 | 3 | 2 | 1 | 0 | 6 | 24 | 27.00 | 4.14 | 1.27 |
| simulation | SF | 3 | Erik Miller | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 14 | 0.00 | 3.38 | 1.50 |
| simulation | SF | 4 | Sam Hentges | Middle Reliever | 0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 12 | 0.00 | 2.20 | 1.59 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| COL | Ryan Feltner | Starter | 5.1 | 0 | 2 | 2 | 4 | 21 | 91 |
| COL | Antonio Senzatela | Middle Reliever | 1.1 | 2 | 2 | 0 | 0 | 6 | 23 |
| COL | Jimmy Herget | Middle Reliever | 1.1 | 2 | 2 | 2 | 1 | 8 | 31 |
| COL | Jordan Romano | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 18 |
| SF | Logan Webb | Starter | 6.1 | 2 | 7 | 1 | 6 | 28 | 117 |
| SF | Caleb Kilian | Middle Reliever | 1.0 | 3 | 1 | 2 | 1 | 6 | 24 |
| SF | Erik Miller | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 14 |
| SF | Sam Hentges | Middle Reliever | 0.2 | 0 | 0 | 1 | 0 | 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 | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_KC@NYM
20260709_KC@NYM.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| 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 | 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_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=31, sim=34; H: current=9, sim=7; 2B: current=0, sim=2; 3B: current=0, sim=1; HR: current=0, sim=1; BB: current=1, sim=0; SO: current=8, sim=10; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Starling Marte: RBI current=0 box=1, R current=0 box=1, HBP current=0 box=1; Salvador Perez: H current=1 box=0, RBI current=1 box=0; Lane Thomas: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Nick Loftin: AB current=3 box=4, 3B current=0 box=1, R current=0 box=1; Jac Caglianone: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Isaac Collins: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=0 box=1; Bobby Witt Jr.: 2B current=0 box=1, R current=1 box=0, SO current=1 box=2; Tyler Tolbert: AB current=3 box=4, H current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=31, sim=37; H: current=9, sim=10; 2B: current=0, sim=2; HR: current=0, sim=2; RBI: current=2, sim=3; R: current=4, sim=3; BB: current=1, sim=3; SO: current=9, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, BB current=1 box=0; Carson Benge: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=1 box=0; Bo Bichette: H current=1 box=0, R current=1 box=0, BB current=0 box=1; A.J. Ewing: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Francisco Alvarez: AB current=3 box=4; Mark Vientos: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Jared Young: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Luis Torrens: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | KC | BATTING_REALISM | current:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM 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 | NYM | BATTING_TOTALS_SUM | current:NYM 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 | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match NYM pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match NYM pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match NYM pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=35 matches NYM BF=35. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match KC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match KC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match KC pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=40 matches KC BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 3. | |||
| 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 | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM 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 | 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 | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.490. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.452/0.640. | |||||
| 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: KC 7, NYM 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 4 - NYM 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: KC. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for KC. | {'winner_confidence': 0.51, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'NYM', 'confidence': 0.6330165928670362, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_KC@NYM.json'}, {'date': '2026-07-07', 'predicted_team': 'NYM', 'confidence': 0.5296800656372536, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_KC@NYM.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_KC@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@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: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 129. | |||||
| 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: 171. | |||
| 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: 129. | |||
| 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 | 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 | 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 | 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_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | 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 | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 4 - 3 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 4 - 3 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: KC wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=KC, final=KC. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.510. | |||||
| 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: KC wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: KC wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: KC wins 4-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: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 4/10 = 0.400. |
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 | NYM | BATTING_REALISM | current:NYM hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | KC | BATTING_REALISM | simulation:KC hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYM | BATTING_REALISM | simulation:NYM 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 | NYM | BATTING_TOTALS_SUM | current:NYM 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 | NYM | BATTING_TOTALS_SUM | simulation:NYM batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_BB_MATCH | simulation:KC batting walks match NYM pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_HR_MATCH | simulation:KC batting home runs match NYM pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_H_MATCH | simulation:KC batting hits match NYM pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | KC | BAT_PITCH_SO_MATCH | simulation:KC batting strikeouts match NYM pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | KC | PA_BF_MATCH | simulation:KC PA=35 matches NYM BF=35. | |||
| PASS | boxscore_crosscheck | simulation | KC | RUNS_MATCH_FINAL | simulation:KC runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_BB_MATCH | simulation:NYM batting walks match KC pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_HR_MATCH | simulation:NYM batting home runs match KC pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_H_MATCH | simulation:NYM batting hits match KC pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYM | BAT_PITCH_SO_MATCH | simulation:NYM batting strikeouts match KC pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | NYM | PA_BF_MATCH | simulation:NYM PA=40 matches KC BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYM | RUNS_MATCH_FINAL | simulation:NYM runs match final score and opposing pitching runs: 3. | |||
| 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 | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM 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 | 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 | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.490. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.452/0.640. | |||||
| 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: KC 7, NYM 10. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: KC 4 - NYM 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: KC. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for KC. | {'winner_confidence': 0.51, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'NYM', 'confidence': 0.6330165928670362, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_KC@NYM.json'}, {'date': '2026-07-07', 'predicted_team': 'NYM', 'confidence': 0.5296800656372536, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_KC@NYM.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_KC@NYM. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: KC@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: 171. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 129. | |||||
| 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: 171. | |||
| 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: 129. | |||
| 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 | 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 | 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 | 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_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | KC | PITCHING_TOTALS_SUM | current:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | 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 | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | KC | PITCHING_TOTALS_SUM | simulation:KC pitching totals equal summed pitcher lines for available fields. | |||
| PASS | 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 | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: KC 4 - 3 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: KC 4 - 3 NYM. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: KC wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=KC, final=KC. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.510. | |||||
| 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: KC wins 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: KC wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: KC wins 4-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: 4/10 = 0.400. | |||
| PASS | team_recent_performance | current | NYM | RECENT_FORM_RANGE | NYM recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYM | TEAM_RECENT_RECORD | NYM wins and win_pct agree: 4/10 = 0.400. |
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 | 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_vs_final | cross-schema | KC | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=31, sim=34; H: current=9, sim=7; 2B: current=0, sim=2; 3B: current=0, sim=1; HR: current=0, sim=1; BB: current=1, sim=0; SO: current=8, sim=10; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | KC | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Starling Marte: RBI current=0 box=1, R current=0 box=1, HBP current=0 box=1; Salvador Perez: H current=1 box=0, RBI current=1 box=0; Lane Thomas: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Nick Loftin: AB current=3 box=4, 3B current=0 box=1, R current=0 box=1; Jac Caglianone: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Isaac Collins: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, RBI current=0 box=1; Bobby Witt Jr.: 2B current=0 box=1, R current=1 box=0, SO current=1 box=2; Tyler Tolbert: AB current=3 box=4, H current=1 box=0, R current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=31, sim=37; H: current=9, sim=10; 2B: current=0, sim=2; HR: current=0, sim=2; RBI: current=2, sim=3; R: current=4, sim=3; BB: current=1, sim=3; SO: current=9, sim=8). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYM | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: AB current=4 box=5, H current=1 box=3, RBI current=1 box=0, BB current=1 box=0; Carson Benge: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=1 box=0; Bo Bichette: H current=1 box=0, R current=1 box=0, BB current=0 box=1; A.J. Ewing: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Francisco Alvarez: AB current=3 box=4; Mark Vientos: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Jared Young: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Luis Torrens: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 6.7690958976745605 | 3.6142783164978027 | Base ML historical model prediction | |
| variance_applied | 7 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 3 | 0.510 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 4 | 7 |
| NYM | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 3 | 10 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | batting | 31 | 9 | 0 | 0 | 0 | 4 | 4 | 1 | 8 | 0 | 0 | 0 | 0 | |||||
| current | KC | pitching | 10 | 2 | 3 | 3 | 8 | 9.0 | 3 | 0 | 0 | |||||||||
| current | NYM | batting | 31 | 9 | 0 | 0 | 0 | 2 | 4 | 1 | 9 | 0 | 0 | 0 | 0 | |||||
| current | NYM | pitching | 7 | 1 | 4 | 0 | 10 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | KC | batting | 34 | 7 | 2 | 1 | 1 | 4 | 4 | 0 | 10 | 0 | 1 | |||||||
| simulation | KC | pitching | 10 | 2 | 3 | 3 | 8 | 9.0 | 3 | 40 | 171 | |||||||||
| simulation | NYM | batting | 37 | 10 | 2 | 0 | 2 | 3 | 3 | 3 | 8 | 0 | 0 | |||||||
| simulation | NYM | pitching | 7 | 1 | 4 | 0 | 10 | 9.0 | 4 | 35 | 129 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | DH | Starling Marte | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | 1B | Salvador Perez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | KC | CF | Lane Thomas | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | KC | 3B | Nick Loftin | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.333 | |
| current | KC | RF | Jac Caglianone | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | KC | LF | Isaac Collins | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | SS | Bobby Witt Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | KC | 2B | Tyler Tolbert | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | KC | C | Luke Maile | 0 | 4 | 1 | 0 | 0 | 0 | 2 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | LF | Juan Soto | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | NYM | RF | Carson Benge | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | SS | Bo Bichette | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYM | CF | A.J. Ewing | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYM | DH | Francisco Alvarez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | 3B | Mark Vientos | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | 1B | Jared Young | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | C | Luis Torrens | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYM | 2B | Brett Baty | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | KC | 1 | CF | Lane Thomas | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | KC | 2 | SS | Bobby Witt Jr. | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | KC | 3 | 1B | Salvador Perez | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | KC | 4 | DH | Starling Marte | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0.333 |
| simulation | KC | 5 | 3B | Nick Loftin | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 |
| simulation | KC | 6 | RF | Jac Caglianone | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | KC | 7 | LF | Isaac Collins | 4 | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.750 |
| simulation | KC | 8 | 2B | Tyler Tolbert | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | KC | 9 | C | Luke Maile | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | NYM | 1 | CF | A.J. Ewing | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | NYM | 2 | LF | Juan Soto | 5 | 5 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.600 |
| simulation | NYM | 3 | SS | Bo Bichette | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | NYM | 4 | RF | Carson Benge | 5 | 5 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | NYM | 5 | DH | Francisco Alvarez | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | NYM | 6 | 1B | Jared Young | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | NYM | 7 | 3B | Mark Vientos | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | NYM | 8 | 2B | Brett Baty | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | NYM | 9 | C | Luis Torrens | 4 | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | KC | 1 | Michael Wacha | Starter | 6.1 | 5 | 1 | 1 | 2 | 6 | 1 | 0 | 0 | 1.42 | 3.45 | 1.16 |
| current | KC | 2 | Alex Lange | Middle Reliever | 1.0 | 2 | 2 | 2 | 0 | 1 | 1 | 0 | 0 | 18.00 | 5.92 | 1.53 |
| current | KC | 3 | Lucas Erceg | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.41 | 1.53 |
| current | KC | 4 | Daniel Lynch IV | Middle Reliever | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 2.41 | 0.96 |
| current | KC | 5 | John Schreiber | Middle Reliever | 0.0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3.53 | 1.29 | |
| current | NYM | 1 | Sean Manaea | Starter | 5.1 | 6 | 3 | 3 | 0 | 8 | 1 | 0 | 0 | 5.06 | 5.16 | 1.37 |
| current | NYM | 2 | Brooks Raley | Middle Reliever | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 6.75 | 2.16 | 1.20 |
| current | NYM | 3 | Devin Williams | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 4.25 | 1.52 |
| current | NYM | 5 | Luke Weaver | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.89 | 0.84 |
| simulation | KC | 1 | Michael Wacha | Starter | 6.1 | 5 | 1 | 1 | 2 | 6 | 1 | 26 | 103 | 1.42 | 3.45 | 1.16 |
| simulation | KC | 2 | Alex Lange | Middle Reliever | 1.0 | 2 | 2 | 2 | 0 | 1 | 1 | 5 | 20 | 18.00 | 5.92 | 1.53 |
| simulation | KC | 3 | Lucas Erceg | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 4.41 | 1.53 |
| simulation | KC | 4 | Daniel Lynch IV | Middle Reliever | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 13 | 0.00 | 2.41 | 0.96 |
| simulation | KC | 5 | John Schreiber | Middle Reliever | 0.0 | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 18 | 3.53 | 1.29 | |
| simulation | NYM | 1 | Sean Manaea | Starter | 5.1 | 6 | 3 | 3 | 0 | 8 | 1 | 22 | 85 | 5.06 | 5.16 | 1.37 |
| simulation | NYM | 2 | Devin Williams | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 10 | 0.00 | 4.25 | 1.52 |
| simulation | NYM | 3 | Luke Weaver | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 14 | 0.00 | 1.89 | 0.84 |
| simulation | NYM | 4 | Brooks Raley | Middle Reliever | 1.1 | 1 | 1 | 1 | 0 | 0 | 0 | 5 | 20 | 6.75 | 2.16 | 1.20 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| KC | Michael Wacha | Starter | 6.1 | 1 | 5 | 2 | 6 | 26 | 103 |
| KC | Alex Lange | Middle Reliever | 1.0 | 2 | 2 | 0 | 1 | 5 | 20 |
| KC | Lucas Erceg | Middle Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 17 |
| KC | Daniel Lynch IV | Middle Reliever | 0.2 | 0 | 0 | 1 | 1 | 3 | 13 |
| KC | John Schreiber | Middle Reliever | 0.0 | 0 | 2 | 0 | 0 | 2 | 18 |
| NYM | Sean Manaea | Starter | 5.1 | 3 | 6 | 0 | 8 | 22 | 85 |
| NYM | Brooks Raley | Middle Reliever | 1.1 | 1 | 1 | 0 | 0 | 5 | 20 |
| NYM | Devin Williams | Middle Reliever | 1.1 | 0 | 0 | 0 | 2 | 4 | 10 |
| NYM | Luke Weaver | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 4 | 14 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_LAA@TEX
20260709_LAA@TEX.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | LAA | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=9, sim=6; 2B: current=0, sim=2; HR: current=0, sim=1; R: current=2, sim=3; BB: current=2, sim=4; SO: current=9, sim=10; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Nolan Schanuel: H current=1 box=0; Zach Neto: AB current=5 box=4, RBI current=1 box=0; Mike Trout: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Jorge Soler: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Josh Lowe: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Vaughn Grissom: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1; Denzer Guzman: H current=1 box=0, SO current=1 box=3; Logan O'Hoppe: 2B current=0 box=1, SO current=1 box=0, HBP current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=9, sim=7; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=2, sim=6; R: current=2, sim=6; BB: current=0, sim=2; SO: current=7, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Brandon Nimmo: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Josh Jung: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=3; Justin Foscue: R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Wyatt Langford: AB current=5 box=4, RBI current=1 box=0; Kyle Higashioka: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Ezequiel Duran: H current=1 box=0; Cameron Cauley: R current=0 box=1; Jake Burger: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAA | BATTING_TOTALS_SUM | current:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAA | BATTING_TOTALS_SUM | simulation:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match TEX pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match TEX pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match TEX pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match TEX pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=38 matches TEX BF=38. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match LAA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match LAA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match LAA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=33 matches LAA BF=33. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 6. | |||
| PASS | cross_schema | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | LAA | CURRENT_LINEUP_SHAPE | LAA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAA | CURRENT_MODEL_ZERO_FALLBACK | LAA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAA | CURRENT_NAMES_PRESENT | LAA current hitter names are populated. | |||
| PASS | current_payload | current | LAA | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.400. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.600. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.600. | |||||
| 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.609/0.826. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: LAA 6, TEX 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAA 3 - TEX 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TEX. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for TEX. | {'winner_confidence': 0.6, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'LAA', 'confidence': 0.51, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_LAA@TEX.json'}, {'date': '2026-07-07', 'predicted_team': 'TEX', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_LAA@TEX.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_LAA@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAA@TEX. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 134. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 165. | |||||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_PITCHER_MATCH | LAA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_TOTAL_MATCH | LAA pitch_count_summary total, row sum, and pitching total all match: 134. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_PITCHER_MATCH | TEX pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_TOTAL_MATCH | TEX pitch_count_summary total, row sum, and pitching total all match: 165. | |||
| PASS | pitching | current | LAA | PITCHING_REALISM | current:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAA | STARTER_PRESENT | current:LAA includes a starter/opener role. | |||
| PASS | pitching | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | LAA | PITCHING_REALISM | simulation:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAA | STARTER_PRESENT | simulation:LAA includes a starter/opener role. | |||
| PASS | pitching | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: LAA 3 - 6 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAA 3 - 6 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TEX wins 6-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=TEX, final=TEX. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.600. | |||||
| 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: TEX wins 6-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TEX wins 3-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-6. | |||||
| 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: TEX wins 6-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | TEX | RECENT_FORM_RANGE | TEX recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TEX | TEAM_RECENT_RECORD | TEX wins and win_pct agree: 5/10 = 0.500. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | LAA | BATTING_REALISM | current:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TEX | BATTING_REALISM | current:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | LAA | BATTING_REALISM | simulation:LAA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TEX | BATTING_REALISM | simulation:TEX hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | LAA | BATTING_TOTALS_SUM | current:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TEX | BATTING_TOTALS_SUM | current:TEX batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | LAA | BATTING_TOTALS_SUM | simulation:LAA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TEX | BATTING_TOTALS_SUM | simulation:TEX batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_BB_MATCH | simulation:LAA batting walks match TEX pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_HR_MATCH | simulation:LAA batting home runs match TEX pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_H_MATCH | simulation:LAA batting hits match TEX pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | LAA | BAT_PITCH_SO_MATCH | simulation:LAA batting strikeouts match TEX pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | LAA | PA_BF_MATCH | simulation:LAA PA=38 matches TEX BF=38. | |||
| PASS | boxscore_crosscheck | simulation | LAA | RUNS_MATCH_FINAL | simulation:LAA runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_BB_MATCH | simulation:TEX batting walks match LAA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_HR_MATCH | simulation:TEX batting home runs match LAA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_H_MATCH | simulation:TEX batting hits match LAA pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TEX | BAT_PITCH_SO_MATCH | simulation:TEX batting strikeouts match LAA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TEX | PA_BF_MATCH | simulation:TEX PA=33 matches LAA BF=33. | |||
| PASS | boxscore_crosscheck | simulation | TEX | RUNS_MATCH_FINAL | simulation:TEX runs match final score and opposing pitching runs: 6. | |||
| PASS | cross_schema | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | LAA | CURRENT_LINEUP_SHAPE | LAA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | LAA | CURRENT_MODEL_ZERO_FALLBACK | LAA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | LAA | CURRENT_NAMES_PRESENT | LAA current hitter names are populated. | |||
| PASS | current_payload | current | LAA | CURRENT_PREDICTIONS_MATCH_FINALIZED | LAA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TEX | CURRENT_LINEUP_SHAPE | TEX current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TEX | CURRENT_MODEL_ZERO_FALLBACK | TEX current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TEX | CURRENT_NAMES_PRESENT | TEX current hitter names are populated. | |||
| PASS | current_payload | current | TEX | CURRENT_PREDICTIONS_MATCH_FINALIZED | TEX hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.400. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.600. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.600. | |||||
| 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.609/0.826. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: LAA 6, TEX 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: LAA 3 - TEX 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TEX. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for TEX. | {'winner_confidence': 0.6, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'LAA', 'confidence': 0.51, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_LAA@TEX.json'}, {'date': '2026-07-07', 'predicted_team': 'TEX', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_LAA@TEX.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_LAA@TEX. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: LAA@TEX. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 134. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 165. | |||||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_PITCHER_MATCH | LAA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | LAA | PITCH_COUNT_TOTAL_MATCH | LAA pitch_count_summary total, row sum, and pitching total all match: 134. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_PITCHER_MATCH | TEX pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TEX | PITCH_COUNT_TOTAL_MATCH | TEX pitch_count_summary total, row sum, and pitching total all match: 165. | |||
| PASS | pitching | current | LAA | PITCHING_REALISM | current:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | LAA | STARTER_PRESENT | current:LAA includes a starter/opener role. | |||
| PASS | pitching | current | TEX | PITCHING_REALISM | current:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TEX | STARTER_PRESENT | current:TEX includes a starter/opener role. | |||
| PASS | pitching | simulation | LAA | PITCHING_REALISM | simulation:LAA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | LAA | STARTER_PRESENT | simulation:LAA includes a starter/opener role. | |||
| PASS | pitching | simulation | TEX | PITCHING_REALISM | simulation:TEX pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TEX | STARTER_PRESENT | simulation:TEX includes a starter/opener role. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | LAA | PITCHING_TOTALS_SUM | current:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TEX | PITCHING_TOTALS_SUM | current:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | LAA | PITCHING_TOTALS_SUM | simulation:LAA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TEX | PITCHING_TOTALS_SUM | simulation:TEX pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: LAA 3 - 6 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: LAA 3 - 6 TEX. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TEX wins 6-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=TEX, final=TEX. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.600. | |||||
| 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: TEX wins 6-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TEX wins 3-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-6. | |||||
| 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: TEX wins 6-3. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | LAA | RECENT_FORM_RANGE | LAA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | LAA | TEAM_RECENT_RECORD | LAA wins and win_pct agree: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | TEX | RECENT_FORM_RANGE | TEX recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TEX | TEAM_RECENT_RECORD | TEX wins and win_pct agree: 5/10 = 0.500. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | LAA | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TEX | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=9, sim=6; 2B: current=0, sim=2; HR: current=0, sim=1; R: current=2, sim=3; BB: current=2, sim=4; SO: current=9, sim=10; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | LAA | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Nolan Schanuel: H current=1 box=0; Zach Neto: AB current=5 box=4, RBI current=1 box=0; Mike Trout: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Jorge Soler: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Josh Lowe: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Vaughn Grissom: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1; Denzer Guzman: H current=1 box=0, SO current=1 box=3; Logan O'Hoppe: 2B current=0 box=1, SO current=1 box=0, HBP current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=9, sim=7; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=2, sim=6; R: current=2, sim=6; BB: current=0, sim=2; SO: current=7, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TEX | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Brandon Nimmo: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Josh Jung: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=3; Justin Foscue: R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Wyatt Langford: AB current=5 box=4, RBI current=1 box=0; Kyle Higashioka: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Ezequiel Duran: H current=1 box=0; Cameron Cauley: R current=0 box=1; Jake Burger: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 5.33957052230835 | 4.046884536743164 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 3 | 4 | 0.600 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 3 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 3 | 4 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAA | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 3 | 6 |
| TEX | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 6 | 7 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAA | batting | 34 | 9 | 0 | 0 | 0 | 3 | 2 | 2 | 9 | 0 | 0 | 0 | 0 | |||||
| current | LAA | pitching | 7 | 1 | 6 | 2 | 6 | 8.0 | 6 | 0 | 0 | |||||||||
| current | TEX | batting | 33 | 9 | 0 | 0 | 0 | 2 | 2 | 0 | 7 | 0 | 0 | 0 | 0 | |||||
| current | TEX | pitching | 6 | 1 | 3 | 4 | 10 | 9.0 | 3 | 0 | 0 | |||||||||
| simulation | LAA | batting | 33 | 6 | 2 | 0 | 1 | 3 | 3 | 4 | 10 | 0 | 1 | |||||||
| simulation | LAA | pitching | 7 | 1 | 6 | 2 | 6 | 8.0 | 6 | 33 | 134 | |||||||||
| simulation | TEX | batting | 31 | 7 | 2 | 0 | 1 | 6 | 6 | 2 | 6 | 0 | 0 | |||||||
| simulation | TEX | pitching | 6 | 1 | 3 | 4 | 10 | 9.0 | 3 | 38 | 165 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAA | 1B | Nolan Schanuel | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAA | SS | Zach Neto | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.200 | |
| current | LAA | CF | Mike Trout | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | LAA | DH | Jorge Soler | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAA | RF | Josh Lowe | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAA | 2B | Vaughn Grissom | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | LAA | 3B | Denzer Guzman | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | LAA | C | Logan O'Hoppe | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | LAA | LF | Wade Meckler | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TEX | RF | Brandon Nimmo | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 3B | Josh Jung | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | 2B | Justin Foscue | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TEX | DH | Wyatt Langford | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 | |
| current | TEX | C | Kyle Higashioka | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TEX | SS | Ezequiel Duran | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TEX | CF | Cameron Cauley | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | TEX | 1B | Jake Burger | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TEX | LF | Alejandro Osuna | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| simulation | LAA | 1 | SS | Zach Neto | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | LAA | 2 | CF | Mike Trout | 5 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.250 |
| simulation | LAA | 3 | 1B | Nolan Schanuel | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | LAA | 4 | DH | Jorge Soler | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | LAA | 5 | 2B | Vaughn Grissom | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | LAA | 6 | RF | Josh Lowe | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | LAA | 7 | 3B | Denzer Guzman | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | LAA | 8 | C | Logan O'Hoppe | 4 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.333 |
| simulation | LAA | 9 | LF | Wade Meckler | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TEX | 1 | 2B | Justin Foscue | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | TEX | 2 | DH | Wyatt Langford | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TEX | 3 | RF | Brandon Nimmo | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | TEX | 4 | 3B | Josh Jung | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 3 | 0 | 1 | 0 | 0.500 |
| simulation | TEX | 5 | 1B | Jake Burger | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.250 |
| simulation | TEX | 6 | SS | Ezequiel Duran | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | TEX | 7 | C | Kyle Higashioka | 3 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 |
| simulation | TEX | 8 | CF | Cameron Cauley | 3 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | TEX | 9 | LF | Alejandro Osuna | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | LAA | 1 | Reid Detmers | Starter | 6.0 | 4 | 1 | 1 | 0 | 6 | 0 | 0 | 0 | 1.50 | 4.13 | 1.11 |
| current | LAA | 3 | Ryan Zeferjahn | Middle Reliever | 1.0 | 3 | 5 | 5 | 2 | 0 | 1 | 0 | 0 | 45.00 | 3.89 | 1.27 |
| current | LAA | 5 | Sam Bachman | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.35 | 1.32 |
| current | TEX | 1 | Nathan Eovaldi | Starter | 6.0 | 4 | 1 | 1 | 3 | 9 | 0 | 0 | 0 | 1.50 | 4.02 | 1.17 |
| current | TEX | 2 | Jacob Latz | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.07 | 0.52 |
| current | TEX | 3 | Peyton Gray | Middle Reliever | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 13.50 | 2.78 | 1.08 |
| current | TEX | 4 | Tyler Alexander | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.37 | 1.29 |
| current | TEX | 5 | Cole Winn | Middle Reliever | 0.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 6.39 | 1.39 | |
| current | TEX | 6 | Robby Ahlstrom | Middle Reliever | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4.97 | 1.34 | |
| simulation | LAA | 1 | Reid Detmers | Starter | 6.0 | 4 | 1 | 1 | 0 | 6 | 0 | 22 | 94 | 1.50 | 4.13 | 1.11 |
| simulation | LAA | 2 | Sam Bachman | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 17 | 0.00 | 4.35 | 1.32 |
| simulation | LAA | 3 | Ryan Zeferjahn | Middle Reliever | 1.0 | 3 | 5 | 5 | 2 | 0 | 1 | 8 | 23 | 45.00 | 3.89 | 1.27 |
| simulation | TEX | 1 | Nathan Eovaldi | Starter | 6.0 | 4 | 1 | 1 | 3 | 9 | 0 | 26 | 100 | 1.50 | 4.02 | 1.17 |
| simulation | TEX | 2 | Jacob Latz | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 13 | 0.00 | 1.07 | 0.52 |
| simulation | TEX | 3 | Peyton Gray | Middle Reliever | 1.1 | 2 | 2 | 2 | 0 | 0 | 1 | 6 | 6 | 13.50 | 2.78 | 1.08 |
| simulation | TEX | 4 | Tyler Alexander | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 16 | 0.00 | 2.37 | 1.29 |
| simulation | TEX | 5 | Cole Winn | Middle Reliever | 0.0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 16 | 6.39 | 1.39 | |
| simulation | TEX | 6 | Robby Ahlstrom | Middle Reliever | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 14 | 4.97 | 1.34 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| LAA | Reid Detmers | Starter | 6.0 | 1 | 4 | 0 | 6 | 22 | 94 |
| LAA | Ryan Zeferjahn | Middle Reliever | 1.0 | 5 | 3 | 2 | 0 | 8 | 23 |
| LAA | Sam Bachman | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 17 |
| TEX | Nathan Eovaldi | Starter | 6.0 | 1 | 4 | 3 | 9 | 26 | 100 |
| TEX | Jacob Latz | Middle Reliever | 1.1 | 0 | 0 | 0 | 1 | 4 | 13 |
| TEX | Peyton Gray | Middle Reliever | 1.1 | 2 | 2 | 0 | 0 | 6 | 6 |
| TEX | Tyler Alexander | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 1 | 16 |
| TEX | Cole Winn | Middle Reliever | 0.0 | 0 | 0 | 1 | 0 | 1 | 16 |
| TEX | Robby Ahlstrom | Middle Reliever | 0.0 | 0 | 0 | 0 | 0 | 0 | 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 | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_MIL@STL
20260709_MIL@STL.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | STL | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; 3B: current=0, sim=1; HR: current=0, sim=1; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=6; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Jackson Chourio: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; William Contreras: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Garrett Mitchell: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=2, SO current=1 box=0; Brice Turang: H current=1 box=2, RBI current=1 box=0, BB current=0 box=1; Jake Bauers: H current=1 box=2, 3B current=0 box=1, SO current=1 box=2; Andrew Vaughn: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=0 box=1; Sal Frelick: H current=1 box=0, BB current=0 box=1; Cooper Pratt: AB current=3 box=4, H current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=9, sim=5; 2B: current=0, sim=1; HR: current=0, sim=1; R: current=3, sim=2; BB: current=0, sim=1; SO: current=8, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: AB current=5 box=4, H current=1 box=0, R current=1 box=0; Alec Burleson: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Jordan Walker: RBI current=1 box=0; Iván Herrera: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=2, BB current=0 box=1; Lars Nootbaar: 2B current=0 box=1, SO current=1 box=0; Masyn Winn: H current=1 box=0, SO current=1 box=2; Bryan Torres: H current=1 box=0; Nathan Church: SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match STL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match STL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match STL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match STL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=41 matches STL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match MIL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match MIL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match MIL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match MIL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=33 matches MIL BF=33. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | STL | CURRENT_LINEUP_SHAPE | STL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | STL | CURRENT_MODEL_ZERO_FALLBACK | STL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | STL | CURRENT_NAMES_PRESENT | STL current hitter names are populated. | |||
| PASS | current_payload | current | STL | CURRENT_PREDICTIONS_MATCH_FINALIZED | STL hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.360. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.438/0.622. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 8, STL 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 5 - STL 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for MIL. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-07-08', 'predicted_team': 'MIL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_MIL@STL.json'}, {'date': '2026-07-07', 'predicted_team': 'MIL', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_MIL@STL.json'}, {'date': '2026-07-07', 'predicted_team': 'MIL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_MIL@STL_2.json'}, {'date': '2026-07-06', 'predicted_team': 'MIL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260706_MIL@STL.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_MIL@STL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@STL. | |||||
| 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: 128. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 174. | |||||
| 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: 128. | |||
| 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: 174. | |||
| PASS | pitching | current | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | 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 | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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: MIL 5 - 2 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 5 - 2 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 5-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=MIL, final=MIL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| 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: 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: MIL wins 5-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 5-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-2, final 5-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 5-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | STL | RECENT_FORM_RANGE | STL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | STL | TEAM_RECENT_RECORD | STL wins and win_pct agree: 5/10 = 0.500. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIL | BATTING_REALISM | current:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | STL | BATTING_REALISM | current:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIL | BATTING_REALISM | simulation:MIL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | STL | BATTING_REALISM | simulation:STL hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIL | BATTING_TOTALS_SUM | current:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | current | STL | BATTING_TOTALS_SUM | current:STL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIL | BATTING_TOTALS_SUM | simulation:MIL batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | STL | BATTING_TOTALS_SUM | simulation:STL batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_BB_MATCH | simulation:MIL batting walks match STL pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_HR_MATCH | simulation:MIL batting home runs match STL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_H_MATCH | simulation:MIL batting hits match STL pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | MIL | BAT_PITCH_SO_MATCH | simulation:MIL batting strikeouts match STL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | MIL | PA_BF_MATCH | simulation:MIL PA=41 matches STL BF=41. | |||
| PASS | boxscore_crosscheck | simulation | MIL | RUNS_MATCH_FINAL | simulation:MIL runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_BB_MATCH | simulation:STL batting walks match MIL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_HR_MATCH | simulation:STL batting home runs match MIL pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_H_MATCH | simulation:STL batting hits match MIL pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | STL | BAT_PITCH_SO_MATCH | simulation:STL batting strikeouts match MIL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | STL | PA_BF_MATCH | simulation:STL PA=33 matches MIL BF=33. | |||
| PASS | boxscore_crosscheck | simulation | STL | RUNS_MATCH_FINAL | simulation:STL runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIL | CURRENT_LINEUP_SHAPE | MIL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIL | CURRENT_MODEL_ZERO_FALLBACK | MIL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIL | CURRENT_NAMES_PRESENT | MIL current hitter names are populated. | |||
| PASS | current_payload | current | MIL | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIL hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | STL | CURRENT_LINEUP_SHAPE | STL current lineup has 9 expected positions. | |||
| PASS | current_payload | current | STL | CURRENT_MODEL_ZERO_FALLBACK | STL current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | STL | CURRENT_NAMES_PRESENT | STL current hitter names are populated. | |||
| PASS | current_payload | current | STL | CURRENT_PREDICTIONS_MATCH_FINALIZED | STL hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.360. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.438/0.622. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIL 8, STL 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIL 5 - STL 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: MIL. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for MIL. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, 'prediction_memory': {'available': True, 'consecutive_same_pick_count': 4, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '2026-07-08', 'predicted_team': 'MIL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_MIL@STL.json'}, {'date': '2026-07-07', 'predicted_team': 'MIL', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_MIL@STL.json'}, {'date': '2026-07-07', 'predicted_team': 'MIL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_MIL@STL_2.json'}, {'date': '2026-07-06', 'predicted_team': 'MIL', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260706_MIL@STL.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_MIL@STL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIL@STL. | |||||
| 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: 128. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 174. | |||||
| 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: 128. | |||
| 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: 174. | |||
| PASS | pitching | current | MIL | PITCHING_REALISM | current:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIL | STARTER_PRESENT | current:MIL includes a starter/opener role. | |||
| PASS | pitching | current | 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 | MIL | PITCHING_REALISM | simulation:MIL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIL | STARTER_PRESENT | simulation:MIL includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | MIL | PITCHING_TOTALS_SUM | current:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIL | PITCHING_TOTALS_SUM | current:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | 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 | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIL | PITCHING_TOTALS_SUM | simulation:MIL pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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: MIL 5 - 2 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIL 5 - 2 STL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIL wins 5-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=MIL, final=MIL. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| 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: 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: MIL wins 5-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIL wins 5-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-2, final 5-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIL wins 5-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | MIL | RECENT_FORM_RANGE | MIL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIL | TEAM_RECENT_RECORD | MIL wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | STL | RECENT_FORM_RANGE | STL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | STL | TEAM_RECENT_RECORD | STL wins and win_pct agree: 5/10 = 0.500. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIL | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | STL | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; 3B: current=0, sim=1; HR: current=0, sim=1; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=6; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIL | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Jackson Chourio: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; William Contreras: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Garrett Mitchell: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=2, SO current=1 box=0; Brice Turang: H current=1 box=2, RBI current=1 box=0, BB current=0 box=1; Jake Bauers: H current=1 box=2, 3B current=0 box=1, SO current=1 box=2; Andrew Vaughn: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=0 box=1; Sal Frelick: H current=1 box=0, BB current=0 box=1; Cooper Pratt: AB current=3 box=4, H current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=9, sim=5; 2B: current=0, sim=1; HR: current=0, sim=1; R: current=3, sim=2; BB: current=0, sim=1; SO: current=8, sim=7). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | STL | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: AB current=5 box=4, H current=1 box=0, R current=1 box=0; Alec Burleson: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Jordan Walker: RBI current=1 box=0; Iván Herrera: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=2, BB current=0 box=1; Lars Nootbaar: 2B current=0 box=1, SO current=1 box=0; Masyn Winn: H current=1 box=0, SO current=1 box=2; Bryan Torres: H current=1 box=0; Nathan Church: SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 3.3794729709625244 | 3.303632974624634 | Base ML historical model prediction | |
| variance_applied | 3 | 3 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 3 | 0.640 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 2 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | 3 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 5 | 8 |
| STL | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 2 | 5 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | batting | 33 | 9 | 0 | 0 | 0 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | MIL | pitching | 5 | 1 | 2 | 1 | 7 | 9.0 | 2 | 0 | 0 | |||||||||
| current | STL | batting | 34 | 9 | 0 | 0 | 0 | 2 | 3 | 0 | 8 | 0 | 0 | 0 | 0 | |||||
| current | STL | pitching | 8 | 1 | 5 | 6 | 9 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | MIL | batting | 35 | 8 | 0 | 1 | 1 | 5 | 5 | 6 | 9 | 0 | 0 | |||||||
| simulation | MIL | pitching | 5 | 1 | 2 | 1 | 7 | 9.0 | 2 | 33 | 128 | |||||||||
| simulation | STL | batting | 32 | 5 | 1 | 0 | 1 | 2 | 2 | 1 | 7 | 0 | 0 | |||||||
| simulation | STL | pitching | 8 | 1 | 5 | 6 | 9 | 9.0 | 5 | 41 | 174 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | LF | Jackson Chourio | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.200 | |
| current | MIL | C | William Contreras | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | MIL | CF | Garrett Mitchell | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIL | 2B | Brice Turang | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIL | DH | Jake Bauers | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIL | 1B | Andrew Vaughn | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | MIL | RF | Sal Frelick | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | MIL | SS | Cooper Pratt | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | MIL | 3B | Joey Ortiz | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | STL | 2B | JJ Wetherholt | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 | |
| current | STL | 1B | Alec Burleson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | DH | Jordan Walker | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | STL | C | Iván Herrera | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | STL | RF | Lars Nootbaar | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | STL | SS | Masyn Winn | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | STL | LF | Bryan Torres | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | STL | 3B | José Fermín | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | STL | CF | Nathan Church | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | MIL | 1 | CF | Garrett Mitchell | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0.333 |
| simulation | MIL | 2 | LF | Jackson Chourio | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | MIL | 3 | 2B | Brice Turang | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.500 |
| simulation | MIL | 4 | C | William Contreras | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 2 | 0 | 0.200 |
| simulation | MIL | 5 | DH | Jake Bauers | 5 | 4 | 2 | 0 | 1 | 0 | 1 | 1 | 1 | 2 | 0 | 0.500 |
| simulation | MIL | 6 | 1B | Andrew Vaughn | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | MIL | 7 | RF | Sal Frelick | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | MIL | 8 | SS | Cooper Pratt | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIL | 9 | 3B | Joey Ortiz | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | STL | 1 | 2B | JJ Wetherholt | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | STL | 2 | C | Iván Herrera | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 0.333 |
| simulation | STL | 3 | 1B | Alec Burleson | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | STL | 4 | DH | Jordan Walker | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | STL | 5 | RF | Lars Nootbaar | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | STL | 6 | SS | Masyn Winn | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | STL | 7 | LF | Bryan Torres | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | STL | 8 | 3B | José Fermín | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 |
| simulation | STL | 9 | CF | Nathan Church | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIL | 1 | Grant Anderson | Starter | 5.0 | 3 | 2 | 2 | 1 | 5 | 1 | 0 | 0 | 3.60 | 3.32 | 1.11 |
| current | MIL | 2 | Aaron Ashby | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.19 | 1.40 |
| current | MIL | 3 | Abner Uribe | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.70 | 1.01 |
| current | MIL | 5 | Trevor Megill | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.00 | 0.92 |
| current | STL | 1 | Andre Pallante | Starter | 6.0 | 7 | 4 | 4 | 4 | 6 | 1 | 0 | 0 | 6.00 | 3.60 | 1.22 |
| current | STL | 2 | George Soriano | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.29 | 1.12 |
| current | STL | 3 | JoJo Romero | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 3.51 | 1.32 |
| current | STL | 4 | Riley O'Brien | Middle Reliever | 1.0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 9.00 | 3.62 | 1.15 |
| current | STL | 6 | Ryne Stanek | Middle Reliever | 0.0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 4.67 | 1.47 | |
| simulation | MIL | 1 | Grant Anderson | Starter | 5.0 | 3 | 2 | 2 | 1 | 5 | 1 | 19 | 76 | 3.60 | 3.32 | 1.11 |
| simulation | MIL | 2 | Trevor Megill | Middle Reliever | 2.0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 | 19 | 0.00 | 2.00 | 0.92 |
| simulation | MIL | 3 | Abner Uribe | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 16 | 0.00 | 2.70 | 1.01 |
| simulation | MIL | 4 | Aaron Ashby | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 17 | 0.00 | 3.19 | 1.40 |
| simulation | STL | 1 | Andre Pallante | Starter | 6.0 | 7 | 4 | 4 | 4 | 6 | 1 | 29 | 113 | 6.00 | 3.60 | 1.22 |
| simulation | STL | 2 | Riley O'Brien | Middle Reliever | 1.0 | 0 | 1 | 1 | 1 | 1 | 0 | 4 | 17 | 9.00 | 3.62 | 1.15 |
| simulation | STL | 3 | JoJo Romero | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 16 | 0.00 | 3.51 | 1.32 |
| simulation | STL | 4 | George Soriano | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 15 | 0.00 | 3.29 | 1.12 |
| simulation | STL | 5 | Ryne Stanek | Middle Reliever | 0.0 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 13 | 4.67 | 1.47 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Grant Anderson | Starter | 5.0 | 2 | 3 | 1 | 5 | 19 | 76 |
| MIL | Aaron Ashby | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 17 |
| MIL | Abner Uribe | Middle Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| MIL | Trevor Megill | Middle Reliever | 2.0 | 0 | 0 | 0 | 1 | 6 | 19 |
| STL | Andre Pallante | Starter | 6.0 | 4 | 7 | 4 | 6 | 29 | 113 |
| STL | George Soriano | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 15 |
| STL | JoJo Romero | Middle Reliever | 1.0 | 0 | 0 | 0 | 2 | 3 | 16 |
| STL | Riley O'Brien | Middle Reliever | 1.0 | 1 | 0 | 1 | 1 | 4 | 17 |
| STL | Ryne Stanek | Middle Reliever | 0.0 | 0 | 1 | 1 | 0 | 2 | 13 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_NYY@TB
20260709_NYY@TB.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | NYY | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TB | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; 2B: current=0, sim=2; RBI: current=1, sim=3; BB: current=0, sim=3; SO: current=9, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Trent Grisham: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0; Jasson Domínguez: AB current=4 box=5, SO current=1 box=0; José Caballero: AB current=3 box=4, H current=1 box=0; Ben Rice: RBI current=1 box=3, BB current=0 box=1; Cody Bellinger: AB current=4 box=5, SO current=1 box=2; Jazz Chisholm Jr.: AB current=4 box=3, H current=1 box=2, R current=0 box=1, BB current=0 box=1; Max Schuemann: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=0; Ryan McMahon: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=9, sim=6; HR: current=0, sim=1; RBI: current=4, sim=2; R: current=3, sim=2; SO: current=7, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Yandy Díaz: H current=1 box=2, RBI current=1 box=0, SO current=1 box=0; Jonathan Aranda: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Junior Caminero: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Victor Mesa Jr.: BB current=0 box=1; Chandler Simpson: SO current=0 box=2; Ryan Vilade: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=3; Ben Williamson: AB current=3 box=4, H current=1 box=0, SO current=1 box=4; Taylor Walls: H current=1 box=0, R current=1 box=0, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYY | BATTING_TOTALS_SUM | current:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TB | BATTING_TOTALS_SUM | current:TB batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match TB pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match TB pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=40 matches TB BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match NYY pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match NYY pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match NYY pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match NYY pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=34 matches NYY BF=34. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYY | CURRENT_LINEUP_SHAPE | NYY current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYY | CURRENT_MODEL_ZERO_FALLBACK | NYY current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYY | CURRENT_NAMES_PRESENT | NYY current hitter names are populated. | |||
| PASS | current_payload | current | NYY | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYY hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TB | CURRENT_LINEUP_SHAPE | TB current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TB | CURRENT_MODEL_ZERO_FALLBACK | TB current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TB | CURRENT_NAMES_PRESENT | TB current hitter names are populated. | |||
| PASS | current_payload | current | TB | CURRENT_PREDICTIONS_MATCH_FINALIZED | TB hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.490. | |||||
| 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.696/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: NYY 10, TB 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYY 3 - TB 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYY. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for NYY. | {'winner_confidence': 0.51, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'NYY', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_NYY@TB.json'}, {'date': '2026-07-07', 'predicted_team': 'NYY', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_NYY@TB.json'}, {'date': '2026-07-06', 'predicted_team': 'TB', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260706_NYY@TB.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_NYY@TB. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: NYY@TB. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_PITCHER_MATCH | NYY pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_TOTAL_MATCH | NYY pitch_count_summary total, row sum, and pitching total all match: 143. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_PITCHER_MATCH | TB pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_TOTAL_MATCH | TB pitch_count_summary total, row sum, and pitching total all match: 173. | |||
| PASS | pitching | current | NYY | PITCHING_REALISM | current:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYY | STARTER_PRESENT | current:NYY includes a starter/opener role. | |||
| PASS | pitching | current | TB | PITCHING_REALISM | current:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TB | STARTER_PRESENT | current:TB includes a starter/opener role. | |||
| PASS | pitching | simulation | NYY | PITCHING_REALISM | simulation:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYY | STARTER_PRESENT | simulation:NYY includes a starter/opener role. | |||
| PASS | pitching | simulation | TB | PITCHING_REALISM | simulation:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TB | STARTER_PRESENT | simulation:TB includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: NYY 3 - 2 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYY 3 - 2 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 3-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=NYY, final=NYY. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.510. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 2/10 (0.200). | |||||
| 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: NYY wins 3-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY wins 3-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 3-2, final 3-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYY wins 3-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYY | RECENT_FORM_RANGE | NYY recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYY | TEAM_RECENT_RECORD | NYY wins and win_pct agree: 2/10 = 0.200. | |||
| PASS | team_recent_performance | current | TB | RECENT_FORM_RANGE | TB recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TB | TEAM_RECENT_RECORD | TB wins and win_pct agree: 7/10 = 0.700. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | NYY | BATTING_REALISM | current:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TB | BATTING_REALISM | current:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | NYY | BATTING_REALISM | simulation:NYY hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TB | BATTING_REALISM | simulation:TB hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | NYY | BATTING_TOTALS_SUM | current:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | current | TB | BATTING_TOTALS_SUM | current:TB batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | NYY | BATTING_TOTALS_SUM | simulation:NYY batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | TB | BATTING_TOTALS_SUM | simulation:TB batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_BB_MATCH | simulation:NYY batting walks match TB pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_HR_MATCH | simulation:NYY batting home runs match TB pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_H_MATCH | simulation:NYY batting hits match TB pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | NYY | BAT_PITCH_SO_MATCH | simulation:NYY batting strikeouts match TB pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | NYY | PA_BF_MATCH | simulation:NYY PA=40 matches TB BF=40. | |||
| PASS | boxscore_crosscheck | simulation | NYY | RUNS_MATCH_FINAL | simulation:NYY runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_BB_MATCH | simulation:TB batting walks match NYY pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_HR_MATCH | simulation:TB batting home runs match NYY pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_H_MATCH | simulation:TB batting hits match NYY pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | TB | BAT_PITCH_SO_MATCH | simulation:TB batting strikeouts match NYY pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | TB | PA_BF_MATCH | simulation:TB PA=34 matches NYY BF=34. | |||
| PASS | boxscore_crosscheck | simulation | TB | RUNS_MATCH_FINAL | simulation:TB runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | NYY | CURRENT_LINEUP_SHAPE | NYY current lineup has 9 expected positions. | |||
| PASS | current_payload | current | NYY | CURRENT_MODEL_ZERO_FALLBACK | NYY current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | NYY | CURRENT_NAMES_PRESENT | NYY current hitter names are populated. | |||
| PASS | current_payload | current | NYY | CURRENT_PREDICTIONS_MATCH_FINALIZED | NYY hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | TB | CURRENT_LINEUP_SHAPE | TB current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TB | CURRENT_MODEL_ZERO_FALLBACK | TB current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TB | CURRENT_NAMES_PRESENT | TB current hitter names are populated. | |||
| PASS | current_payload | current | TB | CURRENT_PREDICTIONS_MATCH_FINALIZED | TB hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.510. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.490. | |||||
| 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.696/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: NYY 10, TB 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: NYY 3 - TB 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: NYY. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for NYY. | {'winner_confidence': 0.51, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'NYY', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_NYY@TB.json'}, {'date': '2026-07-07', 'predicted_team': 'NYY', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_NYY@TB.json'}, {'date': '2026-07-06', 'predicted_team': 'TB', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260706_NYY@TB.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_NYY@TB. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: NYY@TB. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 143. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 173. | |||||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_PITCHER_MATCH | NYY pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | NYY | PITCH_COUNT_TOTAL_MATCH | NYY pitch_count_summary total, row sum, and pitching total all match: 143. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_PITCHER_MATCH | TB pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TB | PITCH_COUNT_TOTAL_MATCH | TB pitch_count_summary total, row sum, and pitching total all match: 173. | |||
| PASS | pitching | current | NYY | PITCHING_REALISM | current:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | NYY | STARTER_PRESENT | current:NYY includes a starter/opener role. | |||
| PASS | pitching | current | TB | PITCHING_REALISM | current:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TB | STARTER_PRESENT | current:TB includes a starter/opener role. | |||
| PASS | pitching | simulation | NYY | PITCHING_REALISM | simulation:NYY pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | NYY | STARTER_PRESENT | simulation:NYY includes a starter/opener role. | |||
| PASS | pitching | simulation | TB | PITCHING_REALISM | simulation:TB pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TB | STARTER_PRESENT | simulation:TB includes a starter/opener role. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | NYY | PITCHING_TOTALS_SUM | current:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TB | PITCHING_TOTALS_SUM | current:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | NYY | PITCHING_TOTALS_SUM | simulation:NYY pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TB | PITCHING_TOTALS_SUM | simulation:TB pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: NYY 3 - 2 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: NYY 3 - 2 TB. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: NYY wins 3-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=NYY, final=NYY. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.510. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 2/10 (0.200). | |||||
| 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: NYY wins 3-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: NYY wins 3-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 3-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 3-2, final 3-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 5. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: NYY wins 3-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | NYY | RECENT_FORM_RANGE | NYY recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | NYY | TEAM_RECENT_RECORD | NYY wins and win_pct agree: 2/10 = 0.200. | |||
| PASS | team_recent_performance | current | TB | RECENT_FORM_RANGE | TB recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TB | TEAM_RECENT_RECORD | TB wins and win_pct agree: 7/10 = 0.700. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | NYY | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TB | CURRENT_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; 2B: current=0, sim=2; RBI: current=1, sim=3; BB: current=0, sim=3; SO: current=9, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | NYY | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Trent Grisham: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0; Jasson Domínguez: AB current=4 box=5, SO current=1 box=0; José Caballero: AB current=3 box=4, H current=1 box=0; Ben Rice: RBI current=1 box=3, BB current=0 box=1; Cody Bellinger: AB current=4 box=5, SO current=1 box=2; Jazz Chisholm Jr.: AB current=4 box=3, H current=1 box=2, R current=0 box=1, BB current=0 box=1; Max Schuemann: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=0; Ryan McMahon: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=9, sim=6; HR: current=0, sim=1; RBI: current=4, sim=2; R: current=3, sim=2; SO: current=7, sim=11). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TB | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Yandy Díaz: H current=1 box=2, RBI current=1 box=0, SO current=1 box=0; Jonathan Aranda: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Junior Caminero: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Victor Mesa Jr.: BB current=0 box=1; Chandler Simpson: SO current=0 box=2; Ryan Vilade: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=3; Ben Williamson: AB current=3 box=4, H current=1 box=0, SO current=1 box=4; Taylor Walls: H current=1 box=0, R current=1 box=0, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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.110660076141357 | 2.8305561542510986 | Base ML historical model prediction | |
| variance_applied | 4 | 3 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 3 | 2 | 0.510 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3 | 2 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 3 | 2 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 3 | 2 | Capped at max 12 realistic runs | |
| simulation_result | 3 | 2 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYY | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 3 | 10 |
| TB | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 6 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYY | batting | 32 | 8 | 0 | 0 | 0 | 1 | 3 | 0 | 9 | 0 | 0 | 0 | 0 | |||||
| current | NYY | pitching | 6 | 1 | 2 | 1 | 11 | 9.0 | 2 | 0 | 0 | |||||||||
| current | TB | batting | 31 | 9 | 0 | 0 | 0 | 4 | 3 | 1 | 7 | 0 | 0 | 0 | 0 | |||||
| current | TB | pitching | 10 | 0 | 3 | 3 | 5 | 9.0 | 3 | 0 | 0 | |||||||||
| simulation | NYY | batting | 37 | 10 | 2 | 0 | 0 | 3 | 3 | 3 | 5 | 0 | 0 | |||||||
| simulation | NYY | pitching | 6 | 1 | 2 | 1 | 11 | 9.0 | 2 | 34 | 143 | |||||||||
| simulation | TB | batting | 33 | 6 | 0 | 0 | 1 | 2 | 2 | 1 | 11 | 0 | 0 | |||||||
| simulation | TB | pitching | 10 | 0 | 3 | 3 | 5 | 9.0 | 3 | 40 | 173 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYY | CF | Trent Grisham | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | RF | Jasson Domínguez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | SS | José Caballero | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | DH | Ben Rice | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | NYY | 1B | Cody Bellinger | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | 2B | Jazz Chisholm Jr. | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | NYY | LF | Max Schuemann | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | 3B | Ryan McMahon | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | NYY | C | Austin Wells | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TB | DH | Yandy Díaz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TB | 1B | Jonathan Aranda | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | TB | 3B | Junior Caminero | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TB | CF | Victor Mesa Jr. | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | LF | Chandler Simpson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | TB | RF | Ryan Vilade | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TB | 2B | Ben Williamson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | SS | Taylor Walls | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | TB | C | Nick Fortes | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| simulation | NYY | 1 | CF | Trent Grisham | 5 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | NYY | 2 | DH | Ben Rice | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 3 | 1 | 1 | 0 | 0.250 |
| simulation | NYY | 3 | RF | Jasson Domínguez | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.200 |
| simulation | NYY | 4 | 1B | Cody Bellinger | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | NYY | 5 | SS | José Caballero | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | NYY | 6 | 2B | Jazz Chisholm Jr. | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | NYY | 7 | LF | Max Schuemann | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | NYY | 8 | 3B | Ryan McMahon | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | NYY | 9 | C | Austin Wells | 4 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | TB | 1 | DH | Yandy Díaz | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | TB | 2 | 1B | Jonathan Aranda | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TB | 3 | 3B | Junior Caminero | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.500 |
| simulation | TB | 4 | CF | Victor Mesa Jr. | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | TB | 5 | RF | Ryan Vilade | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | TB | 6 | LF | Chandler Simpson | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | TB | 7 | 2B | Ben Williamson | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.000 |
| simulation | TB | 8 | SS | Taylor Walls | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | TB | 9 | C | Nick Fortes | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | NYY | 1 | Paul Blackburn | Starter | 5.0 | 1 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0.00 | 2.22 | 1.14 |
| current | NYY | 2 | Brent Headrick | Middle Reliever | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 1.42 | 1.11 |
| current | NYY | 3 | Camilo Doval | Middle Reliever | 1.1 | 4 | 2 | 2 | 0 | 2 | 1 | 0 | 0 | 13.50 | 4.67 | 1.36 |
| current | NYY | 4 | Fernando Cruz | Middle Reliever | 1.0 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 2.35 | 1.28 |
| current | TB | 1 | Drew Rasmussen | Starter | 6.0 | 4 | 2 | 2 | 1 | 5 | 0 | 0 | 0 | 3.00 | 2.78 | 0.90 |
| current | TB | 2 | Kevin Kelly | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.57 | 0.95 |
| current | TB | 3 | Bryan Baker | Middle Reliever | 1.0 | 3 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 9.00 | 1.73 | 0.83 |
| current | TB | 4 | Garrett Cleavinger | Middle Reliever | 0.2 | 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.86 | 1.29 |
| simulation | NYY | 1 | Paul Blackburn | Starter | 5.0 | 1 | 0 | 0 | 0 | 6 | 0 | 16 | 73 | 0.00 | 2.22 | 1.14 |
| simulation | NYY | 2 | Fernando Cruz | Middle Reliever | 1.0 | 1 | 0 | 0 | 1 | 2 | 0 | 5 | 20 | 0.00 | 2.35 | 1.28 |
| simulation | NYY | 3 | Brent Headrick | Middle Reliever | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 21 | 0.00 | 1.42 | 1.11 |
| simulation | NYY | 4 | Camilo Doval | Middle Reliever | 1.1 | 4 | 2 | 2 | 0 | 2 | 1 | 8 | 29 | 13.50 | 4.67 | 1.36 |
| simulation | TB | 1 | Drew Rasmussen | Starter | 6.0 | 4 | 2 | 2 | 1 | 5 | 0 | 23 | 104 | 3.00 | 2.78 | 0.90 |
| simulation | TB | 2 | Bryan Baker | Middle Reliever | 1.0 | 3 | 1 | 1 | 1 | 0 | 0 | 7 | 26 | 9.00 | 1.73 | 0.83 |
| simulation | TB | 3 | Kevin Kelly | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 22 | 0.00 | 2.57 | 0.95 |
| simulation | TB | 4 | Garrett Cleavinger | Middle Reliever | 0.2 | 3 | 0 | 0 | 1 | 0 | 0 | 6 | 21 | 0.00 | 3.86 | 1.29 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| NYY | Paul Blackburn | Starter | 5.0 | 0 | 1 | 0 | 6 | 16 | 73 |
| NYY | Brent Headrick | Middle Reliever | 1.2 | 0 | 0 | 0 | 1 | 5 | 21 |
| NYY | Camilo Doval | Middle Reliever | 1.1 | 2 | 4 | 0 | 2 | 8 | 29 |
| NYY | Fernando Cruz | Middle Reliever | 1.0 | 0 | 1 | 1 | 2 | 5 | 20 |
| TB | Drew Rasmussen | Starter | 6.0 | 2 | 4 | 1 | 5 | 23 | 104 |
| TB | Kevin Kelly | Middle Reliever | 1.1 | 0 | 0 | 0 | 0 | 4 | 22 |
| TB | Bryan Baker | Middle Reliever | 1.0 | 1 | 3 | 1 | 0 | 7 | 26 |
| TB | Garrett Cleavinger | Middle Reliever | 0.2 | 0 | 3 | 1 | 0 | 6 | 21 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_OAK@DET
20260709_OAK@DET.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (H: current=8, sim=7; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=2, sim=6; R: current=2, sim=6; BB: current=1, sim=5; SO: current=9, sim=8; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Spencer Torkelson: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Matt Vierling: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Riley Greene: 2B current=0 box=1, SO current=1 box=2; Kevin McGonigle: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=2, BB current=1 box=2; Hao-Yu Lee: HBP current=0 box=1; Kerry Carpenter: HR current=0 box=1, RBI current=0 box=3, R current=0 box=1, SO current=1 box=0; Jake Rogers: AB current=3 box=4, H current=1 box=0; Zach McKinstry: R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=9, sim=8; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=3, sim=2; R: current=3, sim=2; BB: current=1, sim=2; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Nick Kurtz: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Joshua Kuroda-Grauer: AB current=4 box=5, H current=1 box=2, SO current=0 box=1; Shea Langeliers: AB current=5 box=4, H current=1 box=2, HR current=0 box=1, SO current=1 box=0; Jonah Heim: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Jacob Wilson: AB current=4 box=3, 2B current=0 box=1, BB current=0 box=1; Zack Gelof: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Colby Thomas: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Alika Williams: AB current=3 box=4, H current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | DET | BATTING_TOTALS_SUM | current:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match OAK pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match OAK pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match OAK pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=37 matches OAK BF=37. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match DET pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match DET pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match DET pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match DET pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=37 matches DET BF=37. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.340. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.660. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.660. | |||||
| 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.461/0.650. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: OAK 8, DET 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: OAK 2 - DET 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: DET. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for DET. | {'winner_confidence': 0.66, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'DET', 'confidence': 0.66, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_OAK@DET.json'}, {'date': '2026-07-07', 'predicted_team': 'DET', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_OAK@DET.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_OAK@DET. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: OAK@DET. | |||||
| 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: 177. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 165. | |||||
| 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: 165. | |||
| 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: 177. | |||
| PASS | pitching | current | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | current | 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 | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: OAK 2 - 6 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: OAK 2 - 6 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 6-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=DET, final=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.660. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 1/10 (0.100). | |||||
| 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: DET wins 6-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET wins 2-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-6. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 2-6, final 2-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: DET wins 6-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 7/10 = 0.700. | |||
| 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: 1/10 = 0.100. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | OAK | BATTING_REALISM | current:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | OAK | BATTING_REALISM | simulation:OAK hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | DET | BATTING_TOTALS_SUM | current:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | current | OAK | BATTING_TOTALS_SUM | current:OAK batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | DET | BATTING_TOTALS_SUM | simulation:DET batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | OAK | BATTING_TOTALS_SUM | simulation:OAK batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match OAK pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match OAK pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match OAK pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match OAK pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=37 matches OAK BF=37. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 6. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_BB_MATCH | simulation:OAK batting walks match DET pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_HR_MATCH | simulation:OAK batting home runs match DET pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_H_MATCH | simulation:OAK batting hits match DET pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | OAK | BAT_PITCH_SO_MATCH | simulation:OAK batting strikeouts match DET pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | OAK | PA_BF_MATCH | simulation:OAK PA=37 matches DET BF=37. | |||
| PASS | boxscore_crosscheck | simulation | OAK | RUNS_MATCH_FINAL | simulation:OAK runs match final score and opposing pitching runs: 2. | |||
| PASS | cross_schema | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | DET | CURRENT_LINEUP_SHAPE | DET current lineup has 9 expected positions. | |||
| PASS | current_payload | current | DET | CURRENT_MODEL_ZERO_FALLBACK | DET current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | DET | CURRENT_NAMES_PRESENT | DET current hitter names are populated. | |||
| PASS | current_payload | current | DET | CURRENT_PREDICTIONS_MATCH_FINALIZED | DET hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | OAK | CURRENT_LINEUP_SHAPE | OAK current lineup has 9 expected positions. | |||
| PASS | current_payload | current | OAK | CURRENT_MODEL_ZERO_FALLBACK | OAK current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | OAK | CURRENT_NAMES_PRESENT | OAK current hitter names are populated. | |||
| PASS | current_payload | current | OAK | CURRENT_PREDICTIONS_MATCH_FINALIZED | OAK hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.340. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.660. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.660. | |||||
| 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.461/0.650. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_OUTS | Inning 9 home marked not_played with empty stats. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: OAK 8, DET 7. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: OAK 2 - DET 6. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: DET. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for DET. | {'winner_confidence': 0.66, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'DET', 'confidence': 0.66, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_OAK@DET.json'}, {'date': '2026-07-07', 'predicted_team': 'DET', 'confidence': 0.53, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_OAK@DET.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_OAK@DET. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: OAK@DET. | |||||
| 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: 177. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 165. | |||||
| 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: 165. | |||
| 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: 177. | |||
| PASS | pitching | current | DET | PITCHING_REALISM | current:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | DET | STARTER_PRESENT | current:DET includes a starter/opener role. | |||
| PASS | pitching | current | 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 | DET | PITCHING_REALISM | simulation:DET pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | DET | STARTER_PRESENT | simulation:DET includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | DET | PITCHING_TOTALS_SUM | current:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | DET | PITCHING_TOTALS_SUM | current:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | OAK | PITCHING_TOTALS_SUM | current:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | DET | PITCHING_TOTALS_SUM | simulation:DET pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | simulation | OAK | PITCHING_TOTALS_SUM | simulation:OAK pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: OAK 2 - 6 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: OAK 2 - 6 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 6-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=DET, final=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.660. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 1/10 (0.100). | |||||
| 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: DET wins 6-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET wins 2-6. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 2-6. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 2-6, final 2-6 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 8. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: DET wins 6-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | DET | RECENT_FORM_RANGE | DET recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | DET | TEAM_RECENT_RECORD | DET wins and win_pct agree: 7/10 = 0.700. | |||
| 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: 1/10 = 0.100. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | DET | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | OAK | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (H: current=8, sim=7; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=2, sim=6; R: current=2, sim=6; BB: current=1, sim=5; SO: current=9, sim=8; SF: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Spencer Torkelson: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Matt Vierling: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Riley Greene: 2B current=0 box=1, SO current=1 box=2; Kevin McGonigle: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=2, BB current=1 box=2; Hao-Yu Lee: HBP current=0 box=1; Kerry Carpenter: HR current=0 box=1, RBI current=0 box=3, R current=0 box=1, SO current=1 box=0; Jake Rogers: AB current=3 box=4, H current=1 box=0; Zach McKinstry: R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=9, sim=8; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=3, sim=2; R: current=3, sim=2; BB: current=1, sim=2; SO: current=7, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | OAK | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Nick Kurtz: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Joshua Kuroda-Grauer: AB current=4 box=5, H current=1 box=2, SO current=0 box=1; Shea Langeliers: AB current=5 box=4, H current=1 box=2, HR current=0 box=1, SO current=1 box=0; Jonah Heim: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Jacob Wilson: AB current=4 box=3, 2B current=0 box=1, BB current=0 box=1; Zack Gelof: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Colby Thomas: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Alika Williams: AB current=3 box=4, H current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 0 | 0 | Base ML historical model prediction | |
| variance_applied | 0 | 0 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 2 | 6 | 0.660 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 2 | 6 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 2 | 6 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 2 | 6 | Capped at max 12 realistic runs | |
| simulation_result | 2 | 6 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OAK | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 8 |
| DET | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 6 | 7 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | batting | 34 | 9 | 0 | 0 | 0 | 3 | 3 | 1 | 7 | 0 | 0 | 0 | 0 | |||||
| current | OAK | pitching | 7 | 1 | 6 | 5 | 8 | 8.0 | 6 | 0 | 0 | |||||||||
| current | DET | batting | 30 | 8 | 0 | 0 | 0 | 2 | 2 | 1 | 9 | 0 | 0 | 0 | 0 | |||||
| current | DET | pitching | 8 | 1 | 2 | 2 | 9 | 9.0 | 2 | 0 | 0 | |||||||||
| simulation | OAK | batting | 35 | 8 | 2 | 0 | 1 | 2 | 2 | 2 | 9 | 0 | 0 | |||||||
| simulation | OAK | pitching | 7 | 1 | 6 | 5 | 8 | 8.0 | 6 | 37 | 177 | |||||||||
| simulation | DET | batting | 30 | 7 | 2 | 0 | 1 | 6 | 6 | 5 | 8 | 1 | 1 | |||||||
| simulation | DET | pitching | 8 | 1 | 2 | 2 | 9 | 9.0 | 2 | 37 | 165 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | DH | Nick Kurtz | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | OAK | 3B | Joshua Kuroda-Grauer | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | OAK | C | Shea Langeliers | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.200 | |
| current | OAK | 1B | Jonah Heim | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | OAK | SS | Jacob Wilson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 | |
| current | OAK | LF | Zack Gelof | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | OAK | RF | Colby Thomas | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | 2B | Alika Williams | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | OAK | CF | Henry Bolte | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | DET | 1B | Spencer Torkelson | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | RF | Matt Vierling | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | LF | Riley Greene | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | 3B | Kevin McGonigle | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | DET | 2B | Hao-Yu Lee | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | DH | Kerry Carpenter | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | C | Jake Rogers | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | SS | Zach McKinstry | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | CF | James Outman | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | OAK | 1 | 3B | Joshua Kuroda-Grauer | 5 | 5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.400 |
| simulation | OAK | 2 | DH | Nick Kurtz | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | OAK | 3 | C | Shea Langeliers | 4 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | OAK | 4 | 1B | Jonah Heim | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | OAK | 5 | SS | Jacob Wilson | 4 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | OAK | 6 | LF | Zack Gelof | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | OAK | 7 | RF | Colby Thomas | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | OAK | 8 | CF | Henry Bolte | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | OAK | 9 | 2B | Alika Williams | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | DET | 1 | 3B | Kevin McGonigle | 5 | 3 | 1 | 1 | 0 | 0 | 1 | 2 | 2 | 1 | 0 | 0.333 |
| simulation | DET | 2 | RF | Matt Vierling | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | DET | 3 | 1B | Spencer Torkelson | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | DET | 4 | LF | Riley Greene | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.250 |
| simulation | DET | 5 | 2B | Hao-Yu Lee | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.333 |
| simulation | DET | 6 | DH | Kerry Carpenter | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 0.333 |
| simulation | DET | 7 | SS | Zach McKinstry | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.333 |
| simulation | DET | 8 | C | Jake Rogers | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | DET | 9 | CF | James Outman | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | OAK | 1 | José Suarez | Starter | 4.0 | 4 | 4 | 4 | 3 | 5 | 0 | 0 | 0 | 9.00 | 4.56 | 1.56 |
| current | OAK | 2 | Mason Barnett | Middle Reliever | 1.1 | 1 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0.00 | 3.54 | 1.23 |
| current | OAK | 3 | Hogan Harris | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.38 | 1.55 |
| current | OAK | 4 | Justin Sterner | Middle Reliever | 0.2 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 27.00 | 3.92 | 1.14 |
| current | OAK | 5 | Elvis Alvarado | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 5.33 | 1.22 |
| current | DET | 1 | Framber Valdez | Starter | 5.2 | 5 | 1 | 1 | 0 | 7 | 1 | 0 | 0 | 1.59 | 4.29 | 1.38 |
| current | DET | 2 | Kenley Jansen | Middle Reliever | 1.0 | 1 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 9.00 | 4.15 | 1.11 |
| current | DET | 3 | Kyle Finnegan | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.74 | 1.40 |
| current | DET | 4 | Tyler Holton | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.29 | 1.34 |
| current | DET | 5 | Drew Anderson | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 4.28 | 1.32 |
| simulation | OAK | 1 | José Suarez | Starter | 4.0 | 4 | 4 | 4 | 3 | 5 | 0 | 19 | 86 | 9.00 | 4.56 | 1.56 |
| simulation | OAK | 2 | Elvis Alvarado | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 17 | 0.00 | 5.33 | 1.22 |
| simulation | OAK | 3 | Hogan Harris | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 21 | 0.00 | 3.38 | 1.55 |
| simulation | OAK | 4 | Mason Barnett | Middle Reliever | 1.1 | 1 | 0 | 0 | 2 | 2 | 0 | 7 | 37 | 0.00 | 3.54 | 1.23 |
| simulation | OAK | 5 | Justin Sterner | Middle Reliever | 0.2 | 2 | 2 | 2 | 0 | 0 | 1 | 4 | 16 | 27.00 | 3.92 | 1.14 |
| simulation | DET | 1 | Framber Valdez | Starter | 5.2 | 5 | 1 | 1 | 0 | 7 | 1 | 22 | 91 | 1.59 | 4.29 | 1.38 |
| simulation | DET | 2 | Kenley Jansen | Middle Reliever | 1.0 | 1 | 1 | 1 | 2 | 1 | 0 | 6 | 13 | 9.00 | 4.15 | 1.11 |
| simulation | DET | 3 | Kyle Finnegan | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 19 | 0.00 | 1.74 | 1.40 |
| simulation | DET | 4 | Tyler Holton | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 18 | 0.00 | 3.29 | 1.34 |
| simulation | DET | 5 | Drew Anderson | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 24 | 0.00 | 4.28 | 1.32 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| OAK | José Suarez | Starter | 4.0 | 4 | 4 | 3 | 5 | 19 | 86 |
| OAK | Mason Barnett | Middle Reliever | 1.1 | 0 | 1 | 2 | 2 | 7 | 37 |
| OAK | Hogan Harris | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 21 |
| OAK | Justin Sterner | Middle Reliever | 0.2 | 2 | 2 | 0 | 0 | 4 | 16 |
| OAK | Elvis Alvarado | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 4 | 17 |
| DET | Framber Valdez | Starter | 5.2 | 1 | 5 | 0 | 7 | 22 | 91 |
| DET | Kenley Jansen | Middle Reliever | 1.0 | 1 | 1 | 2 | 1 | 6 | 13 |
| DET | Kyle Finnegan | Middle Reliever | 1.0 | 0 | 1 | 0 | 0 | 4 | 19 |
| DET | Tyler Holton | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 18 |
| DET | Drew Anderson | Middle Reliever | 0.1 | 0 | 0 | 0 | 0 | 1 | 24 |
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 | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | good | 0 | 0 | 0 | 1 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_PHI@CIN
20260709_PHI@CIN.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| 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 | PHI | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=9; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=4, sim=3; BB: current=2, sim=3; SO: current=10, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: JJ Bleday: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Sal Stewart: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1; Spencer Steer: HR current=0 box=1, RBI current=0 box=2, SO current=1 box=2; Elly De La Cruz: H current=1 box=2, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Tyler Stephenson: AB current=3 box=2, BB current=0 box=2, SO current=1 box=0; Eugenio Suárez: 2B current=0 box=1, RBI current=1 box=0, SO current=2 box=0; Noelvi Marte: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Edwin Arroyo: AB current=3 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (H: current=9, sim=7; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=3, sim=4; BB: current=2, sim=4; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Schwarber: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Bryce Harper: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Brandon Marsh: 2B current=0 box=1, SO current=1 box=2; Alec Bohm: AB current=4 box=3, H current=1 box=2, RBI current=1 box=2, R current=0 box=1; Bryson Stott: H current=1 box=0; Gabriel Rincones Jr.: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; J.T. Realmuto: HBP current=0 box=1; Justin Crawford: H current=1 box=0, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI 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 | PHI | BATTING_TOTALS_SUM | current:PHI 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 | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match PHI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match PHI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=39 matches PHI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match CIN pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match CIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match CIN pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match CIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=39 matches CIN BF=39. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 4. | |||
| 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 | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI 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 | PHI | CURRENT_LINEUP_SHAPE | PHI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PHI | CURRENT_MODEL_ZERO_FALLBACK | PHI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PHI | CURRENT_NAMES_PRESENT | PHI current hitter names are populated. | |||
| PASS | current_payload | current | PHI | CURRENT_PREDICTIONS_MATCH_FINALIZED | PHI hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.360. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.438/0.622. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: PHI 7, CIN 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PHI 4 - CIN 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PHI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for PHI. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'PHI', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_PHI@CIN.json'}, {'date': '2026-07-07', 'predicted_team': 'PHI', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_PHI@CIN.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_PHI@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PHI@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: 163. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| 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: 171. | |||
| 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: 163. | |||
| 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 | PHI | PITCHING_REALISM | current:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PHI | STARTER_PRESENT | current:PHI includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | PHI | PITCHING_REALISM | simulation:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PHI | STARTER_PRESENT | simulation:PHI includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: PHI 4 - 3 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PHI 4 - 3 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PHI wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=PHI, final=PHI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| 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 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PHI wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PHI wins 4-3. | |||||
| 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: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | PHI | RECENT_FORM_RANGE | PHI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PHI | TEAM_RECENT_RECORD | PHI wins and win_pct agree: 5/10 = 0.500. |
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 | PHI | BATTING_REALISM | current:PHI hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | CIN | BATTING_REALISM | simulation:CIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | PHI | BATTING_REALISM | simulation:PHI 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 | PHI | BATTING_TOTALS_SUM | current:PHI 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 | PHI | BATTING_TOTALS_SUM | simulation:PHI batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_BB_MATCH | simulation:CIN batting walks match PHI pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_HR_MATCH | simulation:CIN batting home runs match PHI pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_H_MATCH | simulation:CIN batting hits match PHI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CIN | BAT_PITCH_SO_MATCH | simulation:CIN batting strikeouts match PHI pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | CIN | PA_BF_MATCH | simulation:CIN PA=39 matches PHI BF=39. | |||
| PASS | boxscore_crosscheck | simulation | CIN | RUNS_MATCH_FINAL | simulation:CIN runs match final score and opposing pitching runs: 3. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_BB_MATCH | simulation:PHI batting walks match CIN pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_HR_MATCH | simulation:PHI batting home runs match CIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_H_MATCH | simulation:PHI batting hits match CIN pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | PHI | BAT_PITCH_SO_MATCH | simulation:PHI batting strikeouts match CIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | PHI | PA_BF_MATCH | simulation:PHI PA=39 matches CIN BF=39. | |||
| PASS | boxscore_crosscheck | simulation | PHI | RUNS_MATCH_FINAL | simulation:PHI runs match final score and opposing pitching runs: 4. | |||
| 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 | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI 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 | PHI | CURRENT_LINEUP_SHAPE | PHI current lineup has 9 expected positions. | |||
| PASS | current_payload | current | PHI | CURRENT_MODEL_ZERO_FALLBACK | PHI current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | PHI | CURRENT_NAMES_PRESENT | PHI current hitter names are populated. | |||
| PASS | current_payload | current | PHI | CURRENT_PREDICTIONS_MATCH_FINALIZED | PHI hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.360. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 7 is reasonably close to low-score expected_total_runs 7.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.438/0.622. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: PHI 7, CIN 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: PHI 4 - CIN 3. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: PHI. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for PHI. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'PHI', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_PHI@CIN.json'}, {'date': '2026-07-07', 'predicted_team': 'PHI', 'confidence': 0.63, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_PHI@CIN.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_PHI@CIN. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: PHI@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: 163. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 171. | |||||
| 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: 171. | |||
| 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: 163. | |||
| 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 | PHI | PITCHING_REALISM | current:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | PHI | STARTER_PRESENT | current:PHI includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | PHI | PITCHING_REALISM | simulation:PHI pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | PHI | STARTER_PRESENT | simulation:PHI includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | PHI | PITCHING_TOTALS_SUM | current:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | PHI | PITCHING_TOTALS_SUM | current:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | PHI | PITCHING_TOTALS_SUM | simulation:PHI pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: PHI 4 - 3 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: PHI 4 - 3 CIN. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: PHI wins 4-3. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=PHI, final=PHI. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| 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 4-3. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: PHI wins 4-3. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-3. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-3, final 4-3 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 7. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: PHI wins 4-3. | |||||
| 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: 3/10 = 0.300. | |||
| PASS | team_recent_performance | current | PHI | RECENT_FORM_RANGE | PHI recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | PHI | TEAM_RECENT_RECORD | PHI wins and win_pct agree: 5/10 = 0.500. |
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 | PHI | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=9; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=4, sim=3; BB: current=2, sim=3; SO: current=10, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | CIN | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: JJ Bleday: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Sal Stewart: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1; Spencer Steer: HR current=0 box=1, RBI current=0 box=2, SO current=1 box=2; Elly De La Cruz: H current=1 box=2, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Tyler Stephenson: AB current=3 box=2, BB current=0 box=2, SO current=1 box=0; Eugenio Suárez: 2B current=0 box=1, RBI current=1 box=0, SO current=2 box=0; Noelvi Marte: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Edwin Arroyo: AB current=3 box=4 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (H: current=9, sim=7; 2B: current=0, sim=2; HR: current=0, sim=1; RBI: current=3, sim=4; BB: current=2, sim=4; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | PHI | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Schwarber: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Bryce Harper: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Brandon Marsh: 2B current=0 box=1, SO current=1 box=2; Alec Bohm: AB current=4 box=3, H current=1 box=2, RBI current=1 box=2, R current=0 box=1; Bryson Stott: H current=1 box=0; Gabriel Rincones Jr.: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; J.T. Realmuto: HBP current=0 box=1; Justin Crawford: H current=1 box=0, BB current=0 box=1, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 | 6.6964898109436035 | 5.358764171600342 | Base ML historical model prediction | |
| variance_applied | 7 | 5 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 3 | 0.640 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 3 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 4 | 7 |
| CIN | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 9 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | PHI | batting | 34 | 9 | 0 | 0 | 0 | 3 | 4 | 2 | 10 | 0 | 0 | 0 | 0 | |||||
| current | PHI | pitching | 9 | 1 | 3 | 3 | 9 | 9.0 | 3 | 0 | 0 | |||||||||
| current | CIN | batting | 33 | 8 | 0 | 0 | 0 | 4 | 3 | 2 | 10 | 0 | 0 | 0 | 0 | |||||
| current | CIN | pitching | 7 | 1 | 4 | 4 | 10 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | PHI | batting | 34 | 7 | 2 | 0 | 1 | 4 | 4 | 4 | 10 | 0 | 1 | |||||||
| simulation | PHI | pitching | 9 | 1 | 3 | 3 | 9 | 9.0 | 3 | 39 | 163 | |||||||||
| simulation | CIN | batting | 36 | 9 | 2 | 0 | 1 | 3 | 3 | 3 | 9 | 0 | 0 | |||||||
| simulation | CIN | pitching | 7 | 1 | 4 | 4 | 10 | 9.0 | 4 | 39 | 171 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | PHI | DH | Kyle Schwarber | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 0 | 0.250 | |
| current | PHI | SS | Trea Turner | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 | |
| current | PHI | 1B | Bryce Harper | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | PHI | LF | Brandon Marsh | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PHI | 3B | Alec Bohm | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | PHI | 2B | Bryson Stott | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | PHI | RF | Gabriel Rincones Jr. | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PHI | C | J.T. Realmuto | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | PHI | CF | Justin Crawford | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | LF | JJ Bleday | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | CIN | 3B | Sal Stewart | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | CIN | 1B | Spencer Steer | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | CIN | SS | Elly De La Cruz | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.200 | |
| current | CIN | C | Tyler Stephenson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | DH | Eugenio Suárez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0.250 | |
| current | CIN | RF | Noelvi Marte | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | 2B | Edwin Arroyo | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | CIN | CF | TJ Friedl | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| simulation | PHI | 1 | SS | Trea Turner | 5 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | PHI | 2 | DH | Kyle Schwarber | 5 | 5 | 2 | 1 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.400 |
| simulation | PHI | 3 | 1B | Bryce Harper | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | PHI | 4 | LF | Brandon Marsh | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | PHI | 5 | 3B | Alec Bohm | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0.667 |
| simulation | PHI | 6 | 2B | Bryson Stott | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | PHI | 7 | RF | Gabriel Rincones Jr. | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | PHI | 8 | C | J.T. Realmuto | 4 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.333 |
| simulation | PHI | 9 | CF | Justin Crawford | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CIN | 1 | SS | Elly De La Cruz | 5 | 5 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.400 |
| simulation | CIN | 2 | 3B | Sal Stewart | 5 | 5 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.400 |
| simulation | CIN | 3 | LF | JJ Bleday | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | CIN | 4 | 1B | Spencer Steer | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 2 | 0 | 0.250 |
| simulation | CIN | 5 | DH | Eugenio Suárez | 4 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | CIN | 6 | C | Tyler Stephenson | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0.500 |
| simulation | CIN | 7 | RF | Noelvi Marte | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | CIN | 8 | 2B | Edwin Arroyo | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | CIN | 9 | CF | TJ Friedl | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | PHI | 1 | Jesús Luzardo | Starter | 6.0 | 5 | 2 | 2 | 3 | 5 | 1 | 0 | 0 | 3.00 | 3.75 | 1.27 |
| current | PHI | 2 | Jhoan Duran | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 0.88 | 0.85 |
| current | PHI | 3 | José Alvarado | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 9.00 | 7.03 | 1.78 |
| current | PHI | 4 | Orion Kerkering | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.50 | 1.19 |
| current | CIN | 1 | Brady Singer | Starter | 4.2 | 5 | 3 | 3 | 2 | 4 | 0 | 0 | 0 | 5.79 | 5.03 | 1.54 |
| current | CIN | 2 | Brock Burke | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.12 | 1.38 |
| current | CIN | 3 | Caleb Ferguson | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 9.00 | 2.00 | 1.33 |
| current | CIN | 4 | Emilio Pagán | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 6.46 | 1.50 |
| current | CIN | 5 | Tejay Antone | Middle Reliever | 1.1 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 0.00 | 2.42 | 0.92 |
| simulation | PHI | 1 | Jesús Luzardo | Starter | 6.0 | 5 | 2 | 2 | 3 | 5 | 1 | 26 | 106 | 3.00 | 3.75 | 1.27 |
| simulation | PHI | 2 | Jhoan Duran | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 0.88 | 0.85 |
| simulation | PHI | 3 | Orion Kerkering | Middle Reliever | 1.0 | 1 | 0 | 0 | 0 | 2 | 0 | 4 | 19 | 0.00 | 2.50 | 1.19 |
| simulation | PHI | 4 | José Alvarado | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 0 | 5 | 22 | 9.00 | 7.03 | 1.78 |
| simulation | CIN | 1 | Brady Singer | Starter | 4.2 | 5 | 3 | 3 | 2 | 4 | 0 | 22 | 100 | 5.79 | 5.03 | 1.54 |
| simulation | CIN | 2 | Emilio Pagán | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 6.46 | 1.50 |
| simulation | CIN | 3 | Tejay Antone | Middle Reliever | 1.1 | 0 | 0 | 0 | 1 | 3 | 0 | 5 | 21 | 0.00 | 2.42 | 0.92 |
| simulation | CIN | 4 | Brock Burke | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 14 | 0.00 | 3.12 | 1.38 |
| simulation | CIN | 5 | Caleb Ferguson | Middle Reliever | 1.0 | 2 | 1 | 1 | 0 | 1 | 1 | 5 | 19 | 9.00 | 2.00 | 1.33 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| PHI | Jesús Luzardo | Starter | 6.0 | 2 | 5 | 3 | 5 | 26 | 106 |
| PHI | Jhoan Duran | Middle Reliever | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| PHI | José Alvarado | Middle Reliever | 1.0 | 1 | 2 | 0 | 1 | 5 | 22 |
| PHI | Orion Kerkering | Middle Reliever | 1.0 | 0 | 1 | 0 | 2 | 4 | 19 |
| CIN | Brady Singer | Starter | 4.2 | 3 | 5 | 2 | 4 | 22 | 100 |
| CIN | Brock Burke | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 3 | 14 |
| CIN | Caleb Ferguson | Middle Reliever | 1.0 | 1 | 2 | 0 | 1 | 5 | 19 |
| CIN | Emilio Pagán | Middle Reliever | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| CIN | Tejay Antone | Middle Reliever | 1.1 | 0 | 0 | 1 | 3 | 5 | 21 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260709_SEA@MIA
20260709_SEA@MIA.json • 2026-07-09
Final simulation is structurally valid with warnings to review. Risk score: 10.
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| WARN | Score Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 0E / 1W | - | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| WARN | score | SCORE_STEP_ORDER | Score evolution steps differ from expected order: ['historical_ml', 'variance_applied', 'enhanced_prediction', 'embedded_savant_run_environment', 'fundamental_edge_target_review', 'capped_target', 'simulation_result']. | ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'simulation_result'] or ['historical_ml', 'variance_applied', 'enhanced_prediction', 'capped_target', 'score_target_reconciliation', 'simulation_result']; optional steps allowed: ['embedded_savant_run_environment', 'target_tie_break'] | ||||
| INFO | current_payload | current | MIA | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SEA | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=30; H: current=9, sim=3; 3B: current=0, sim=1; HR: current=0, sim=2; RBI: current=5, sim=2; R: current=5, sim=2; SO: current=7, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Xavier Edwards: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Kyle Stowers: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Otto Lopez: 3B current=0 box=1, RBI current=1 box=0; Liam Hicks: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Heriberto Hernández: AB current=3 box=4, H current=1 box=2, HR current=0 box=2, RBI current=1 box=2; Griffin Conine: AB current=3 box=2, H current=1 box=0, BB current=0 box=1; Esteury Ruiz: H current=1 box=0, SO current=1 box=0; Jakob Marsee: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=9, sim=6; 2B: current=0, sim=1; HR: current=0, sim=1; RBI: current=2, sim=4; R: current=1, sim=4; BB: current=1, sim=4; SO: current=9, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Dominic Canzone: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Cal Raleigh: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Josh Naylor: H current=1 box=0, SO current=1 box=0; Luke Raley: AB current=3 box=4, R current=0 box=1, SO current=1 box=0; Randy Arozarena: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; J.P. Crawford: RBI current=0 box=1, R current=0 box=1; Cole Young: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Victor Robles: AB current=3 box=4, H current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIA | BATTING_REALISM | current:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIA | BATTING_REALISM | simulation:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIA | BATTING_TOTALS_SUM | current:MIA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SEA | BATTING_TOTALS_SUM | current:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIA | BATTING_TOTALS_SUM | simulation:MIA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_BB_MATCH | simulation:MIA batting walks match SEA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_HR_MATCH | simulation:MIA batting home runs match SEA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match SEA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match SEA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=32 matches SEA BF=32. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match MIA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match MIA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match MIA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match MIA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=37 matches MIA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIA | CURRENT_LINEUP_SHAPE | MIA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIA | CURRENT_MODEL_ZERO_FALLBACK | MIA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIA | CURRENT_NAMES_PRESENT | MIA current hitter names are populated. | |||
| PASS | current_payload | current | MIA | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SEA | CURRENT_LINEUP_SHAPE | SEA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SEA | CURRENT_MODEL_ZERO_FALLBACK | SEA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SEA | CURRENT_NAMES_PRESENT | SEA current hitter names are populated. | |||
| PASS | current_payload | current | SEA | CURRENT_PREDICTIONS_MATCH_FINALIZED | SEA hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.360. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.461/0.650. | |||||
| 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: SEA 6, MIA 3. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SEA 4 - MIA 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SEA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for SEA. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'SEA', 'confidence': 0.5425865685223361, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_SEA@MIA.json'}, {'date': '2026-07-07', 'predicted_team': 'MIA', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_SEA@MIA.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_SEA@MIA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SEA@MIA. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 131. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 147. | |||||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_PITCHER_MATCH | MIA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_TOTAL_MATCH | MIA pitch_count_summary total, row sum, and pitching total all match: 147. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_PITCHER_MATCH | SEA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_TOTAL_MATCH | SEA pitch_count_summary total, row sum, and pitching total all match: 131. | |||
| PASS | pitching | current | MIA | PITCHING_REALISM | current:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIA | STARTER_PRESENT | current:MIA includes a starter/opener role. | |||
| PASS | pitching | current | SEA | PITCHING_REALISM | current:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SEA | STARTER_PRESENT | current:SEA includes a starter/opener role. | |||
| PASS | pitching | simulation | MIA | PITCHING_REALISM | simulation:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIA | STARTER_PRESENT | simulation:MIA includes a starter/opener role. | |||
| PASS | pitching | simulation | SEA | PITCHING_REALISM | simulation:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SEA | STARTER_PRESENT | simulation:SEA includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SEA 4 - 2 MIA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SEA 4 - 2 MIA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 4-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=SEA, final=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| 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: 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: SEA wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 4-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-2, final 4-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 4-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | MIA | RECENT_FORM_RANGE | MIA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIA | TEAM_RECENT_RECORD | MIA wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | SEA | RECENT_FORM_RANGE | SEA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SEA | TEAM_RECENT_RECORD | SEA wins and win_pct agree: 5/10 = 0.500. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIA | BATTING_REALISM | current:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SEA | BATTING_REALISM | current:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIA | BATTING_REALISM | simulation:MIA hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SEA | BATTING_REALISM | simulation:SEA hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIA | BATTING_TOTALS_SUM | current:MIA batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SEA | BATTING_TOTALS_SUM | current:SEA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIA | BATTING_TOTALS_SUM | simulation:MIA batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SEA | BATTING_TOTALS_SUM | simulation:SEA batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_BB_MATCH | simulation:MIA batting walks match SEA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_HR_MATCH | simulation:MIA batting home runs match SEA pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_H_MATCH | simulation:MIA batting hits match SEA pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIA | BAT_PITCH_SO_MATCH | simulation:MIA batting strikeouts match SEA pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | MIA | PA_BF_MATCH | simulation:MIA PA=32 matches SEA BF=32. | |||
| PASS | boxscore_crosscheck | simulation | MIA | RUNS_MATCH_FINAL | simulation:MIA runs match final score and opposing pitching runs: 2. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_BB_MATCH | simulation:SEA batting walks match MIA pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_HR_MATCH | simulation:SEA batting home runs match MIA pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_H_MATCH | simulation:SEA batting hits match MIA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | BAT_PITCH_SO_MATCH | simulation:SEA batting strikeouts match MIA pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SEA | PA_BF_MATCH | simulation:SEA PA=37 matches MIA BF=37. | |||
| PASS | boxscore_crosscheck | simulation | SEA | RUNS_MATCH_FINAL | simulation:SEA runs match final score and opposing pitching runs: 4. | |||
| PASS | cross_schema | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | cross_schema | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA current pitcher projected totals match final simulation pitching box score. | |||
| PASS | current_payload | current | MIA | CURRENT_LINEUP_SHAPE | MIA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIA | CURRENT_MODEL_ZERO_FALLBACK | MIA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIA | CURRENT_NAMES_PRESENT | MIA current hitter names are populated. | |||
| PASS | current_payload | current | MIA | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIA hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | SEA | CURRENT_LINEUP_SHAPE | SEA current lineup has 9 expected positions. | |||
| PASS | current_payload | current | SEA | CURRENT_MODEL_ZERO_FALLBACK | SEA current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | SEA | CURRENT_NAMES_PRESENT | SEA current hitter names are populated. | |||
| PASS | current_payload | current | SEA | CURRENT_PREDICTIONS_MATCH_FINALIZED | SEA hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | No head-to-head rows are present, so no H2H date leakage was detected. | |||||
| 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.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.640. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.360. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 6 is reasonably close to low-score expected_total_runs 6.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.461/0.650. | |||||
| 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: SEA 6, MIA 3. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: SEA 4 - MIA 2. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: SEA. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | No stale repeat-pick pattern detected for SEA. | {'winner_confidence': 0.64, 'h2h_net_margin': 0, '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-07-08', 'predicted_team': 'SEA', 'confidence': 0.5425865685223361, 'actual_winner': None, 'actual_margin': 0, 'file': '20260708_SEA@MIA.json'}, {'date': '2026-07-07', 'predicted_team': 'MIA', 'confidence': 0.64, 'actual_winner': None, 'actual_margin': 0, 'file': '20260707_SEA@MIA.json'}]}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-07-09. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260709_SEA@MIA. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: SEA@MIA. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 131. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 147. | |||||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_PITCHER_MATCH | MIA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | MIA | PITCH_COUNT_TOTAL_MATCH | MIA pitch_count_summary total, row sum, and pitching total all match: 147. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_PITCHER_MATCH | SEA pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | SEA | PITCH_COUNT_TOTAL_MATCH | SEA pitch_count_summary total, row sum, and pitching total all match: 131. | |||
| PASS | pitching | current | MIA | PITCHING_REALISM | current:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIA | STARTER_PRESENT | current:MIA includes a starter/opener role. | |||
| PASS | pitching | current | SEA | PITCHING_REALISM | current:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | SEA | STARTER_PRESENT | current:SEA includes a starter/opener role. | |||
| PASS | pitching | simulation | MIA | PITCHING_REALISM | simulation:MIA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIA | STARTER_PRESENT | simulation:MIA includes a starter/opener role. | |||
| PASS | pitching | simulation | SEA | PITCHING_REALISM | simulation:SEA pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | SEA | STARTER_PRESENT | simulation:SEA includes a starter/opener role. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIA | PITCHING_TOTALS_SUM | current:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | SEA | PITCHING_TOTALS_SUM | current:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | MIA | PITCHING_TOTALS_SUM | simulation:MIA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | SEA | PITCHING_TOTALS_SUM | simulation:SEA pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: SEA 4 - 2 MIA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: SEA 4 - 2 MIA. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: SEA wins 4-2. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | No simulation winner reversal: pre=SEA, final=SEA. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.640. | |||||
| 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: 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: SEA wins 4-2. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: SEA wins 4-2. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-2. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-2, final 4-2 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 6. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: SEA wins 4-2. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs preserves the pre-simulation model target; game.simulation_runs carries scoring_simulation.final_score. | New contract: predicted_runs may differ, simulation_runs must match scoring_simulation.final_score. | |||
| PASS | team_recent_performance | current | MIA | RECENT_FORM_RANGE | MIA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | MIA | TEAM_RECENT_RECORD | MIA wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | SEA | RECENT_FORM_RANGE | SEA recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | SEA | TEAM_RECENT_RECORD | SEA wins and win_pct agree: 5/10 = 0.500. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIA | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | SEA | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=30; H: current=9, sim=3; 3B: current=0, sim=1; HR: current=0, sim=2; RBI: current=5, sim=2; R: current=5, sim=2; SO: current=7, sim=5). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | MIA | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Xavier Edwards: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Kyle Stowers: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Otto Lopez: 3B current=0 box=1, RBI current=1 box=0; Liam Hicks: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Heriberto Hernández: AB current=3 box=4, H current=1 box=2, HR current=0 box=2, RBI current=1 box=2; Griffin Conine: AB current=3 box=2, H current=1 box=0, BB current=0 box=1; Esteury Ruiz: H current=1 box=0, SO current=1 box=0; Jakob Marsee: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=9, sim=6; 2B: current=0, sim=1; HR: current=0, sim=1; RBI: current=2, sim=4; R: current=1, sim=4; BB: current=1, sim=4; SO: current=9, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SEA | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Dominic Canzone: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Cal Raleigh: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Josh Naylor: H current=1 box=0, SO current=1 box=0; Luke Raley: AB current=3 box=4, R current=0 box=1, SO current=1 box=0; Randy Arozarena: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; J.P. Crawford: RBI current=0 box=1, R current=0 box=1; Cole Young: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Victor Robles: AB current=3 box=4, H current=1 box=0, SO current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | 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 | 6.16619873046875 | 2.485245704650879 | Base ML historical model prediction | |
| variance_applied | 6 | 2 | Random variance applied (0.9-1.1) | |
| enhanced_prediction | 4 | 3 | 0.640 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4 | 3 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 3 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 3 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 2 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SEA | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 4 | 6 |
| MIA | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 3 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SEA | batting | 32 | 9 | 0 | 0 | 0 | 2 | 1 | 1 | 9 | 0 | 0 | 0 | 0 | |||||
| current | SEA | pitching | 3 | 2 | 2 | 2 | 5 | 9.0 | 2 | 0 | 0 | |||||||||
| current | MIA | batting | 32 | 9 | 0 | 0 | 0 | 5 | 5 | 2 | 7 | 0 | 0 | 0 | 0 | |||||
| current | MIA | pitching | 6 | 1 | 4 | 4 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | SEA | batting | 33 | 6 | 1 | 0 | 1 | 4 | 4 | 4 | 6 | 0 | 0 | |||||||
| simulation | SEA | pitching | 3 | 2 | 2 | 2 | 5 | 9.0 | 2 | 32 | 131 | |||||||||
| simulation | MIA | batting | 30 | 3 | 0 | 1 | 2 | 2 | 2 | 2 | 5 | 0 | 0 | |||||||
| simulation | MIA | pitching | 6 | 1 | 4 | 4 | 6 | 9.0 | 4 | 37 | 147 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | SEA | DH | Dominic Canzone | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SEA | C | Cal Raleigh | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | 1B | Josh Naylor | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SEA | RF | Luke Raley | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SEA | LF | Randy Arozarena | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SEA | 3B | J.P. Crawford | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 | |
| current | SEA | 2B | Cole Young | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | SEA | CF | Victor Robles | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SEA | SS | Colt Emerson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | 2B | Xavier Edwards | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIA | 1B | Kyle Stowers | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIA | SS | Otto Lopez | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | MIA | C | Liam Hicks | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.250 | |
| current | MIA | DH | Heriberto Hernández | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | MIA | LF | Griffin Conine | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | RF | Esteury Ruiz | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIA | CF | Jakob Marsee | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | MIA | 3B | Leo Jiménez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | SEA | 1 | 3B | J.P. Crawford | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 |
| simulation | SEA | 2 | LF | Randy Arozarena | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | SEA | 3 | DH | Dominic Canzone | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | SEA | 4 | C | Cal Raleigh | 4 | 3 | 2 | 0 | 0 | 1 | 1 | 2 | 1 | 1 | 0 | 0.667 |
| simulation | SEA | 5 | 1B | Josh Naylor | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | SEA | 6 | RF | Luke Raley | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | SEA | 7 | 2B | Cole Young | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 |
| simulation | SEA | 8 | CF | Victor Robles | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | SEA | 9 | SS | Colt Emerson | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | MIA | 1 | C | Liam Hicks | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | MIA | 2 | SS | Otto Lopez | 4 | 4 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0.250 |
| simulation | MIA | 3 | 2B | Xavier Edwards | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIA | 4 | 1B | Kyle Stowers | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | MIA | 5 | DH | Heriberto Hernández | 4 | 4 | 2 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 | 0.500 |
| simulation | MIA | 6 | LF | Griffin Conine | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | MIA | 7 | RF | Esteury Ruiz | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | MIA | 8 | CF | Jakob Marsee | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | MIA | 9 | 3B | Leo Jiménez | 3 | 2 | 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 | SEA | 1 | Bryce Miller | Starter | 6.1 | 3 | 2 | 2 | 1 | 5 | 2 | 0 | 0 | 2.84 | 1.71 | 0.66 |
| current | SEA | 2 | Andrés Muñoz | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.00 | 3.78 | 1.23 |
| current | SEA | 3 | José A. Ferrer | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.37 | 1.26 |
| current | SEA | 4 | Eduard Bazardo | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.06 | 1.25 |
| current | MIA | 1 | Sandy Alcantara | Starter | 6.1 | 3 | 2 | 2 | 2 | 2 | 1 | 0 | 0 | 2.84 | 4.00 | 1.25 |
| current | MIA | 2 | Calvin Faucher | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 4.62 | 1.57 |
| current | MIA | 3 | Pete Fairbanks | Middle Reliever | 1.0 | 3 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 18.00 | 6.75 | 1.43 |
| current | MIA | 4 | Michael Petersen | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0.00 | 2.92 | 0.97 |
| simulation | SEA | 1 | Bryce Miller | Starter | 6.1 | 3 | 2 | 2 | 1 | 5 | 2 | 23 | 93 | 2.84 | 1.71 | 0.66 |
| simulation | SEA | 2 | Andrés Muñoz | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 10 | 0.00 | 3.78 | 1.23 |
| simulation | SEA | 3 | José A. Ferrer | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 15 | 0.00 | 2.37 | 1.26 |
| simulation | SEA | 4 | Eduard Bazardo | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 13 | 0.00 | 2.06 | 1.25 |
| simulation | MIA | 1 | Sandy Alcantara | Starter | 6.1 | 3 | 2 | 2 | 2 | 2 | 1 | 24 | 98 | 2.84 | 4.00 | 1.25 |
| simulation | MIA | 2 | Pete Fairbanks | Middle Reliever | 1.0 | 3 | 2 | 2 | 1 | 1 | 0 | 7 | 17 | 18.00 | 6.75 | 1.43 |
| simulation | MIA | 3 | Calvin Faucher | Middle Reliever | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 4.62 | 1.57 |
| simulation | MIA | 4 | Michael Petersen | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 15 | 0.00 | 2.92 | 0.97 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| SEA | Bryce Miller | Starter | 6.1 | 2 | 3 | 1 | 5 | 23 | 93 |
| SEA | Andrés Muñoz | Middle Reliever | 1.0 | 0 | 0 | 1 | 0 | 4 | 10 |
| SEA | José A. Ferrer | Middle Reliever | 1.0 | 0 | 0 | 0 | 0 | 3 | 15 |
| SEA | Eduard Bazardo | Middle Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 13 |
| MIA | Sandy Alcantara | Starter | 6.1 | 2 | 3 | 2 | 2 | 24 | 98 |
| MIA | Calvin Faucher | Middle Reliever | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| MIA | Pete Fairbanks | Middle Reliever | 1.0 | 2 | 3 | 1 | 1 | 7 | 17 |
| MIA | Michael Petersen | Middle Reliever | 0.2 | 0 | 0 | 0 | 2 | 2 | 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 | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| 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 | warning | 0 | 0 | 1 | 0 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |