20260921_MIN@SF
20260921_MIN@SF.json • 2026-09-21
MIN 5 - SF 4
PASSClean: no problems detected. Risk score: 0.
CRITICAL 0ERROR 0WARN 0PASS 100INFO 8
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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 | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model pitcher projections differ from final simulation pitching box score (HR: current=0, sim=1). | New contract: model pitcher projections may differ; simulation_box_score_stats carries 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=41; H: current=7, sim=11; 2B: current=1, sim=4; HR: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; 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 | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: H current=1 box=2, SO current=0 box=1; Ryan Jeffers: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, R current=0 box=1; Alan Roden: AB current=3 box=5, H current=0 box=2, 2B current=0 box=1, HR current=0 box=1; Player-693306: AB current=3 box=4, H current=1 box=0, BB current=0 box=1; Emmanuel Rodriguez: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Brooks Lee: RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Walker Jenkins: 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0, SO current=1 box=3; Kody Clemens: AB current=4 box=5, RBI current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=30, sim=36; H: current=7, sim=6; 2B: current=1, sim=3; R: current=3, sim=4; BB: current=3, sim=4; SO: current=8, sim=10). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Marcelo Mayer: AB current=3 box=5, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Jonah Cox: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Player-815589: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0; Brett Harris: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, RBI current=0 box=1; Osleivis Basabe: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Christian Koss: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=3; Drew Gilbert: H current=1 box=0, 2B current=1 box=0, R current=0 box=1, SO current=0 box=1; Scott Bandura: BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match SF pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match SF pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match SF pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match SF pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=45 matches SF BF=45. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match MIN pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match MIN pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match MIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=40 matches MIN BF=40. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.631 -> 0.600 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.630515, 'sample_size': 640, 'empirical_hit_rate': 0.5687, 'empirical_weight': 0.5, 'blended_confidence': 0.599607, 'published_confidence': 0.567503, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.432. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.521/0.713. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 10 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 11, SF 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 5 - SF 4. | |||||
| 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.5675027500000001, 'h2h_net_margin': 0, 'prediction_memory': {'available': False, 'reason': 'no_verified_prior_matchup_predictions', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 0, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': []}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-21. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260921_MIN@SF. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@SF. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': False, 'sample_size': 0, 'home_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': 0.0, 'evidence': []} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.019191595875746353}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.018531836702459465}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.018391945331383202}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.01823113140154843}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.017759676148271345}], 'home_distribution': {'0': 0.06214005061778167, '1': 0.09304277076280003, '2': 0.12320288138163138, '3': 0.14427340860007837, '4': 0.1494097426997975, '5': 0.13683548656794986, '6': 0.11082704697637939, '7': 0.07938162404961936, '8': 0.05028302489101253, '9': 0.028167610678044283, '10': 0.013954228195863023, '11': 0.006113484702210527, '12': 0.002368639876831903}, 'away_distribution': {'0': 0.04059814086402878, '1': 0.061675564606200786, '2': 0.0852980750493617, '3': 0.10739509230349525, '4': 0.1230973629901588, '5': 0.1284494272525935, '6': 0.12202103472046967, '7': 0.10552523875529597, '8': 0.08308011559972775, '9': 0.05954659731927168, '10': 0.03885401609014574, '11': 0.02307990359908874, '12': 0.012481051466503867, '13': 0.0061445129839214005, '14': 0.00275386639973633}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.2147, 'recent_quality_edge': -0.064, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.162} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIN 5 - 4 SF', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIN 5 - 4 SF', 'winner': 'MIN'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0529, 'recent_form_edge_home_minus_away': -0.064, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'MIN', 'published_winner_draw_share': 0.6, 'draw_majority_team': 'MIN', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.162, 'winner': 'MIN', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 196. | |||||
| 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: 168. | |||
| 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: 196. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | current | 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 | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | 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 | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN 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: 10.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: MIN 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 5-4 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIN, simulation=MIN, published=MIN. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.568. | |||||
| 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 agrees with the published score (game.final_prediction): MIN wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 5-4 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | 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: 3/10 = 0.300. | |||
| 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: 1/10 = 0.100. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | MIN | BATTING_REALISM | current:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | SF | BATTING_REALISM | current:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | MIN | BATTING_REALISM | simulation:MIN hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | SF | BATTING_REALISM | simulation:SF hitter lines pass basic baseball constraints. | |||
| PASS | batting_totals | current | MIN | BATTING_TOTALS_SUM | current:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | current | SF | BATTING_TOTALS_SUM | current:SF batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | MIN | BATTING_TOTALS_SUM | simulation:MIN batting totals equal summed player lines. | |||
| PASS | batting_totals | simulation | SF | BATTING_TOTALS_SUM | simulation:SF batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_BB_MATCH | simulation:MIN batting walks match SF pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_HR_MATCH | simulation:MIN batting home runs match SF pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_H_MATCH | simulation:MIN batting hits match SF pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIN | BAT_PITCH_SO_MATCH | simulation:MIN batting strikeouts match SF pitching: 11. | |||
| PASS | boxscore_crosscheck | simulation | MIN | PA_BF_MATCH | simulation:MIN PA=45 matches SF BF=45. | |||
| PASS | boxscore_crosscheck | simulation | MIN | RUNS_MATCH_FINAL | simulation:MIN runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_BB_MATCH | simulation:SF batting walks match MIN pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_HR_MATCH | simulation:SF batting home runs match MIN pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_H_MATCH | simulation:SF batting hits match MIN pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | SF | BAT_PITCH_SO_MATCH | simulation:SF batting strikeouts match MIN pitching: 10. | |||
| PASS | boxscore_crosscheck | simulation | SF | PA_BF_MATCH | simulation:SF PA=40 matches MIN BF=40. | |||
| PASS | boxscore_crosscheck | simulation | SF | RUNS_MATCH_FINAL | simulation:SF runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.631 -> 0.600 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.630515, 'sample_size': 640, 'empirical_hit_rate': 0.5687, 'empirical_weight': 0.5, 'blended_confidence': 0.599607, 'published_confidence': 0.567503, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | MIN | CURRENT_LINEUP_SHAPE | MIN current lineup has 9 expected positions. | |||
| PASS | current_payload | current | MIN | CURRENT_MODEL_ZERO_FALLBACK | MIN current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | MIN | CURRENT_NAMES_PRESENT | MIN current hitter names are populated. | |||
| PASS | current_payload | current | MIN | CURRENT_PREDICTIONS_MATCH_FINALIZED | MIN hitter predictions mirror finalized stats. | |||
| PASS | current_payload | current | 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.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.568. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.432. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Final total runs 9 is reasonably close to low-score expected_total_runs 9.0. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score analysis factors are non-negative. | |||||
| PASS | enhanced_prediction | LOW_SCORE_ANALYSIS | Low-score probability/confidence are valid: 0.521/0.713. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 10 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: MIN 11, SF 6. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: MIN 5 - SF 4. | |||||
| 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.5675027500000001, 'h2h_net_margin': 0, 'prediction_memory': {'available': False, 'reason': 'no_verified_prior_matchup_predictions', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 0, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': []}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-21. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260921_MIN@SF. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: MIN@SF. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': False, 'sample_size': 0, 'home_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': 0.0, 'evidence': []} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 5, 'probability': 0.019191595875746353}, {'home_runs': 3, 'away_runs': 5, 'probability': 0.018531836702459465}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.018391945331383202}, {'home_runs': 4, 'away_runs': 6, 'probability': 0.01823113140154843}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.017759676148271345}], 'home_distribution': {'0': 0.06214005061778167, '1': 0.09304277076280003, '2': 0.12320288138163138, '3': 0.14427340860007837, '4': 0.1494097426997975, '5': 0.13683548656794986, '6': 0.11082704697637939, '7': 0.07938162404961936, '8': 0.05028302489101253, '9': 0.028167610678044283, '10': 0.013954228195863023, '11': 0.006113484702210527, '12': 0.002368639876831903}, 'away_distribution': {'0': 0.04059814086402878, '1': 0.061675564606200786, '2': 0.0852980750493617, '3': 0.10739509230349525, '4': 0.1230973629901588, '5': 0.1284494272525935, '6': 0.12202103472046967, '7': 0.10552523875529597, '8': 0.08308011559972775, '9': 0.05954659731927168, '10': 0.03885401609014574, '11': 0.02307990359908874, '12': 0.012481051466503867, '13': 0.0061445129839214005, '14': 0.00275386639973633}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': -0.2147, 'recent_quality_edge': -0.064, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': -0.162} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIN 5 - 4 SF', 'winner': 'MIN'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'MIN 5 - 4 SF', 'winner': 'MIN'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0529, 'recent_form_edge_home_minus_away': -0.064, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'MIN', 'model_winner': 'MIN', 'simulation_winner': 'MIN', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'MIN', 'published_winner_draw_share': 0.6, 'draw_majority_team': 'MIN', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.162, 'winner': 'MIN', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 168. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 196. | |||||
| 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: 168. | |||
| 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: 196. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 10 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | MIN | PITCHING_REALISM | current:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | MIN | STARTER_PRESENT | current:MIN includes a starter/opener role. | |||
| PASS | pitching | current | 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 | MIN | PITCHING_REALISM | simulation:MIN pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | MIN | STARTER_PRESENT | simulation:MIN includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | MIN | PITCHING_TOTALS_SUM | current:MIN pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | MIN | PITCHING_TOTALS_SUM | current:MIN pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | current | 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 | MIN | PITCHING_TOTALS_SUM | simulation:MIN pitching IP total matches pitcher sum: 10.0. | |||
| PASS | pitching_totals | simulation | MIN | PITCHING_TOTALS_SUM | simulation:MIN 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: 10.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: MIN 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: MIN 5 - 4 SF. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: MIN wins 5-4 (Extra Innings - 10). | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=MIN, simulation=MIN, published=MIN. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.568. | |||||
| 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 agrees with the published score (game.final_prediction): MIN wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: MIN wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: MIN wins 5-4 (Extra Innings - 10). | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | 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: 3/10 = 0.300. | |||
| 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: 1/10 = 0.100. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | MIN | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | 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 | MIN | CURRENT_FINALIZED_MATCH_BOX | MIN model pitcher projections differ from final simulation pitching box score (HR: current=0, sim=1). | New contract: model pitcher projections may differ; simulation_box_score_stats carries 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=41; H: current=7, sim=11; 2B: current=1, sim=4; HR: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; 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 | MIN | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: H current=1 box=2, SO current=0 box=1; Ryan Jeffers: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, R current=0 box=1; Alan Roden: AB current=3 box=5, H current=0 box=2, 2B current=0 box=1, HR current=0 box=1; Player-693306: AB current=3 box=4, H current=1 box=0, BB current=0 box=1; Emmanuel Rodriguez: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Brooks Lee: RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Walker Jenkins: 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0, SO current=1 box=3; Kody Clemens: AB current=4 box=5, RBI current=1 box=2 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=30, sim=36; H: current=7, sim=6; 2B: current=1, sim=3; R: current=3, sim=4; BB: current=3, sim=4; SO: current=8, sim=10). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | SF | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Marcelo Mayer: AB current=3 box=5, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Jonah Cox: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Player-815589: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0; Brett Harris: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, RBI current=0 box=1; Osleivis Basabe: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Christian Koss: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=3; Drew Gilbert: H current=1 box=0, 2B current=1 box=0, R current=0 box=1, SO current=0 box=1; Scott Bandura: BB current=0 box=1, SO current=1 box=0 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.697008600310184 | 4.342589000347224 | Base ML historical model prediction | |
| variance_applied | 5 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.568 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 5 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 1 | 0 | 1 | 5 | 11 |
| SF | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 1 | 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 | MIN | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | MIN | pitching | 6 | 0 | 4 | 4 | 10 | 9.0 | 4 | 0 | 0 | |||||||||
| current | SF | batting | 30 | 7 | 1 | 0 | 1 | 4 | 3 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | SF | pitching | 11 | 3 | 5 | 4 | 11 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | MIN | batting | 41 | 11 | 4 | 0 | 3 | 5 | 5 | 4 | 11 | 0 | 0 | |||||||
| simulation | MIN | pitching | 6 | 1 | 4 | 4 | 10 | 10.0 | 4 | 40 | 168 | |||||||||
| simulation | SF | batting | 36 | 6 | 3 | 0 | 1 | 4 | 4 | 4 | 10 | 0 | 0 | |||||||
| simulation | SF | pitching | 11 | 3 | 5 | 4 | 11 | 10.0 | 5 | 45 | 196 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIN | RF | Luke Keaschall | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.250 | |
| current | MIN | C | Ryan Jeffers | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIN | DH | Alan Roden | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | |
| current | MIN | 1B | Player-693306 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | MIN | LF | Emmanuel Rodriguez | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 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 | CF | Walker Jenkins | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | MIN | 2B | Kody Clemens | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | MIN | SS | Ryan Kreidler | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SF | DH | Marcelo Mayer | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | SF | 2B | Jonah Cox | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | SF | RF | Player-815589 | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | SF | 1B | Brett Harris | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SF | 3B | Osleivis Basabe | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | SS | Christian Koss | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | SF | CF | Drew Gilbert | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0.250 | |
| current | SF | LF | Scott Bandura | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | SF | C | Drew Cavanaugh | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| simulation | MIN | 1 | CF | Walker Jenkins | 5 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0.250 |
| simulation | MIN | 2 | RF | Luke Keaschall | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.500 |
| simulation | MIN | 3 | 3B | Brooks Lee | 5 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.250 |
| simulation | MIN | 4 | 2B | Kody Clemens | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 0.200 |
| simulation | MIN | 5 | C | Ryan Jeffers | 5 | 5 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.400 |
| simulation | MIN | 6 | DH | Alan Roden | 5 | 5 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.400 |
| simulation | MIN | 7 | 1B | Player-693306 | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | MIN | 8 | LF | Emmanuel Rodriguez | 5 | 5 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0.200 |
| simulation | MIN | 9 | SS | Ryan Kreidler | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.200 |
| simulation | SF | 1 | CF | Drew Gilbert | 5 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.000 |
| simulation | SF | 2 | 2B | Jonah Cox | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
| simulation | SF | 3 | RF | Player-815589 | 5 | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.500 |
| simulation | SF | 4 | DH | Marcelo Mayer | 5 | 5 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.200 |
| simulation | SF | 5 | 1B | Brett Harris | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.500 |
| simulation | SF | 6 | C | Drew Cavanaugh | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | SF | 7 | 3B | Osleivis Basabe | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 2 | 0 | 0.333 |
| simulation | SF | 8 | LF | Scott Bandura | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 |
| simulation | SF | 9 | SS | Christian Koss | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | MIN | 1 | Zebby Matthews | Starter | 5.2 | 2 | 1 | 1 | 0 | 7 | 0 | 0 | 0 | 1.59 | 4.74 | 1.24 |
| current | MIN | 2 | A.J. Minter | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 2.09 | 1.02 |
| current | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 3.46 | 1.31 |
| current | MIN | 5 | Yoendrys Gómez | Closer | 1.1 | 3 | 3 | 3 | 3 | 2 | 0 | 0 | 0 | 20.25 | 4.48 | 1.51 |
| current | MIN | 7 | Taylor Rogers | Reliever | 0.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| current | SF | 1 | Blade Tidwell | Starter | 5.1 | 6 | 3 | 3 | 2 | 5 | 2 | 0 | 0 | 5.06 | 4.56 | 1.20 |
| current | SF | 2 | Carson Seymour | Middle Reliever (High Leverage) | 1.2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 5.02 | 1.64 |
| current | SF | 3 | Dylan Smith | Closer | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 3.65 | 1.46 |
| current | SF | 4 | Trent Harris | Setup Man | 0.2 | 2 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 13.50 | 2.25 | 1.15 |
| current | SF | 5 | Jason Foley | Middle Reliever (High Leverage) | 0.0 | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 4.30 | 1.57 | |
| simulation | MIN | 1 | Zebby Matthews | Starter | 5.2 | 2 | 1 | 1 | 0 | 7 | 0 | 19 | 85 | 1.59 | 4.74 | 1.24 |
| simulation | MIN | 2 | Yoendrys Gómez | Closer | 1.2 | 3 | 3 | 3 | 3 | 2 | 0 | 11 | 42 | 16.20 | 4.48 | 1.51 |
| simulation | MIN | 3 | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 3.46 | 1.31 |
| simulation | MIN | 4 | A.J. Minter | Middle Reliever (High Leverage) | 1.0 | 1 | 0 | 0 | 0 | 0 | 1 | 4 | 16 | 0.00 | 2.09 | 1.02 |
| simulation | MIN | 5 | Taylor Rogers | Reliever | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 | 0.00 | 4.11 | 1.58 |
| simulation | SF | 1 | Blade Tidwell | Starter | 5.1 | 6 | 3 | 3 | 2 | 5 | 2 | 24 | 105 | 5.06 | 4.56 | 1.20 |
| simulation | SF | 2 | Dylan Smith | Closer | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 | 6 | 24 | 0.00 | 3.65 | 1.46 |
| simulation | SF | 3 | Trent Harris | Setup Man | 1.0 | 2 | 1 | 1 | 0 | 2 | 1 | 5 | 19 | 9.00 | 2.25 | 1.15 |
| simulation | SF | 4 | Carson Seymour | Middle Reliever (High Leverage) | 1.2 | 1 | 0 | 0 | 1 | 1 | 0 | 7 | 37 | 0.00 | 5.02 | 1.64 |
| simulation | SF | 5 | Jason Foley | Middle Reliever (High Leverage) | 0.2 | 1 | 1 | 1 | 0 | 2 | 0 | 3 | 11 | 13.50 | 4.30 | 1.57 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| MIN | Zebby Matthews | Starter | 5.2 | 1 | 2 | 0 | 7 | 19 | 85 |
| MIN | A.J. Minter | Middle Reliever (High Leverage) | 1.0 | 0 | 1 | 0 | 0 | 4 | 16 |
| MIN | Jeff Hoffman | Setup Man | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| MIN | Yoendrys Gómez | Closer | 1.2 | 3 | 3 | 3 | 2 | 11 | 42 |
| MIN | Taylor Rogers | Reliever | 0.2 | 0 | 0 | 0 | 0 | 2 | 8 |
| SF | Blade Tidwell | Starter | 5.1 | 3 | 6 | 2 | 5 | 24 | 105 |
| SF | Carson Seymour | Middle Reliever (High Leverage) | 1.2 | 0 | 1 | 1 | 1 | 7 | 37 |
| SF | Dylan Smith | Closer | 1.1 | 0 | 1 | 1 | 1 | 6 | 24 |
| SF | Trent Harris | Setup Man | 1.0 | 1 | 2 | 0 | 2 | 5 | 19 |
| SF | Jason Foley | Middle Reliever (High Leverage) | 0.2 | 1 | 1 | 0 | 2 | 3 | 11 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 1 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260921_TOR@BAL
20260921_TOR@BAL.json • 2026-09-21
TOR 5 - BAL 4
PASSClean: no problems detected. Risk score: 0.
CRITICAL 0ERROR 0WARN 0PASS 101INFO 7
No action required
No critical, error, or warning findings were detected.
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | BAL | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_payload | current | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=5; HR: current=1, sim=2; BB: current=4, sim=2; SO: current=10, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: RBI current=1 box=2, SO current=1 box=0; Dylan Beavers: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Christian Encarnacion-Strand: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gunnar Henderson: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=3; Pete Alonso: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; José Barrero: AB current=3 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Rece Hinds: AB current=3 box=4, SO current=2 box=0; Colton Cowser: H current=0 box=1, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=9; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Alejandro Kirk: AB current=4 box=5, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Sean Keys: AB current=3 box=4, RBI current=1 box=0, SO current=1 box=2; George Springer: 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Josh Smith: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Brett Bateman: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Nathan Lukes: H current=1 box=2, SO current=1 box=0; Kazuma Okamoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrés Giménez: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. | |||||
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR 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 | TOR | BATTING_TOTALS_SUM | current:TOR 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 | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match TOR pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match TOR pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match TOR pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match TOR pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=34 matches TOR BF=34. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match BAL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match BAL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=38 matches BAL BF=38. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.460 -> 0.501 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.4601, 'sample_size': 494, 'empirical_hit_rate': 0.5425, 'empirical_weight': 0.5, 'blended_confidence': 0.5013, 'published_confidence': 0.505257, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR 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 | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| 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.521/0.713. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 9, BAL 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 5 - BAL 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TOR. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TOR; cap=0.56, reasons=recent head-to-head is split and volatile; local prediction memory shows 3 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'TOR', 'opponent_team': 'BAL', 'h2h_net_margin': 8, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-13', 'predicted_team_runs': 8, 'opponent_runs': 1, 'margin_for_predicted_team': 7, 'winner': 'TOR'}, {'date': '2026-09-12', 'predicted_team_runs': 7, 'opponent_runs': 3, 'margin_for_predicted_team': 4, 'winner': 'TOR'}, {'date': '2026-09-11', 'predicted_team_runs': 4, 'opponent_runs': 7, 'margin_for_predicted_team': -3, 'winner': 'BAL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260913', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 7, 'raw_pick_probability': 0.529621, 'artifact': '20260913_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260912', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260912_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260911', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 3, 'raw_pick_probability': 0.505, 'artifact': '20260911_BAL@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TOR', 'guardrail_opponent_team': 'BAL', 'output_pre_simulation_winner': 'TOR', 'output_opponent_team': 'BAL', 'simulation_score_winner': 'TOR', 'final_score_winner': 'TOR', 'pre_simulation_winner': 'TOR', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0531, 'recent_form_edge_home_minus_away': -0.046, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'TOR', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0907, 'winner': 'TOR', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-21. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260921_TOR@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -12.0, 'absolute_net_margin': 12.0, 'home_average_margin': -2.4, 'home_run_delta': -0.0692, 'away_run_delta': 0.0692, 'evidence': [{'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023186104004576623}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02298110514110332}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022697040358130083}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.022496365528210147}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.020864985002180366}], 'home_distribution': {'0': 0.06758079961779818, '1': 0.10081263462945908, '2': 0.13200640802179392, '3': 0.15172721046087204, '4': 0.15308066607196977, '5': 0.13557063291692284, '6': 0.10538997812176808, '7': 0.07191531971756727, '8': 0.043075658691504974, '9': 0.022648051777738595, '10': 0.010452451996744916, '11': 0.00423441992559661, '12': 0.0015057680502635177}, 'away_distribution': {'0': 0.06499257178318453, '1': 0.09712410498284726, '2': 0.12785628589491918, '3': 0.1482684975218179, '4': 0.15146330754581278, '5': 0.1363005893400728, '6': 0.10804875782668034, '7': 0.07545248899948677, '8': 0.046415080765177, '9': 0.02515222432957516, '10': 0.012006749021345835, '11': 0.0050490098150539195, '12': 0.001870332174026513}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0513, 'recent_quality_edge': 0.164, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.0907} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0531, 'recent_form_edge_home_minus_away': -0.046, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'TOR', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0907, 'winner': 'TOR', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 128. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| 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: 157. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 128. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 5 - 4 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 5 - 4 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TOR wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TOR, simulation=TOR, published=TOR. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TOR wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TOR wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TOR wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | BAL | BATTING_REALISM | current:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | TOR | BATTING_REALISM | current:TOR hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | BAL | BATTING_REALISM | simulation:BAL hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | TOR | BATTING_REALISM | simulation:TOR 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 | TOR | BATTING_TOTALS_SUM | current:TOR 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 | TOR | BATTING_TOTALS_SUM | simulation:TOR batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_BB_MATCH | simulation:BAL batting walks match TOR pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_HR_MATCH | simulation:BAL batting home runs match TOR pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_H_MATCH | simulation:BAL batting hits match TOR pitching: 5. | |||
| PASS | boxscore_crosscheck | simulation | BAL | BAT_PITCH_SO_MATCH | simulation:BAL batting strikeouts match TOR pitching: 6. | |||
| PASS | boxscore_crosscheck | simulation | BAL | PA_BF_MATCH | simulation:BAL PA=34 matches TOR BF=34. | |||
| PASS | boxscore_crosscheck | simulation | BAL | RUNS_MATCH_FINAL | simulation:BAL runs match final score and opposing pitching runs: 4. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_BB_MATCH | simulation:TOR batting walks match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_HR_MATCH | simulation:TOR batting home runs match BAL pitching: 2. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_H_MATCH | simulation:TOR batting hits match BAL pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | TOR | BAT_PITCH_SO_MATCH | simulation:TOR batting strikeouts match BAL pitching: 7. | |||
| PASS | boxscore_crosscheck | simulation | TOR | PA_BF_MATCH | simulation:TOR PA=38 matches BAL BF=38. | |||
| PASS | boxscore_crosscheck | simulation | TOR | RUNS_MATCH_FINAL | simulation:TOR runs match final score and opposing pitching runs: 5. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.460 -> 0.501 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.4601, 'sample_size': 494, 'empirical_hit_rate': 0.5425, 'empirical_weight': 0.5, 'blended_confidence': 0.5013, 'published_confidence': 0.505257, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR 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 | TOR | CURRENT_LINEUP_SHAPE | TOR current lineup has 9 expected positions. | |||
| PASS | current_payload | current | TOR | CURRENT_MODEL_ZERO_FALLBACK | TOR current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | TOR | CURRENT_NAMES_PRESENT | TOR current hitter names are populated. | |||
| PASS | current_payload | current | TOR | CURRENT_PREDICTIONS_MATCH_FINALIZED | TOR hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | All head-to-head rows are dated before the prediction game date. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | Home + away win probabilities sum to approximately 1.0. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | away_win_probability is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.505. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.495. | |||||
| 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.521/0.713. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: TOR 9, BAL 5. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: TOR 5 - BAL 4. | |||||
| PASS | matchup_recency | GUARDRAIL_FINAL_WINNER_SYNC | Guardrail predicted_team matches final predicted winner: TOR. | |||||
| PASS | matchup_recency | MATCHUP_RECENCY_GUARDRAIL | Matchup recency guardrail applied for TOR; cap=0.56, reasons=recent head-to-head is split and volatile; local prediction memory shows 3 straight prior same-side picks; a prior same-side pick already missed against the actual result. | {'applied': True, 'confidence_cap': 0.56, 'winner_flipped': False, 'reasons': ['recent head-to-head is split and volatile', 'local prediction memory shows 3 straight prior same-side picks', 'a prior same-side pick already missed against the actual result'], 'signals': {'predicted_team': 'TOR', 'opponent_team': 'BAL', 'h2h_net_margin': 8, 'opponent_breakout': False, 'opponent_blowout_win': False, 'split_recent_h2h': True, 'recent_h2h': [{'date': '2026-09-13', 'predicted_team_runs': 8, 'opponent_runs': 1, 'margin_for_predicted_team': 7, 'winner': 'TOR'}, {'date': '2026-09-12', 'predicted_team_runs': 7, 'opponent_runs': 3, 'margin_for_predicted_team': 4, 'winner': 'TOR'}, {'date': '2026-09-11', 'predicted_team_runs': 4, 'opponent_runs': 7, 'margin_for_predicted_team': -3, 'winner': 'BAL'}], 'prediction_memory': {'available': True, 'reason': 'verified_prior_matchup_predictions_available', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 3, 'consecutive_same_pick_count': 3, 'same_pick_actual_loss_count': 1, 'same_pick_blowout_loss_count': 0, 'prior_predictions': [{'date': '20260913', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 7, 'raw_pick_probability': 0.529621, 'artifact': '20260913_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260912', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'TOR', 'actual_margin': 4, 'raw_pick_probability': 0.53, 'artifact': '20260912_BAL@TOR.json', 'verification': 'pregame_official_final'}, {'date': '20260911', 'away': 'BAL', 'home': 'TOR', 'game_number': 1, 'predicted_team': 'TOR', 'actual_winner': 'BAL', 'actual_margin': 3, 'raw_pick_probability': 0.505, 'artifact': '20260911_BAL@TOR.json', 'verification': 'pregame_official_final'}]}, 'guardrail_predicted_team': 'TOR', 'guardrail_opponent_team': 'BAL', 'output_pre_simulation_winner': 'TOR', 'output_opponent_team': 'BAL', 'simulation_score_winner': 'TOR', 'final_score_winner': 'TOR', 'pre_simulation_winner': 'TOR', 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False}, 'hard_flip_suppressed': False, 'flip_authority': 'caps_confidence_and_shifts_runs_only', 'final_prediction_sync': {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0531, 'recent_form_edge_home_minus_away': -0.046, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'TOR', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0907, 'winner': 'TOR', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-21. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260921_TOR@BAL. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: TOR@BAL. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': True, 'sample_size': 5, 'sample_weight': 0.0577, 'home_net_margin': -12.0, 'absolute_net_margin': 12.0, 'home_average_margin': -2.4, 'home_run_delta': -0.0692, 'away_run_delta': 0.0692, 'evidence': [{'game_id': None, 'home_margin': -7.0}, {'game_id': None, 'home_margin': -4.0}, {'game_id': None, 'home_margin': 3.0}, {'game_id': None, 'home_margin': -2.0}, {'game_id': None, 'home_margin': -2.0}], 'adaptive_parameters': {'h2h.history_limit': 5, 'h2h.maximum_weight': 0.15, 'h2h.prior_games': 8.0, 'h2h.maximum_total_shift': 0.65}} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 4, 'away_runs': 4, 'probability': 0.023186104004576623}, {'home_runs': 3, 'away_runs': 4, 'probability': 0.02298110514110332}, {'home_runs': 4, 'away_runs': 3, 'probability': 0.022697040358130083}, {'home_runs': 3, 'away_runs': 3, 'probability': 0.022496365528210147}, {'home_runs': 4, 'away_runs': 5, 'probability': 0.020864985002180366}], 'home_distribution': {'0': 0.06758079961779818, '1': 0.10081263462945908, '2': 0.13200640802179392, '3': 0.15172721046087204, '4': 0.15308066607196977, '5': 0.13557063291692284, '6': 0.10538997812176808, '7': 0.07191531971756727, '8': 0.043075658691504974, '9': 0.022648051777738595, '10': 0.010452451996744916, '11': 0.00423441992559661, '12': 0.0015057680502635177}, 'away_distribution': {'0': 0.06499257178318453, '1': 0.09712410498284726, '2': 0.12785628589491918, '3': 0.1482684975218179, '4': 0.15146330754581278, '5': 0.1363005893400728, '6': 0.10804875782668034, '7': 0.07545248899948677, '8': 0.046415080765177, '9': 0.02515222432957516, '10': 0.012006749021345835, '11': 0.0050490098150539195, '12': 0.001870332174026513}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.15, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.0513, 'recent_quality_edge': 0.164, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.0907} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'final_simulation_score': {'away_runs': 5, 'home_runs': 4, 'score_text': 'TOR 5 - 4 BAL', 'winner': 'TOR'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': -0.0531, 'recent_form_edge_home_minus_away': -0.046, 'winner_direction': 'away', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 5, 'home_runs': 4, 'winner': 'TOR', 'model_winner': 'TOR', 'simulation_winner': 'TOR', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 5, 'published_winner': 'TOR', 'published_winner_draw_share': 0.4, 'draw_majority_team': 'BAL', 'published_winner_is_draw_majority': False, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 5, 'home_runs': 4}, 'simulation_score': {'away_runs': 5, 'home_runs': 4}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': -0.0907, 'winner': 'TOR', 'score_reviewed': {'away_runs': 5, 'home_runs': 4, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 128. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 157. | |||||
| 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: 157. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_PITCHER_MATCH | TOR pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | TOR | PITCH_COUNT_TOTAL_MATCH | TOR pitch_count_summary total, row sum, and pitching total all match: 128. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 8 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | BAL | PITCHING_REALISM | current:BAL pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | BAL | STARTER_PRESENT | current:BAL includes a starter/opener role. | |||
| PASS | pitching | current | TOR | PITCHING_REALISM | current:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | TOR | STARTER_PRESENT | current:TOR includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | TOR | PITCHING_REALISM | simulation:TOR pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | TOR | STARTER_PRESENT | simulation:TOR includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | TOR | PITCHING_TOTALS_SUM | current:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | current | TOR | PITCHING_TOTALS_SUM | current:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | pitching_totals | simulation | 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 | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching IP total matches pitcher sum: 9.0. | |||
| PASS | pitching_totals | simulation | TOR | PITCHING_TOTALS_SUM | simulation:TOR pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: TOR 5 - 4 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: TOR 5 - 4 BAL. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: TOR wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=TOR, simulation=TOR, published=TOR. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.505. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 4/10 (0.400). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 5/10 (0.500). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): TOR wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: TOR wins 5-4. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 5-4. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 5-4, final 5-4 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: TOR wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | BAL | RECENT_FORM_RANGE | BAL recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | BAL | TEAM_RECENT_RECORD | BAL wins and win_pct agree: 5/10 = 0.500. | |||
| PASS | team_recent_performance | current | TOR | RECENT_FORM_RANGE | TOR recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | TOR | TEAM_RECENT_RECORD | TOR wins and win_pct agree: 4/10 = 0.400. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | 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 | TOR | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=5; HR: current=1, sim=2; BB: current=4, sim=2; SO: current=10, sim=6). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | BAL | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: RBI current=1 box=2, SO current=1 box=0; Dylan Beavers: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Christian Encarnacion-Strand: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gunnar Henderson: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=3; Pete Alonso: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; José Barrero: AB current=3 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Rece Hinds: AB current=3 box=4, SO current=2 box=0; Colton Cowser: H current=0 box=1, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=9; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | TOR | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Alejandro Kirk: AB current=4 box=5, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Sean Keys: AB current=3 box=4, RBI current=1 box=0, SO current=1 box=2; George Springer: 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Josh Smith: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Brett Bateman: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Nathan Lukes: H current=1 box=2, SO current=1 box=0; Kazuma Okamoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrés Giménez: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | score_reconciliation | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Score evolution
| step | away_runs | home_runs | confidence | description |
|---|---|---|---|---|
| historical_ml | 4.296935863474703 | 4.058951650230981 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 5 | 4 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5 | 4 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 5 | 4 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 5 | 4 | Capped at max 12 realistic runs | |
| simulation_result | 5 | 4 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 1 | 5 | 9 |
| BAL | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 4 | 5 |
Team totals - current + final simulation
| src | team | type | PA | AB | H | 2B | 3B | HR | RBI | R | BB | SO | SF | HBP | SB | CS | IP | ER | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | TOR | pitching | 5 | 2 | 4 | 2 | 6 | 9.0 | 4 | 0 | 0 | |||||||||
| current | BAL | batting | 33 | 7 | 1 | 0 | 1 | 4 | 4 | 4 | 10 | 0 | 0 | 0 | 0 | |||||
| current | BAL | pitching | 9 | 2 | 5 | 2 | 7 | 9.0 | 5 | 0 | 0 | |||||||||
| simulation | TOR | batting | 36 | 9 | 1 | 0 | 2 | 5 | 5 | 2 | 7 | 0 | 0 | |||||||
| simulation | TOR | pitching | 5 | 2 | 4 | 2 | 6 | 9.0 | 4 | 34 | 128 | |||||||||
| simulation | BAL | batting | 32 | 5 | 1 | 0 | 2 | 4 | 4 | 2 | 6 | 0 | 0 | |||||||
| simulation | BAL | pitching | 9 | 2 | 5 | 2 | 7 | 9.0 | 5 | 38 | 157 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | C | Alejandro Kirk | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0.250 | |
| current | TOR | 1B | Sean Keys | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TOR | DH | George Springer | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | TOR | LF | Josh Smith | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | TOR | CF | Brett Bateman | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | TOR | RF | Nathan Lukes | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | TOR | 3B | Kazuma Okamoto | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | TOR | SS | Andrés Giménez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.333 | |
| current | TOR | 2B | Ernie Clement | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.333 | |
| current | BAL | DH | Coby Mayo | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | LF | Dylan Beavers | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BAL | 3B | Christian Encarnacion-Strand | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | BAL | SS | Gunnar Henderson | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | BAL | 1B | Pete Alonso | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | BAL | 2B | José Barrero | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | BAL | RF | Rece Hinds | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 | |
| current | BAL | C | Samuel Basallo | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | BAL | CF | Colton Cowser | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 | |
| simulation | TOR | 1 | CF | Brett Bateman | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.200 |
| simulation | TOR | 2 | C | Alejandro Kirk | 5 | 5 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.200 |
| simulation | TOR | 3 | RF | Nathan Lukes | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | TOR | 4 | DH | George Springer | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | TOR | 5 | 1B | Sean Keys | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.250 |
| simulation | TOR | 6 | 3B | Kazuma Okamoto | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | TOR | 7 | LF | Josh Smith | 4 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.333 |
| simulation | TOR | 8 | SS | Andrés Giménez | 4 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.667 |
| simulation | TOR | 9 | 2B | Ernie Clement | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | BAL | 1 | LF | Dylan Beavers | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | BAL | 2 | 1B | Pete Alonso | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.000 |
| simulation | BAL | 3 | SS | Gunnar Henderson | 4 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 3 | 0 | 0.250 |
| simulation | BAL | 4 | DH | Coby Mayo | 4 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0.250 |
| simulation | BAL | 5 | 3B | Christian Encarnacion-Strand | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | BAL | 6 | C | Samuel Basallo | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | BAL | 7 | RF | Rece Hinds | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | BAL | 8 | CF | Colton Cowser | 3 | 3 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0.333 |
| simulation | BAL | 9 | 2B | José Barrero | 3 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.500 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | TOR | 1 | Trey Yesavage | Starter | 5.0 | 4 | 3 | 3 | 1 | 4 | 1 | 0 | 0 | 5.40 | 3.65 | 1.14 |
| current | TOR | 2 | Spencer Miles | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.57 | 1.08 |
| current | TOR | 3 | Louis Varland | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 6.75 | 1.29 | 1.01 |
| current | TOR | 4 | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 1.68 | 1.15 |
| current | BAL | 1 | Shane Baz | Starter | 5.2 | 7 | 4 | 4 | 2 | 4 | 1 | 0 | 0 | 6.35 | 4.11 | 1.35 |
| current | BAL | 2 | Andrew Kittredge | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 3.61 | 1.37 |
| current | BAL | 3 | Rico Garcia | Setup Man | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.63 | 0.94 |
| current | BAL | 5 | Yennier Cano | Middle Reliever (High Leverage) | 0.2 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 13.50 | 2.25 | 0.92 |
| simulation | TOR | 1 | Trey Yesavage | Starter | 5.0 | 4 | 3 | 3 | 1 | 4 | 1 | 20 | 79 | 5.40 | 3.65 | 1.14 |
| simulation | TOR | 2 | Louis Varland | Closer | 1.1 | 1 | 1 | 1 | 0 | 0 | 1 | 5 | 20 | 6.75 | 1.29 | 1.01 |
| simulation | TOR | 3 | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 0 | 1 | 1 | 0 | 4 | 17 | 0.00 | 1.68 | 1.15 |
| simulation | TOR | 4 | Spencer Miles | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 12 | 0.00 | 2.57 | 1.08 |
| simulation | BAL | 1 | Shane Baz | Starter | 5.2 | 7 | 4 | 4 | 2 | 4 | 1 | 26 | 109 | 6.35 | 4.11 | 1.35 |
| simulation | BAL | 2 | Andrew Kittredge | Closer | 1.0 | 1 | 0 | 0 | 0 | 1 | 0 | 4 | 16 | 0.00 | 3.61 | 1.37 |
| simulation | BAL | 3 | Rico Garcia | Setup Man | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 21 | 0.00 | 2.63 | 0.94 |
| simulation | BAL | 4 | Yennier Cano | Middle Reliever (High Leverage) | 0.2 | 1 | 1 | 1 | 0 | 1 | 1 | 3 | 11 | 13.50 | 2.25 | 0.92 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Trey Yesavage | Starter | 5.0 | 3 | 4 | 1 | 4 | 20 | 79 |
| TOR | Spencer Miles | Middle Reliever (High Leverage) | 1.2 | 0 | 0 | 0 | 1 | 5 | 12 |
| TOR | Louis Varland | Closer | 1.1 | 1 | 1 | 0 | 0 | 5 | 20 |
| TOR | Tyler Rogers | Setup Man | 1.0 | 0 | 0 | 1 | 1 | 4 | 17 |
| BAL | Shane Baz | Starter | 5.2 | 4 | 7 | 2 | 4 | 26 | 109 |
| BAL | Andrew Kittredge | Closer | 1.0 | 0 | 1 | 0 | 1 | 4 | 16 |
| BAL | Rico Garcia | Setup Man | 1.2 | 0 | 0 | 0 | 1 | 5 | 21 |
| BAL | Yennier Cano | Middle Reliever (High Leverage) | 0.2 | 1 | 1 | 0 | 1 | 3 | 11 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | good | 0 | 0 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |
20260921_WAS@DET
20260921_WAS@DET.json • 2026-09-21
WAS 4 - DET 5
ERRORFinal simulation is close, but errors remain. Risk score: 80.
CRITICAL 0ERROR 2WARN 0PASS 101INFO 7
Action summary - what to fix first
| Level | Problem group / fix | Count | Teams | Example |
|---|---|---|---|---|
| ERROR | Pitching Review the listed finding and decide whether to fix the data or downgrade the rule. | 0C / 2E / 0W | DET | current:DET has implausible starter workload/result line(s): River Ryan: 0.2 IP starter outing simulation:DET has implausible starter workload/result line(s): River Ryan: 0.2 IP starter outing |
Problems table - exact rows
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| ERROR | pitching | current | DET | PITCHING_REALISM | current:DET has implausible starter workload/result line(s): River Ryan: 0.2 IP starter outing | |||
| ERROR | pitching | simulation | DET | PITCHING_REALISM | simulation:DET has implausible starter workload/result line(s): River Ryan: 0.2 IP starter outing |
All findings - complete audit trail
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| ERROR | pitching | current | DET | PITCHING_REALISM | current:DET has implausible starter workload/result line(s): River Ryan: 0.2 IP starter outing | |||
| ERROR | pitching | simulation | DET | PITCHING_REALISM | simulation:DET has implausible starter workload/result line(s): River Ryan: 0.2 IP starter outing | |||
| 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 | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=8, sim=9; RBI: current=4, sim=5; SO: current=8, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Gleyber Torres: H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Max Clark: AB current=4 box=5, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Spencer Torkelson: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Dillon Dingler: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Hao-Yu Lee: H current=1 box=3, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Riley Greene: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Colt Keith: AB current=3 box=4, SO current=1 box=2; Brett Callahan: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; 2B: current=1, sim=2; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=7, sim=9; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Jacob Young: AB current=3 box=4, H current=1 box=2, BB current=0 box=1; CJ Abrams: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Nasim Nuñez: R current=0 box=1, HBP current=0 box=1; Abimelec Ortiz: H current=1 box=2, 2B current=0 box=2, RBI current=0 box=4, R current=0 box=1; Brady House: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Keibert Ruiz: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Dylan Crews: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Daylen Lile: 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 | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS 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 | WAS | BATTING_TOTALS_SUM | current:WAS 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 | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match WAS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match WAS pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=38 matches WAS BF=38. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match DET pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match DET pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match DET pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=40 matches DET BF=40. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.615 -> 0.593 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.614863, 'sample_size': 632, 'empirical_hit_rate': 0.5712, 'empirical_weight': 0.5, 'blended_confidence': 0.593031, 'published_confidence': 0.535809, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS 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 | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | 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.464. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.536. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.536. | |||||
| 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.473/0.657. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: WAS 8, DET 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 4 - DET 5. | |||||
| 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.5358090975, 'h2h_net_margin': 0, 'prediction_memory': {'available': False, 'reason': 'no_verified_prior_matchup_predictions', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 0, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': []}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-21. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260921_WAS@DET. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@DET. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': False, 'sample_size': 0, 'home_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': 0.0, 'evidence': []} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 4, 'probability': 0.017778142753951297}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.017492179378915416}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.017343436766762553}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.017064465685183036}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.016486560091907392}], 'home_distribution': {'0': 0.03438032775754816, '1': 0.0534886425455253, '2': 0.07593016331054381, '3': 0.098348623408862, '4': 0.11623138981615555, '5': 0.12533713698445068, '6': 0.12332107539660893, '7': 0.11071234005962208, '8': 0.09068927942400415, '9': 0.06778241935131715, '10': 0.046225261289494175, '11': 0.028763575935247233, '12': 0.01633080427210783, '13': 0.008460060408091842, '14': 0.003998900040421264}, 'away_distribution': {'0': 0.05013488082535613, '1': 0.07713604660213688, '2': 0.10590284121591835, '3': 0.12974501858338477, '4': 0.14184257899681285, '5': 0.13837428541960536, '6': 0.12045837740860073, '7': 0.09357319796426258, '8': 0.0648632613196429, '9': 0.04012166392462314, '10': 0.022145828684952296, '11': 0.010907815458949659, '12': 0.004794203595754079}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.359, 'recent_quality_edge': 0.14, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.2823} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'WAS 4 - 5 DET', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'WAS 4 - 5 DET', 'winner': 'DET'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0, 'recent_form_edge_home_minus_away': 0.14, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'DET', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'DET', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.2823, 'winner': 'DET', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 166. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 170. | |||||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 170. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 166. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS 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 | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 4 - 5 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 4 - 5 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=DET, simulation=DET, published=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.536. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): DET wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: DET wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | 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 | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 6/10 = 0.600. |
Passed checks
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| PASS | batting | current | DET | BATTING_REALISM | current:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | current | WAS | BATTING_REALISM | current:WAS hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | DET | BATTING_REALISM | simulation:DET hitter lines pass basic baseball constraints. | |||
| PASS | batting | simulation | WAS | BATTING_REALISM | simulation:WAS 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 | WAS | BATTING_TOTALS_SUM | current:WAS 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 | WAS | BATTING_TOTALS_SUM | simulation:WAS batting totals equal summed player lines. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_BB_MATCH | simulation:DET batting walks match WAS pitching: 3. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_HR_MATCH | simulation:DET batting home runs match WAS pitching: 1. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_H_MATCH | simulation:DET batting hits match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | BAT_PITCH_SO_MATCH | simulation:DET batting strikeouts match WAS pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | DET | PA_BF_MATCH | simulation:DET PA=38 matches WAS BF=38. | |||
| PASS | boxscore_crosscheck | simulation | DET | RUNS_MATCH_FINAL | simulation:DET runs match final score and opposing pitching runs: 5. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_BB_MATCH | simulation:WAS batting walks match DET pitching: 4. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_HR_MATCH | simulation:WAS batting home runs match DET pitching: 0. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_H_MATCH | simulation:WAS batting hits match DET pitching: 8. | |||
| PASS | boxscore_crosscheck | simulation | WAS | BAT_PITCH_SO_MATCH | simulation:WAS batting strikeouts match DET pitching: 9. | |||
| PASS | boxscore_crosscheck | simulation | WAS | PA_BF_MATCH | simulation:WAS PA=40 matches DET BF=40. | |||
| PASS | boxscore_crosscheck | simulation | WAS | RUNS_MATCH_FINAL | simulation:WAS runs match final score and opposing pitching runs: 4. | |||
| PASS | confidence_calibration | CONFIDENCE_CALIBRATION_APPLIED | Empirical confidence blend verified: 0.615 -> 0.593 at weight 0.500. | {'method': 'empirical_hit_rate_weighted_v1', 'applied': True, 'reason': 'raw confidence blended with verified historical bucket hit rate', 'raw_confidence': 0.614863, 'sample_size': 632, 'empirical_hit_rate': 0.5712, 'empirical_weight': 0.5, 'blended_confidence': 0.593031, 'published_confidence': 0.535809, 'published_after_governors': True, 'governor_mode': 'shrinkage_not_clamp'} | ||||
| 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 | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS 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 | WAS | CURRENT_LINEUP_SHAPE | WAS current lineup has 9 expected positions. | |||
| PASS | current_payload | current | WAS | CURRENT_MODEL_ZERO_FALLBACK | WAS current model fallback usage is limited: 0/9 hitters. | |||
| PASS | current_payload | current | WAS | CURRENT_NAMES_PRESENT | WAS current hitter names are populated. | |||
| PASS | current_payload | current | WAS | CURRENT_PREDICTIONS_MATCH_FINALIZED | WAS hitter predictions mirror finalized stats. | |||
| PASS | data_leakage | H2H_DATA_LEAKAGE | 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.464. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | confidence is in [0,1]: 0.536. | |||||
| PASS | enhanced_prediction | CONFIDENCE_RANGE | home_win_probability is in [0,1]: 0.536. | |||||
| 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.473/0.657. | |||||
| PASS | final_decision | FINAL_DECISION_POLICY | Final decision policy preserved model ownership of the winner. | |||||
| PASS | innings | INNINGS_COUNT | inning_by_inning_summary contains 9 innings. | |||||
| PASS | innings | INNING_PLAY_SUMS | Detailed play totals match every half-inning line. | |||||
| PASS | innings | INNING_SEQUENCE | Inning numbers are sequential. | |||||
| PASS | innings | INNING_TOTAL_HITS | Inning hits match batting totals: WAS 8, DET 9. | |||||
| PASS | innings | INNING_TOTAL_RUNS | Inning runs sum to final score: WAS 4 - DET 5. | |||||
| 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.5358090975, 'h2h_net_margin': 0, 'prediction_memory': {'available': False, 'reason': 'no_verified_prior_matchup_predictions', 'verification_policy': 'pregame_artifact_matched_to_one_official_final', 'verified_outcome_count': 0, 'consecutive_same_pick_count': 0, 'same_pick_actual_loss_count': 0, 'same_pick_blowout_loss_count': 0, 'prior_predictions': []}} | ||||
| PASS | metadata | DATE_PARSE | Date is valid ISO format: 2026-09-21. | |||||
| PASS | metadata | FILENAME_GAME_ID_MATCH | Filename matches game_id: 20260921_WAS@DET. | |||||
| PASS | metadata | FILENAME_TEAM_MATCH | Filename teams match JSON teams: WAS@DET. | |||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | H2H base feature is implemented and its runtime trace passed. | {'method': 'h2h_net_margin_monotonic_v1', 'available': False, 'sample_size': 0, 'home_net_margin': 0.0, 'home_average_margin': 0.0, 'home_run_delta': 0.0, 'away_run_delta': 0.0, 'evidence': []} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Score distribution widening is implemented and its runtime trace passed. | {'most_likely': [{'home_runs': 5, 'away_runs': 4, 'probability': 0.017778142753951297}, {'home_runs': 6, 'away_runs': 4, 'probability': 0.017492179378915416}, {'home_runs': 5, 'away_runs': 5, 'probability': 0.017343436766762553}, {'home_runs': 6, 'away_runs': 5, 'probability': 0.017064465685183036}, {'home_runs': 4, 'away_runs': 4, 'probability': 0.016486560091907392}], 'home_distribution': {'0': 0.03438032775754816, '1': 0.0534886425455253, '2': 0.07593016331054381, '3': 0.098348623408862, '4': 0.11623138981615555, '5': 0.12533713698445068, '6': 0.12332107539660893, '7': 0.11071234005962208, '8': 0.09068927942400415, '9': 0.06778241935131715, '10': 0.046225261289494175, '11': 0.028763575935247233, '12': 0.01633080427210783, '13': 0.008460060408091842, '14': 0.003998900040421264}, 'away_distribution': {'0': 0.05013488082535613, '1': 0.07713604660213688, '2': 0.10590284121591835, '3': 0.12974501858338477, '4': 0.14184257899681285, '5': 0.13837428541960536, '6': 0.12045837740860073, '7': 0.09357319796426258, '8': 0.0648632613196429, '9': 0.04012166392462314, '10': 0.022145828684952296, '11': 0.010907815458949659, '12': 0.004794203595754079}, 'model': 'overdispersed_score_distribution', 'variance_multiplier': 2.05, 'variance_floor': 2.75, 'roadmap_status': 'implemented_above_requested_1.4x'} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Season/recent-form quality blend is implemented and its runtime trace passed. | {'method': 'season_recent_quality_blend_v2_adaptive', 'recent_window': 10, 'season_quality_edge': 0.359, 'recent_quality_edge': 0.14, 'season_weight': 0.65, 'recent_weight': 0.35, 'recent_reliability': 1.0, 'alignment': 'aligned', 'blended_quality_edge': 0.2823} | ||||
| PASS | optimization_roadmap | OPTIMIZATION_ROADMAP_STATUS | Simulation flip control is implemented and its runtime trace passed. | {'pre_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'WAS 4 - 5 DET', 'winner': 'DET'}, 'final_simulation_score': {'away_runs': 4, 'home_runs': 5, 'score_text': 'WAS 4 - 5 DET', 'winner': 'DET'}, 'winner_flipped_by_simulation': False, 'simulation_would_flip_winner': False, 'sim_flipped_pre_winner': False, 'sim_flip_trusted': False, 'sim_flip_policy': 'diagnostic_only_unless_independently_supported', 'independent_margin_support': False, 'independent_margin_support_evidence': {'pitcher_matchup_edge_home_minus_away': 0.0, 'recent_form_edge_home_minus_away': 0.14, 'winner_direction': 'home', 'thresholds': {'pitcher_matchup': 0.35, 'recent_form': 0.75}}, 'margin_widening_capped': False, 'simulation_winner_agrees': True, 'away_run_delta': 0, 'home_run_delta': 0, 'total_run_delta': 0, 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_usage': 'organic_simulation_realized_target', 'final_prediction_source': 'stable_final_prediction_policy', 'final_decision_policy': {'policy_version': 'model_target_authoritative_simulation_realizes_v3', 'away_runs': 4, 'home_runs': 5, 'winner': 'DET', 'model_winner': 'DET', 'simulation_winner': 'DET', 'simulation_winner_agrees': True, 'simulation_agreement_scope': 'selected_draw_only', 'simulation_distribution_agreement': {'available': True, 'draw_count': 2, 'published_winner': 'DET', 'published_winner_draw_share': 1.0, 'draw_majority_team': 'DET', 'published_winner_is_draw_majority': True, 'sampling': 'target_conditioned_selection', 'is_unbiased_probability_sample': False, 'note': 'Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed.'}, 'simulation_score_enabled': True, 'independent_margin_support': False, 'margin_widening_capped': False, 'model_margin': 1, 'simulation_margin': 1, 'simulation_usage': 'organic_simulation_realized_target', 'score_source': 'enhanced_prediction.pre_simulation_target', 'simulation_realized_target': True, 'model_score': {'away_runs': 4, 'home_runs': 5}, 'simulation_score': {'away_runs': 4, 'home_runs': 5}}, 'final_margin_quality_review': {'review_required': False, 'pre_margin': 1, 'final_margin': 1, 'winner_quality_edge': 0.2823, 'winner': 'DET', 'score_reviewed': {'away_runs': 4, 'home_runs': 5, 'source': 'enhanced_prediction.pre_simulation_target'}, 'reason': 'published margin is directionally supported or within review threshold'}} | ||||
| PASS | pipeline | PIPELINE_VERSION | Prediction pipeline version is current: enhanced_game_prediction_v4_continuous_learning__player_form_v3_5_10_season. | |||||
| PASS | pitch_by_pitch | PITCH_DETAIL_SANITY | Pitch-by-pitch speeds and zones are within sanity ranges. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | away pitcher pitch-by-pitch count matches pitch_count_summary total: 166. | |||||
| PASS | pitch_count | PITCH_COUNT_TOTAL_MATCH | home pitcher pitch-by-pitch count matches pitch_count_summary total: 170. | |||||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_PITCHER_MATCH | DET pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | DET | PITCH_COUNT_TOTAL_MATCH | DET pitch_count_summary total, row sum, and pitching total all match: 170. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_PITCHER_MATCH | WAS pitch_count_summary pitcher rows match pitching box score. | |||
| PASS | pitch_count | simulation | WAS | PITCH_COUNT_TOTAL_MATCH | WAS pitch_count_summary total, row sum, and pitching total all match: 166. | |||
| PASS | pitcher_opponent_strength | PITCHER_OPPONENT_STRENGTH_BOUNDS | Pitcher-opponent adjustment stayed inside supported bounds. | |||||
| PASS | pitching | PITCHER_APPEARANCE_COHERENT | All 9 pitchers in the box actually appeared. | |||||
| PASS | pitching | current | 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 | WAS | PITCHING_REALISM | current:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | current | WAS | STARTER_PRESENT | current:WAS includes a starter/opener role. | |||
| PASS | pitching | simulation | 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 | WAS | PITCHING_REALISM | simulation:WAS pitcher lines pass basic baseball constraints. | |||
| PASS | pitching | simulation | WAS | STARTER_PRESENT | simulation:WAS includes a starter/opener role. | |||
| PASS | pitching_totals | current | 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 | WAS | PITCHING_TOTALS_SUM | current:WAS pitching IP total matches pitcher sum: 8.0. | |||
| PASS | pitching_totals | current | WAS | PITCHING_TOTALS_SUM | current:WAS 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 | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching IP total matches pitcher sum: 8.2. | |||
| PASS | pitching_totals | simulation | WAS | PITCHING_TOTALS_SUM | simulation:WAS pitching totals equal summed pitcher lines for available fields. | |||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Enhanced AI score matches enhanced target: WAS 4 - 5 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation score matches final score: WAS 4 - 5 DET. | |||||
| PASS | prediction_comparison | PREDICTION_COMPARISON_MATCH | Inning simulation winner matches final score: DET wins 5-4. | |||||
| PASS | prediction_comparison | SIMULATION_WINNER_FLIP_TRACE | Simulation decision is explicit: model=DET, simulation=DET, published=DET. | |||||
| PASS | probability | CONFIDENCE_RANGE | Enhanced target confidence is in range: 0.536. | |||||
| PASS | recent_form | RECENT_FORM_RANGE | away recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | recent_form | RECENT_FORM_RANGE | home recent_form record is coherent: 6/10 (0.600). | |||||
| PASS | report | REPORT_COMPLETE | All findings, passes, warnings, errors, and critical issues are rendered in the single HTML report. | |||||
| PASS | schema | SCHEMA_ROOTS_PRESENT | Both major schemas are present: game, scoring_simulation, game_summary, prediction_comparison. | |||||
| PASS | score | GAME_SUMMARY_MATCH | game_summary agrees with the published score (game.final_prediction): DET wins 5-4. | |||||
| PASS | score | SCORE_NO_TIE | Final score has a clear winner: DET wins 4-5. | |||||
| PASS | score | SCORE_STEP_FINAL_MATCH | simulation_result step matches final score: 4-5. | |||||
| PASS | score | SCORE_STEP_ORDER | Score evolution contains the expected ordered steps. | |||||
| PASS | score | TARGET_SCORE_DRIFT | Final score is close to enhanced target: target 4-5, final 4-5 (delta 0). | |||||
| PASS | score | TOTAL_RUNS_MATCH | total_runs field matches final score total: 9. | |||||
| PASS | score | WINNER_FIELD_MATCH | winner field is consistent: DET wins 5-4. | |||||
| PASS | score | cross-schema | CURRENT_SCORE_MATCHES_SIM | game.predicted_runs matches scoring_simulation.final_score. | ||||
| PASS | team_recent_performance | current | 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 | WAS | RECENT_FORM_RANGE | WAS recent hitting/pitching rates are in valid ranges. | |||
| PASS | team_recent_performance | current | WAS | TEAM_RECENT_RECORD | WAS wins and win_pct agree: 6/10 = 0.600. |
Info/context findings
| Severity | Category | Source | Team | Player | Rule | Message | Value | Expected |
|---|---|---|---|---|---|---|---|---|
| INFO | current_payload | current | 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 | WAS | CURRENT_PITCHER_DUPLICATION | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | |||
| INFO | current_vs_final | cross-schema | DET | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=8, sim=9; RBI: current=4, sim=5; SO: current=8, sim=9). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | DET | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Gleyber Torres: H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Max Clark: AB current=4 box=5, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Spencer Torkelson: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Dillon Dingler: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Hao-Yu Lee: H current=1 box=3, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Riley Greene: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Colt Keith: AB current=3 box=4, SO current=1 box=2; Brett Callahan: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1 | New contract: compare model predictions separately; simulation_box_score_stats/scoring_simulation hold the simulation draw. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; 2B: current=1, sim=2; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=7, sim=9; HBP: current=0, sim=1). | New contract: model prediction totals may differ from scoring_simulation; simulation_stats_source links the simulation box score. | ||
| INFO | current_vs_final | cross-schema | WAS | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Jacob Young: AB current=3 box=4, H current=1 box=2, BB current=0 box=1; CJ Abrams: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Nasim Nuñez: R current=0 box=1, HBP current=0 box=1; Abimelec Ortiz: H current=1 box=2, 2B current=0 box=2, RBI current=0 box=4, R current=0 box=1; Brady House: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Keibert Ruiz: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Dylan Crews: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Daylen Lile: 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.27489751998788 | 4.493403197770399 | Base ML historical model prediction | |
| variance_applied | 4 | 4 | Deterministic baseline target (variance factor 1.0) | |
| enhanced_prediction | 4 | 5 | 0.536 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_has_no_reliable_baseline, projected_margin_is_one_run) |
| embedded_savant_run_environment | 4 | 5 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality | |
| fundamental_edge_target_review | 4 | 5 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments | |
| capped_target | 4 | 5 | Capped at max 12 realistic runs | |
| simulation_result | 4 | 5 | Final inning-by-inning simulation result |
Inning-by-inning linescore
| team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H |
|---|---|---|---|---|---|---|---|---|---|---|---|
| WAS | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0 | 4 | 8 |
| DET | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 5 | 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 | WAS | batting | 32 | 8 | 1 | 0 | 1 | 4 | 4 | 3 | 7 | 0 | 0 | 0 | 0 | |||||
| current | WAS | pitching | 9 | 1 | 5 | 3 | 9 | 8.0 | 5 | 0 | 0 | |||||||||
| current | DET | batting | 33 | 8 | 1 | 0 | 1 | 4 | 5 | 3 | 8 | 0 | 0 | 0 | 0 | |||||
| current | DET | pitching | 8 | 0 | 4 | 4 | 9 | 9.0 | 4 | 0 | 0 | |||||||||
| simulation | WAS | batting | 35 | 8 | 2 | 0 | 0 | 4 | 4 | 4 | 9 | 0 | 1 | |||||||
| simulation | WAS | pitching | 9 | 1 | 5 | 3 | 9 | 8.2 | 5 | 38 | 166 | |||||||||
| simulation | DET | batting | 35 | 9 | 1 | 0 | 1 | 5 | 5 | 3 | 9 | 0 | 0 | |||||||
| simulation | DET | pitching | 8 | 0 | 4 | 4 | 9 | 9.0 | 4 | 40 | 170 |
Batting lines - current + final simulation
| src | team | order | pos | name | PA | AB | H | 2B | 3B | HR | R | RBI | BB | SO | HBP | AVG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | DH | Jacob Young | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.333 | |
| current | WAS | C | CJ Abrams | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | WAS | 1B | Nasim Nuñez | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.333 | |
| current | WAS | 2B | Abimelec Ortiz | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 | |
| current | WAS | 3B | Brady House | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | WAS | SS | Keibert Ruiz | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.250 | |
| current | WAS | LF | Dylan Crews | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | WAS | CF | Daylen Lile | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.333 | |
| current | WAS | RF | Jorbit Vivas | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.000 | |
| current | DET | DH | Kevin McGonigle | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 | |
| current | DET | C | Gleyber Torres | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.250 | |
| current | DET | 1B | Max Clark | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0.250 | |
| current | DET | 2B | Spencer Torkelson | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| current | DET | 3B | Dillon Dingler | 0 | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | SS | Hao-Yu Lee | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0.250 | |
| current | DET | LF | Riley Greene | 0 | 4 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0.250 | |
| current | DET | CF | Colt Keith | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 | |
| current | DET | RF | Brett Callahan | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.333 | |
| simulation | WAS | 1 | CF | Jacob Young | 5 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0.500 |
| simulation | WAS | 2 | SS | CJ Abrams | 5 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.200 |
| simulation | WAS | 3 | 2B | Nasim Nuñez | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0.333 |
| simulation | WAS | 4 | 1B | Abimelec Ortiz | 5 | 4 | 2 | 2 | 0 | 0 | 1 | 4 | 1 | 1 | 0 | 0.500 |
| simulation | WAS | 5 | C | Keibert Ruiz | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | WAS | 6 | 3B | Brady House | 4 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0.333 |
| simulation | WAS | 7 | RF | Dylan Crews | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | WAS | 8 | LF | Daylen Lile | 4 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.250 |
| simulation | WAS | 9 | 3B | Jorbit Vivas | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.000 |
| simulation | DET | 1 | CF | Max Clark | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
| simulation | DET | 2 | SS | Kevin McGonigle | 5 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0.250 |
| simulation | DET | 3 | 2B | Gleyber Torres | 4 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.500 |
| simulation | DET | 4 | 1B | Spencer Torkelson | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 |
| simulation | DET | 5 | C | Dillon Dingler | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.000 |
| simulation | DET | 6 | 2B | Hao-Yu Lee | 4 | 4 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.750 |
| simulation | DET | 7 | LF | Brett Callahan | 4 | 4 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0.500 |
| simulation | DET | 8 | LF | Riley Greene | 4 | 3 | 1 | 0 | 0 | 1 | 1 | 3 | 1 | 2 | 0 | 0.333 |
| simulation | DET | 9 | 3B | Colt Keith | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.000 |
Pitching lines - current + final simulation
| src | team | order | name | role | IP | H | R | ER | BB | SO | HR | BF | Pitches | sim_ERA | season_ERA | season_WHIP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| current | WAS | 1 | DJ Herz | Starter | 2.1 | 4 | 1 | 1 | 0 | 7 | 0 | 0 | 0 | 3.86 | ||
| current | WAS | 2 | Erik Tolman | Closer | 3.1 | 3 | 4 | 4 | 2 | 1 | 1 | 0 | 0 | 10.80 | 3.09 | 1.37 |
| current | WAS | 3 | Brad Lord | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 3.94 | 1.24 |
| current | WAS | 6 | Luis Perales | Middle Reliever (High Leverage) | 1.0 | 2 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0.00 | 9.00 | 2.33 |
| current | DET | 1 | River Ryan | Starter | 0.2 | 5 | 1 | 1 | 2 | 2 | 0 | 0 | 0 | 13.50 | ||
| current | DET | 2 | Jacob Waguespack | Middle Reliever (High Leverage) | 3.2 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 0.00 | 2.47 | 0.89 |
| current | DET | 3 | Drew Sommers | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0.00 | 2.61 | 1.08 |
| current | DET | 4 | Kenley Jansen | Closer | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0.00 | 2.93 | 1.05 |
| current | DET | 5 | Tyler Holton | Setup Man | 1.2 | 3 | 3 | 3 | 0 | 1 | 0 | 0 | 0 | 16.20 | 2.78 | 1.22 |
| simulation | WAS | 1 | DJ Herz | Starter | 2.1 | 4 | 1 | 1 | 0 | 7 | 0 | 11 | 53 | 3.86 | ||
| simulation | WAS | 2 | Erik Tolman | Closer | 3.1 | 3 | 4 | 4 | 2 | 1 | 1 | 17 | 71 | 10.80 | 3.09 | 1.37 |
| simulation | WAS | 3 | Brad Lord | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 19 | 0.00 | 3.94 | 1.24 |
| simulation | WAS | 4 | Luis Perales | Middle Reliever (High Leverage) | 1.2 | 2 | 0 | 0 | 1 | 1 | 0 | 6 | 23 | 0.00 | 9.00 | 2.33 |
| simulation | DET | 1 | River Ryan | Starter | 0.2 | 5 | 1 | 1 | 2 | 2 | 0 | 9 | 31 | 13.50 | ||
| simulation | DET | 2 | Kenley Jansen | Closer | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 5 | 26 | 0.00 | 2.93 | 1.05 |
| simulation | DET | 3 | Tyler Holton | Setup Man | 1.2 | 3 | 3 | 3 | 0 | 1 | 0 | 8 | 30 | 16.20 | 2.78 | 1.22 |
| simulation | DET | 4 | Drew Sommers | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 5 | 21 | 0.00 | 2.61 | 1.08 |
| simulation | DET | 5 | Jacob Waguespack | Middle Reliever (High Leverage) | 3.2 | 0 | 0 | 0 | 1 | 3 | 0 | 13 | 62 | 0.00 | 2.47 | 0.89 |
Pitch count summary
| team | pitcher | role | IP | R | H | BB | SO | BF | Pitches |
|---|---|---|---|---|---|---|---|---|---|
| WAS | DJ Herz | Starter | 2.1 | 1 | 4 | 0 | 7 | 11 | 53 |
| WAS | Erik Tolman | Closer | 3.1 | 4 | 3 | 2 | 1 | 17 | 71 |
| WAS | Brad Lord | Setup Man | 1.1 | 0 | 0 | 0 | 0 | 4 | 19 |
| WAS | Luis Perales | Middle Reliever (High Leverage) | 1.2 | 0 | 2 | 1 | 1 | 6 | 23 |
| DET | River Ryan | Starter | 0.2 | 1 | 5 | 2 | 2 | 9 | 31 |
| DET | Jacob Waguespack | Middle Reliever (High Leverage) | 3.2 | 0 | 0 | 1 | 3 | 13 | 62 |
| DET | Drew Sommers | Middle Reliever (High Leverage) | 1.1 | 0 | 0 | 1 | 2 | 5 | 21 |
| DET | Kenley Jansen | Closer | 1.2 | 0 | 0 | 0 | 1 | 5 | 26 |
| DET | Tyler Holton | Setup Man | 1.2 | 3 | 3 | 0 | 1 | 8 | 30 |
Audit rule catalog
| rule | status | critical | error | warning | pass | description |
|---|---|---|---|---|---|---|
| BATTING_REALISM | good | 0 | 0 | 0 | 4 | Player/team batting lines obey baseball constraints. |
| BATTING_TOTALS_SUM | good | 0 | 0 | 0 | 4 | Team batting totals equal the sum of player batting lines. |
| BAT_PITCH_BB_MATCH | good | 0 | 0 | 0 | 2 | Batting walks match opposing pitching walks allowed. |
| BAT_PITCH_HR_MATCH | good | 0 | 0 | 0 | 2 | Batting home runs match opposing pitching home runs allowed. |
| BAT_PITCH_H_MATCH | good | 0 | 0 | 0 | 2 | Batting hits match opposing pitching hits allowed. |
| BAT_PITCH_SO_MATCH | good | 0 | 0 | 0 | 2 | Batting strikeouts match opposing pitching strikeouts. |
| CONFIDENCE_CALIBRATION_APPLIED | good | 0 | 0 | 0 | 1 | Empirical confidence blending uses the requested sample weight and remains between raw confidence and empirical hit rate. |
| CONFIDENCE_RANGE | good | 0 | 0 | 0 | 5 | Confidence values are between 0 and 1. |
| CURRENT_FINALIZED_MATCH_BOX | info | 0 | 0 | 0 | 2 | Current finalized player totals agree with final simulation box score unless model/simulation sources are separated. |
| CURRENT_LINEUP_SHAPE | good | 0 | 0 | 0 | 2 | Current predicted_performance contains a plausible 9-player lineup. |
| CURRENT_MODEL_ZERO_FALLBACK | good | 0 | 0 | 0 | 2 | Current model payload did not rely too heavily on all-zero model predictions. |
| CURRENT_NAMES_PRESENT | good | 0 | 0 | 0 | 2 | Current predicted_performance has usable player names. |
| CURRENT_PITCHER_DUPLICATION | info | 0 | 0 | 0 | 0 | Pitcher lists duplicated across current sections are detected and reconciled. |
| CURRENT_PLAYER_MATCH_BOX | info | 0 | 0 | 0 | 0 | Current finalized hitter lines mirror the simulation box score unless model/simulation sources are separated. |
| CURRENT_PREDICTIONS_MATCH_FINALIZED | good | 0 | 0 | 0 | 2 | Current hitter predictions mirror finalized stats. |
| CURRENT_SCORE_MATCHES_SIM | good | 0 | 0 | 0 | 1 | game.predicted_runs is either synced to simulation or paired with game.simulation_runs. |
| DATE_PARSE | good | 0 | 0 | 0 | 1 | Game date can be parsed as an ISO date. |
| FILENAME_GAME_ID_MATCH | good | 0 | 0 | 0 | 1 | Filename and game_id identify the same game. |
| FILENAME_TEAM_MATCH | good | 0 | 0 | 0 | 1 | Filename teams match the teams inside the JSON. |
| FINAL_DECISION_POLICY | good | 0 | 0 | 0 | 1 | One organic simulation cannot replace a disagreeing model winner. |
| GAME_SUMMARY_MATCH | good | 0 | 0 | 0 | 1 | game_summary text agrees with final score. |
| GUARDRAIL_FINAL_WINNER_SYNC | good | 0 | 0 | 0 | 1 | Guardrail trace predicted_team matches the final predicted winner. |
| H2H_DATA_LEAKAGE | good | 0 | 0 | 0 | 1 | Head-to-head history does not include same-day or future games in pregame mode. |
| INNINGS_COUNT | good | 0 | 0 | 0 | 1 | Inning count is valid for MLB. |
| INNING_OUTS | not triggered | 0 | 0 | 0 | 0 | Each played half inning has valid outs. |
| INNING_PLAY_SUMS | good | 0 | 0 | 0 | 1 | Detailed plays agree with inning runs, hits, outs, and pitches. |
| INNING_SEQUENCE | good | 0 | 0 | 0 | 1 | Innings are sequential and unique. |
| INNING_TOTAL_HITS | good | 0 | 0 | 0 | 1 | Inning hits sum to batting team hits. |
| INNING_TOTAL_RUNS | good | 0 | 0 | 0 | 1 | Inning runs sum to final score. |
| LOW_SCORE_ANALYSIS | good | 0 | 0 | 0 | 3 | Low-score probability factors are valid and directionally consistent. |
| MATCHUP_RECENCY_GUARDRAIL | good | 0 | 0 | 0 | 1 | Repeat picks are capped when recent same-matchup results contradict high confidence. |
| OPTIMIZATION_ROADMAP_STATUS | good | 0 | 0 | 0 | 4 | H2H, score-distribution, simulation-flip, and recent-form roadmap signals are explicitly traced and satisfy their configured safeguards. |
| PA_BF_MATCH | good | 0 | 0 | 0 | 2 | Team plate appearances match opposing batters faced. |
| PIPELINE_VERSION | good | 0 | 0 | 0 | 1 | Prediction artifacts identify the stable pipeline version that created them. |
| PITCHER_APPEARANCE_COHERENT | good | 0 | 0 | 0 | 1 | Every pitcher in the box actually appeared: no 0-inning 0-batter line, and no pitch without a batter faced. |
| PITCHER_OPPONENT_STRENGTH_BOUNDS | good | 0 | 0 | 0 | 1 | Pitcher-opponent run factors and score deltas remain inside supported bounds. |
| PITCHING_REALISM | error | 0 | 2 | 0 | 4 | Pitcher/team pitching lines obey baseball constraints. |
| PITCHING_TOTALS_SUM | good | 0 | 0 | 0 | 8 | Team pitching totals equal the sum of pitcher lines. |
| PITCH_COUNT_PITCHER_MATCH | good | 0 | 0 | 0 | 2 | Pitch count summary pitcher rows agree with pitching box score. |
| PITCH_COUNT_TOTAL_MATCH | good | 0 | 0 | 0 | 4 | Pitch count summary totals match team pitching totals. |
| PITCH_DETAIL_SANITY | good | 0 | 0 | 0 | 1 | Pitch-by-pitch details have plausible values. |
| PREDICTION_COMPARISON_MATCH | good | 0 | 0 | 0 | 3 | prediction_comparison scores agree with target/final result. |
| RECENT_FORM_RANGE | good | 0 | 0 | 0 | 4 | Recent-form metrics are within valid numeric ranges. |
| RECONCILIATION_PROPAGATION | info | 0 | 0 | 0 | 0 | When score_target_reconciliation is used, all final-facing sections are regenerated from the reconciled score. |
| REPORT_COMPLETE | good | 0 | 0 | 0 | 1 | Report includes every audit result in the all-findings table. |
| REPORT_CSV_EXPORT | not triggered | 0 | 0 | 0 | 0 | Optional CSV exports were written for summary and problem rows. |
| RUNS_MATCH_FINAL | good | 0 | 0 | 0 | 2 | Batting/pitching runs agree with final score. |
| SCHEMA_ROOTS_PRESENT | good | 0 | 0 | 0 | 1 | Expected JSON root sections exist and can be audited. |
| SCORE_NO_TIE | good | 0 | 0 | 0 | 1 | Final MLB score has a clear winner. |
| SCORE_STEP_FINAL_MATCH | good | 0 | 0 | 0 | 1 | score_evolution simulation_result matches final score. |
| SCORE_STEP_ORDER | good | 0 | 0 | 0 | 1 | Score evolution contains the expected ordered steps. |
| SIMULATION_WINNER_FLIP_TRACE | good | 0 | 0 | 0 | 1 | Simulation winner reversals are explicitly recorded. |
| STARTER_PRESENT | good | 0 | 0 | 0 | 4 | Pitching staff includes a starter or opener when expected. |
| SYNTHETIC_SCORE_PLAYS | not triggered | 0 | 0 | 0 | 0 | Score reconciliation must not inject synthetic run or out plays. |
| TARGET_SCORE_DRIFT | good | 0 | 0 | 0 | 1 | Final score does not drift too far from enhanced target. |
| TEAM_RECENT_RECORD | good | 0 | 0 | 0 | 2 | team_recent_performance wins and win_pct agree with games_analyzed. |
| TOTAL_RUNS_MATCH | good | 0 | 0 | 0 | 1 | total_runs equals away + home runs. |
| WINNER_FIELD_MATCH | good | 0 | 0 | 0 | 1 | winner field agrees with the final score. |